1using System.Collections.Generic;
16 public List<PutbackInfo>
putBacks =
new List<PutbackInfo>();
65 InvOwner.Trader =
owner;
69 ELayer.
ui.OpenFloatInv(ignoreSound:
true);
82 for (
int j = 0; j <
buttons.Count; j++)
84 buttons[j].gameObject.AddComponent<CanvasGroup>();
93 buttons[j].SetActive(enable:
false);
99 InvokeRepeating(
"RefreshCost", 0f, 0.2f);
100 this.RebuildLayout(recursive:
true);
103 this.RebuildLayout(recursive:
true);
154 windows[0].SetInteractable(enable: false, 0f);
155 info.InitFuel(owner.owner);
156 Create(new InvOwnerRefuel(owner.owner), refuelFromLayerDragGrid: true).SetOnKill(delegate
160 windows[0].SetInteractable(enable: true);
161 info.Init(owner.owner);
163 RefreshCurrentGrid();
165 owner.OnAfterRefuel();
189 if (refuelFromLayerDragGrid)
191 info.SetActive(enable:
false);
213 buttonAutoRefuel.mainText.text = (owner.owner.autoRefuel ?
"On" :
"Off");
217 textFuel.text = (int)((
float)owner.owner.c_charges / (float)owner.
owner.
trait.
MaxFuel * 100f) +
"%";
218 int price = GetPrice();
219 itemCost.transform.parent.SetActive(price != 0);
231 if (buttons[i].
card ==
null)
243 buttons[i].SetCardGrid(
null);
245 RefreshCurrentGrid();
252 for (
int i = 0; i < buttons.Count; i++)
254 bool flag = buttons[i].Card !=
null;
255 if (num == -1 && (!flag || i == owner.
numDragGrid - 1))
259 buttons[i].interactable = flag || num == i;
260 buttons[i].GetComponent<CanvasGroup>().alpha = (buttons[i].interactable ? 1f : 0.5f);
266 transIndex.position = buttons[num].transform.position;
268 transIndex.SetActive(flag2);
274 List<Thing> list =
new List<Thing>();
276 for (
int i = 0; i < traitCrafter.
numIng; i++)
278 list.Add(buttons[i].
card?.
Thing ??
null);
291 if (
card.Num != lastNum)
296 if (
card ==
null ||
card.isDestroyed)
306 if (button.gameObject.activeSelf)
316 if (container !=
null)
321 container = container
336 RefreshCurrentGrid();
346 EInput.haltInput =
false;
348 InvOwner.Trader =
null;
349 if (!wasInventoryOpen &&
ELayer.
ui.IsInventoryOpen)
369 base.OnUpdateInput();
383 return ELayer.
ui.AddLayer<
LayerDragGrid>(
"LayerInventory/LayerDragGrid").SetInv(owner, refuelFromLayerDragGrid);
456 return Create(owner);
458 int num = ((owner.count == -1) ? 1 : owner.
count);
459 for (
int i = 0; i < num; i++)
464 Thing t2 = list.RandomItem();
int GetCurrency(string id="money")
void SetImage(Image image, int dir, int idSkin=0)
override void SetSortVal(UIList.SortMode m, CurrencyType currency=CurrencyType.Money)
virtual bool CanTargetAlly
virtual bool AllowStockIngredients
virtual void _OnProcess(Thing t)
override void BuildUICurrency(UICurrency uiCurrency, bool canReroll=false)
virtual void OnAfterRefuel()
List< ButtonGrid > buttons
virtual string langTransfer
virtual bool ShouldShowGuide(Thing t)
static string _currency(object a, string IDCurrency)
void AddPutBack(Thing t, Thing container)
static LayerDragGrid CreateDeliver(InvOwnerDeliver.Mode mode=InvOwnerDeliver.Mode.Default, Card owner=null)
override void ClearButtons()
static LayerDragGrid CreateOffering(TraitAltar altar)
static LayerDragGrid CreateGacha(TraitGacha gacha)
static LayerDragGrid CreateGive(Chara c)
static LayerDragGrid CreateEnchant(Chara cc, bool armor, bool superior=false, BlessedState state=BlessedState.Normal, int count=1)
UIButton buttonAutoRefuel
static LayerDragGrid CreateChangeMaterial(Chara cc, Thing consume, SourceMaterial.Row mat, EffectId idEffect, BlessedState state=BlessedState.Normal, int price=0, int count=1)
override List< Thing > GetTargets()
static LayerDragGrid CreateLighten(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
override void OnEndCraft()
static LayerDragGrid TryProc(Chara cc, InvOwnerEffect owner)
List< PutbackInfo > putBacks
static LayerDragGrid Create(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
LayerDragGrid SetInv(InvOwnerDraglet owner, bool refuelFromLayerDragGrid=false)
UIDragGridIngredients uiIngredients
List< ButtonGrid > buttons
override void OnUpdateInput()
static LayerDragGrid Instance
static LayerDragGrid CreateUncurse(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
override void RefreshCurrentGrid()
override bool CanCancelAI
static LayerDragGrid CreateChaosOffering(TraitAltarChaos altar)
static LayerDragGrid CreateRecycle(TraitRecycle recycle)
override void OnRightClick()
static LayerDragGrid CreateCraft(TraitCrafter crafter)
static LayerDragGrid CreateReconstruction(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDragGrid CreateIdentify(Chara cc, bool superior=false, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static bool CloseAllyInv(Chara c)
static LayerInventory CreateContainerAlly(Chara owner, Card container)
static void SetDirtyAll(bool immediate=false)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
static Sprite Get(string id)
List< Thing > List(Func< Thing, bool > func, bool onlyAccessible=false)
bool IsFuelEnough(int num=1, List< Thing > excludes=null, bool tryRefuel=true)
void InitFuel(Card _owner)
override void Add(object item)