Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
UIResourceTrack Class Reference
Inheritance diagram for UIResourceTrack:
EMono

Public Member Functions

void OnActivate ()
 
void OnMoveZone ()
 
void _Refresh ()
 

Static Public Member Functions

static void Refresh ()
 
- Static Public Member Functions inherited from EMono
static int rnd (int a)
 

Public Attributes

LayoutGroup layout
 
ButtonResourceTrack mold
 
UIButton buttonAdd
 
Dictionary< string, ButtonResourceTrackdictProp = new Dictionary<string, ButtonResourceTrack>()
 
Dictionary< string, ButtonResourceTrackdictCat = new Dictionary<string, ButtonResourceTrack>()
 

Static Public Attributes

static UIResourceTrack Instance
 
- Static Public Attributes inherited from EMono
static Core core
 

Private Attributes

List< string > listRemove = new List<string>()
 
bool dirtyLayout
 

Additional Inherited Members

- Properties inherited from EMono
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 5 of file UIResourceTrack.cs.

Member Function Documentation

◆ _Refresh()

void UIResourceTrack._Refresh ( )
inline

Definition at line 53 of file UIResourceTrack.cs.

54 {
55 dirtyLayout = false;
56 HashSet<string> trackedCards = EMono.player.trackedCards;
57 HashSet<string> trackedCategories = EMono.player.trackedCategories;
58 foreach (string item in trackedCards)
59 {
60 if (dictProp.ContainsKey(item))
61 {
62 dictProp[item].Refresh();
63 continue;
64 }
65 ButtonResourceTrack buttonResourceTrack = Util.Instantiate(mold, layout);
66 buttonResourceTrack.SetProp(item);
67 dictProp.Add(item, buttonResourceTrack);
68 dirtyLayout = true;
69 }
70 foreach (string item2 in trackedCategories)
71 {
72 if (dictCat.ContainsKey(item2))
73 {
74 dictCat[item2].Refresh();
75 continue;
76 }
77 ButtonResourceTrack buttonResourceTrack2 = Util.Instantiate(mold, layout);
78 buttonResourceTrack2.SetCat(item2);
79 dictCat.Add(item2, buttonResourceTrack2);
80 dirtyLayout = true;
81 }
82 listRemove.Clear();
83 foreach (string key in dictProp.Keys)
84 {
85 if (!trackedCards.Contains(key))
86 {
87 listRemove.Add(key);
88 }
89 }
90 foreach (string item3 in listRemove)
91 {
92 Object.DestroyImmediate(dictProp[item3].gameObject);
93 dictProp.Remove(item3);
94 dirtyLayout = true;
95 }
96 listRemove.Clear();
97 foreach (string key2 in dictCat.Keys)
98 {
99 if (!trackedCategories.Contains(key2))
100 {
101 listRemove.Add(key2);
102 }
103 }
104 foreach (string item4 in listRemove)
105 {
106 Object.DestroyImmediate(dictCat[item4].gameObject);
107 dictCat.Remove(item4);
108 dirtyLayout = true;
109 }
110 if (dirtyLayout)
111 {
112 buttonAdd.transform.SetAsLastSibling();
113 layout.RebuildLayout(recursive: true);
114 }
115 }
void SetCat(string id)
void SetProp(string id)
Definition: EMono.cs:4
static Player player
Definition: EMono.cs:11
HashSet< string > trackedCategories
Definition: Player.cs:856
HashSet< string > trackedCards
Definition: Player.cs:859
Dictionary< string, ButtonResourceTrack > dictCat
Dictionary< string, ButtonResourceTrack > dictProp
LayoutGroup layout
ButtonResourceTrack mold
List< string > listRemove
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67

References buttonAdd, dictCat, dictProp, dirtyLayout, item, layout, listRemove, mold, EMono.player, ButtonResourceTrack.SetCat(), ButtonResourceTrack.SetProp(), Player.trackedCards, Player.trackedCategories, and Util.

Referenced by OnActivate(), OnMoveZone(), Refresh(), ButtonResourceTrack.SetCat(), and ButtonResourceTrack.SetProp().

◆ OnActivate()

void UIResourceTrack.OnActivate ( )
inline

Definition at line 31 of file UIResourceTrack.cs.

32 {
33 Instance = this;
34 buttonAdd.SetOnClick(delegate
35 {
36 EMono.ui.AddLayer<LayerResource>();
37 });
38 if (!mold)
39 {
40 mold = layout.CreateMold<ButtonResourceTrack>();
41 }
42 _Refresh();
43 }
static UI ui
Definition: EMono.cs:15
static UIResourceTrack Instance

References _Refresh(), buttonAdd, Instance, layout, mold, and EMono.ui.

◆ OnMoveZone()

void UIResourceTrack.OnMoveZone ( )
inline

Definition at line 45 of file UIResourceTrack.cs.

46 {
47 dictProp.Clear();
48 dictCat.Clear();
49 layout.DestroyChildren();
50 _Refresh();
51 }

References _Refresh(), dictCat, dictProp, and layout.

Referenced by Player.MoveZone().

◆ Refresh()

static void UIResourceTrack.Refresh ( )
inlinestatic

Definition at line 23 of file UIResourceTrack.cs.

24 {
25 if ((bool)Instance)
26 {
28 }
29 }

References _Refresh(), and Instance.

Referenced by LayerResource.RefreshCategory(), LayerResource.ShowThings(), and GameUpdater.Update().

Member Data Documentation

◆ buttonAdd

UIButton UIResourceTrack.buttonAdd

Definition at line 13 of file UIResourceTrack.cs.

Referenced by _Refresh(), and OnActivate().

◆ dictCat

Dictionary<string, ButtonResourceTrack> UIResourceTrack.dictCat = new Dictionary<string, ButtonResourceTrack>()

Definition at line 17 of file UIResourceTrack.cs.

Referenced by _Refresh(), and OnMoveZone().

◆ dictProp

Dictionary<string, ButtonResourceTrack> UIResourceTrack.dictProp = new Dictionary<string, ButtonResourceTrack>()

Definition at line 15 of file UIResourceTrack.cs.

Referenced by _Refresh(), and OnMoveZone().

◆ dirtyLayout

bool UIResourceTrack.dirtyLayout
private

Definition at line 21 of file UIResourceTrack.cs.

Referenced by _Refresh().

◆ Instance

UIResourceTrack UIResourceTrack.Instance
static

Definition at line 7 of file UIResourceTrack.cs.

Referenced by Player.MoveZone(), OnActivate(), and Refresh().

◆ layout

LayoutGroup UIResourceTrack.layout

Definition at line 9 of file UIResourceTrack.cs.

Referenced by _Refresh(), OnActivate(), and OnMoveZone().

◆ listRemove

List<string> UIResourceTrack.listRemove = new List<string>()
private

Definition at line 19 of file UIResourceTrack.cs.

Referenced by _Refresh().

◆ mold

ButtonResourceTrack UIResourceTrack.mold

Definition at line 11 of file UIResourceTrack.cs.

Referenced by _Refresh(), and OnActivate().


The documentation for this class was generated from the following file: