2using System.Collections.Generic;
7 public static List<LayerInventory>
listInv =
new List<LayerInventory>();
11 public List<UIInventory>
invs =
new List<UIInventory>();
32 if (
item.IsPlayerContainer(includePlayer) &&
item.Inv != exclude && !
item.Inv.Container.IsToolbelt && !
item.Inv.Container.things.IsFull(t, recursive:
false))
34 int siblingIndex =
item.transform.GetSiblingIndex();
35 if (siblingIndex > num)
50 if (
item.Inv.Container == t)
67 if (
item.invs[0].owner.Container == t)
79 if (
item.invs[0].owner.Container == t)
95 if (
item.invs[0].owner.Container == t.parent || ((
bool)
item.mini &&
item.mini.gameObject.activeInHierarchy))
97 item.invs[0].dirty =
true;
102 WidgetCurrentTool.dirty =
true;
106 WidgetEquip.dirty =
true;
114 item.invs[0].dirty =
true;
117 item.invs[0].CheckDirty();
122 WidgetEquip.dirty =
true;
128 WidgetCurrentTool.dirty =
true;
137 List<ButtonGrid> list2 =
new List<ButtonGrid>();
141 if ((
bool)buttonGrid)
143 list2.Add(buttonGrid);
154 WidgetSearch.selected =
null;
168 item.Attach(
"guide", rightAttach:
false);
175 item.Attach(
"guide", rightAttach:
false);
182 item.Attach(
"guide", rightAttach:
false);
204 item.Attach(
"guide", rightAttach:
false);
216 if (!includePlayer &&
invs[0].owner.Container ==
ELayer.
pc)
220 return invs[0].owner.Container.GetRootCard() ==
ELayer.
pc;
251 InvOwner.Trader =
Inv;
255 ELayer.
ui.OpenFloatInv(ignoreSound:
true);
266 if ((
bool)
invs[0] && (
bool)
invs[0].gameObject)
268 invs[0].RefreshHighlight();
277 uIInventory.window =
windows[idWindow];
278 uIInventory.layer =
this;
294 base.OnUpdateInput();
300 EInput.haltInput =
false;
307 InvOwner.Trader =
null;
315 InvOwner.Main =
null;
319 SE.Play(
"pop_inventory_deactivate");
348 path =
"LayerInventoryGrid";
357 layerInventory.mainInv =
true;
358 window.setting.saveWindow =
true;
362 uIInventory.floatMode =
true;
363 return layerInventory;
370 if (
item.Inv.owner == c)
383 if (!
item.IsPlayerContainer(includePlayer:
true))
399 uIInventory.
tabs[0].textTab = container.
Name;
400 uIInventory.floatMode =
true;
403 Vector2 sizeDelta = window.Rect().sizeDelta;
412 advDistribution =
false
416 window.saveData.open =
true;
417 ELayer.
ui.layerFloat.AddLayer(layerInventory);
420 return layerInventory;
427 if (
item.GetPlayerContainer() == container)
440 if (
item.GetPlayerContainer() == container)
449 Vector2 anchoredPosition =
default(Vector2);
450 bool flag = container.c_windowSaveData ==
null;
453 uIInventory.
tabs[0].textTab = container.Name;
454 uIInventory.floatMode =
true;
455 if (container.c_windowSaveData ==
null)
457 anchoredPosition = window.Rect().anchoredPosition +
new Vector2(-80f, -80f);
458 Vector2 sizeDelta = window.Rect().sizeDelta;
461 x = anchoredPosition.
x,
462 y = anchoredPosition.y,
467 advDistribution =
false
469 if (container.trait.IsFridge)
471 container.c_windowSaveData.onlyRottable =
true;
474 if (container.IsToolbelt)
476 container.c_windowSaveData.useBG =
false;
478 window.saveData = container.c_windowSaveData;
479 window.saveData.open =
true;
480 if (container.IsToolbelt)
482 return layerInventory;
484 ELayer.
ui.layerFloat.AddLayer(layerInventory);
487 RectTransform rectTransform = window.Rect();
490 rectTransform.anchorMin =
new Vector2(0.5f, 0.5f);
491 rectTransform.anchorMax =
new Vector2(0.5f, 0.5f);
492 anchoredPosition =
new Vector2(0f, rectTransform.sizeDelta.y / 2f);
496 RectTransform rectTransform2 =
null;
497 RectTransform rectTransform3 =
null;
500 if (!(item2 == layerInventory) && item2.
IsFloat)
502 RectTransform rectTransform4 = item2.
windows[0].Rect();
503 if (!rectTransform3 || rectTransform4.Rect().localPosition.x < rectTransform3.Rect().localPosition.x)
505 rectTransform3 = rectTransform4;
507 if (!rectTransform2 || rectTransform4.Rect().localPosition.y > rectTransform2.Rect().localPosition.y)
509 rectTransform2 = rectTransform4;
513 if (uIInventory.
tabs[0].owner.Container.things.width < 3 && (
bool)rectTransform3)
515 rectTransform.anchorMin = rectTransform3.anchorMin;
516 rectTransform.anchorMax = rectTransform3.anchorMax;
517 anchoredPosition.x = rectTransform3.anchoredPosition.x - rectTransform.sizeDelta.x - rectTransform3.sizeDelta.x * 0.5f + 35f;
518 anchoredPosition.y = rectTransform3.anchoredPosition.y;
520 else if ((
bool)rectTransform2)
522 rectTransform.anchorMin = rectTransform2.anchorMin;
523 rectTransform.anchorMax = rectTransform2.anchorMax;
524 anchoredPosition.x = rectTransform2.anchoredPosition.x;
525 anchoredPosition.y = rectTransform2.anchoredPosition.y + rectTransform.sizeDelta.y - 25f;
529 rectTransform.anchorMin =
new Vector2(0.5f, 0.5f);
530 rectTransform.anchorMax =
new Vector2(0.5f, 0.5f);
531 anchoredPosition = Vector2.one;
534 rectTransform.anchoredPosition = anchoredPosition;
538 return layerInventory;
578 container.c_windowSaveData.autodump =
AutodumpFlag.none;
583 return layerInventory;
590 T owner = Activator.CreateInstance(typeof(T), c, container,
currency) as T;
601 return layerInventory;
609 SE.Play(
"shop_open");
623 trader = invOwnerShop
626 return layerInventory;
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
List< Action > actionsNextFrame
Window.SaveData GetWindowSaveData()
Window.SaveData c_windowSaveData
SourceCategory.Row category
virtual bool ShouldShowGuide(Thing t)
static ButtonAbility hotElement
static InvOwner highlightInv
static LayerInventory _Create(string path="")
static LayerInventory CreateContainer(Card owner)
static bool CloseAllyInv(Chara c)
override void OnUpdateInput()
static LayerInventory CreateContainerAlly(Chara owner, Card container)
static LayerInventory CreatePCBackpack(bool mousePos=false)
UIInventory SetInv(int idWindow=0)
static bool IsOpen(Card container)
static void SetDirty(Thing t)
static LayerInventory GetLayer(Card t)
static void SetDirtyAll(bool immediate=false)
static List< LayerInventory > listInv
Card GetPlayerContainer()
override void OnAfterInit()
static LayerInventory GetPCLayer()
override void OnRightClick()
static bool IsOpen(Thing t)
static void CloseAllyInv()
override bool HeaderIsListOf(int id)
static LayerInventory GetTopLayer(Thing t, bool includePlayer=false, InvOwner exclude=null)
static LayerInventory CreateBuy(Card c, CurrencyType currency=CurrencyType.Money, PriceType price=PriceType.Default)
static LayerInventory CreateContainer(Card owner, Card container)
static void Close(Thing t)
static LayerInventory CreateContainer< T >(Card c, Card container, CurrencyType currency=CurrencyType.None)
static void TryShowGuide(UIList list)
bool IsPlayerContainer(bool includePlayer=false)
static LayerInventory CreateContainerPC(Card container)
static void TryShowGuide(List< ButtonGrid > list)
static Layer Create(string path)
Layer SetOnKill(Action action)
Window.SaveData windowAllyInv
static ShopTransaction current
void Foreach(Action< Thing > action, bool onlyAccessible=true)
virtual int CostRerollShop
static void Play(string idStep)
Tab AddTab(Card c, Mode mode, Thing container=null)
List< ButtonPair > buttons
static Dictionary< string, SaveData > dictData