Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ContentPolicy Class Reference
Inheritance diagram for ContentPolicy:
EContent UIContent UINote

Public Member Functions

override void OnSwitchContent (int idTab)
 
void RefreshPolicy ()
 
void RefreshPolicyList (UIList list, string cat, string plan)
 
void RefreshPolicyIcons ()
 
- Public Member Functions inherited from UIContent
virtual void OnSwitchContent (int idTab)
 
virtual void OnInstantiate ()
 
- Public Member Functions inherited from UINote
void Clear ()
 
void Build ()
 
void Space (int sizeY=0, int sizeX=1)
 
UINote AddNote (string id)
 
UIItem AddHeader (string text, Sprite sprite=null)
 
UIItem AddHeaderCard (string text, Sprite sprite=null)
 
UIItem AddHeaderTopic (string text, Sprite sprite=null)
 
UIItem AddHeader (string id, string text, Sprite sprite=null)
 
UIItem AddText (string text, FontColor color=FontColor.DontChange)
 
UIItem AddText (string id, string text, FontColor color=FontColor.DontChange)
 
UIItem AddText (string id, string text, Color color)
 
UIItem AddItem (string id)
 
UIItem AddTopic (string id, string text, string value=null)
 
UIItem AddTopic (string text, string value=null)
 
void AddImage (Sprite sprite)
 
void AddImage (string idFile)
 
UIButton AddButton (string text, Action onClick)
 
UIButton AddButtonLink (string text, string url)
 
UIDropdown AddDropdown (string id="DropdownDefault")
 
UIButton AddToggle (string idLang="", bool isOn=false, Action< bool > action=null)
 
Transform AddPrefab (string path)
 
AddExtra< T > (string path)
 

Public Attributes

UIList listPolicyLaw
 
UIList listPolicyEconomy
 
UIList listPolicyLife
 
UIList listUtility
 
Material matGrayscale
 
- Public Attributes inherited from UINote
RectTransform target
 
UINoteProfile prof
 
SkinType skinType
 
string idDefaultText
 
LayoutGroup layout
 
RectTransform cur
 
bool extraRebuild
 

Detailed Description

Definition at line 4 of file ContentPolicy.cs.

Member Function Documentation

◆ OnSwitchContent()

override void ContentPolicy.OnSwitchContent ( int  idTab)
inlinevirtual

Reimplemented from UIContent.

Definition at line 16 of file ContentPolicy.cs.

17 {
20 }
void RefreshPolicy()
Definition: EClass.cs:5
static FactionBranch Branch
Definition: EClass.cs:22
PolicyManager policies

References EClass.Branch, FactionBranch.policies, RefreshPolicy(), and PolicyManager.Validate().

◆ RefreshPolicy()

void ContentPolicy.RefreshPolicy ( )
inline

Definition at line 22 of file ContentPolicy.cs.

23 {
24 RefreshPolicyList(listPolicyLaw, "law", "department_law");
25 RefreshPolicyList(listPolicyEconomy, "economy", "department_economy");
26 RefreshPolicyList(listPolicyLife, "life", "department_life");
27 RefreshPolicyList(listUtility, "utility", "department_utility");
28 listUtility.SetActive(EClass.Branch.lv >= 2 || EClass.debug.enable);
30 GetComponentInParent<Layer>().RebuildLayout(recursive: true);
31 this.RebuildLayout(recursive: true);
32 }
void RefreshPolicyIcons()
UIList listPolicyLife
UIList listUtility
UIList listPolicyLaw
Definition: ContentPolicy.cs:6
UIList listPolicyEconomy
Definition: ContentPolicy.cs:8
void RefreshPolicyList(UIList list, string cat, string plan)
bool enable
Definition: CoreDebug.cs:285
static CoreDebug debug
Definition: EClass.cs:48

References EClass.Branch, EClass.debug, CoreDebug.enable, listPolicyEconomy, listPolicyLaw, listPolicyLife, listUtility, FactionBranch.lv, RefreshPolicyIcons(), and RefreshPolicyList().

Referenced by OnSwitchContent().

◆ RefreshPolicyIcons()

void ContentPolicy.RefreshPolicyIcons ( )
inline

Definition at line 124 of file ContentPolicy.cs.

125 {
126 int num = EClass.Branch.policies.CurrentAP();
128 for (int i = 0; i < array.Length; i++)
129 {
130 UIButton[] componentsInChildren = array[i].GetComponentsInChildren<UIButton>();
131 foreach (UIButton obj in componentsInChildren)
132 {
133 Policy policy = obj.refObj as Policy;
134 obj.icon.material = (policy.active ? null : matGrayscale);
135 obj.imageCheck.SetActive(policy.active);
136 obj.subText.SetText(policy.Cost.ToString() ?? "", (num + policy.Cost <= EClass.Branch.MaxAP || policy.active) ? FontColor.Good : FontColor.Bad);
137 }
138 }
139 }
FontColor
Definition: FontColor.cs:2
Material matGrayscale
int Cost
Definition: POLICY.cs:141
bool active
Definition: POLICY.cs:127
UIText subText
Definition: UIButton.cs:104
Image imageCheck
Definition: UIButton.cs:112
Definition: UIList.cs:9
void SetText(string s)
Definition: UIText.cs:159

References Policy.active, EClass.Branch, Policy.Cost, PolicyManager.CurrentAP(), UIButton.imageCheck, FactionBranch.policies, UIText.SetText(), and UIButton.subText.

Referenced by RefreshPolicy(), and RefreshPolicyList().

◆ RefreshPolicyList()

void ContentPolicy.RefreshPolicyList ( UIList  list,
string  cat,
string  plan 
)
inline

Definition at line 34 of file ContentPolicy.cs.

35 {
36 list.callbacks = new UIList.Callback<Policy, UIButton>
37 {
38 onClick = delegate
39 {
40 },
41 onInstantiate = delegate(Policy a, UIButton b)
42 {
44 b.onClick.AddListener(delegate
45 {
46 if (!a.active)
47 {
48 if ((a.Cost > 0 && EClass.Branch.policies.CurrentAP() + a.Cost > EClass.Branch.MaxAP) || !CanActivate(a))
49 {
50 SE.Beep();
51 return;
52 }
53 if (a.id == 2514 && EClass.pc.faction.CountTaxFreeLand() >= 3)
54 {
55 SE.Beep();
56 return;
57 }
58 }
59 SE.ClickOk();
60 a.active = !a.active;
61 if (a.id == 2705)
62 {
63 EClass.pc.faction.SetGlobalPolicyActive(2705, a.active);
64 }
65 if (a.id == 2708)
66 {
67 EClass.pc.faction.SetGlobalPolicyActive(2708, a.active);
68 }
69 if (a.id == 2710)
70 {
71 EClass.pc.faction.SetGlobalPolicyActive(2710, a.active);
72 }
73 if (a.id == 2711)
74 {
75 EClass.pc.faction.SetGlobalPolicyActive(2711, a.active);
76 }
77 if (a.id == 2712)
78 {
79 EClass.pc.faction.SetGlobalPolicyActive(2712, a.active);
80 }
83 });
84 b.refObj = a;
85 b.tooltip.onShowTooltip = delegate(UITooltip tp)
86 {
87 a.WriteNote(tp.note);
88 };
89 },
90 onList = delegate
91 {
92 foreach (Policy item in EClass.Branch.policies.list.Where((Policy p) => p.source.categorySub == cat))
93 {
94 list.Add(item);
95 }
96 },
97 onSort = (Policy a, UIList.SortMode m) => a.GetSortVal(m),
98 onRefresh = null
99 };
100 list.List();
101 list.GetComponentInChildren<CanvasGroup>().alpha = ((list.items.Count > 0) ? 0.9f : 0.4f);
102 static bool CanActivate(Policy p)
103 {
104 if (p.id == 2515 && EClass.Branch.policies.IsActive(2516))
105 {
106 return false;
107 }
108 if (p.id == 2516 && EClass.Branch.policies.IsActive(2515))
109 {
110 return false;
111 }
112 if (p.id == 2814 && EClass.Branch.policies.IsActive(2823))
113 {
114 return false;
115 }
116 if (p.id == 2823 && EClass.Branch.policies.IsActive(2814))
117 {
118 return false;
119 }
120 return true;
121 }
122 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
Faction faction
Definition: Chara.cs:412
static Chara pc
Definition: EClass.cs:14
int CountTaxFreeLand()
Definition: FACTION.cs:544
void RefreshEffects()
List< Policy > list
Definition: PolicyManager.cs:7
bool IsActive(int id, int days=-1)
string Name
Definition: POLICY.cs:135
int id
Definition: POLICY.cs:121
int GetSortVal(UIList.SortMode m)
Definition: POLICY.cs:200
void WriteNote(UINote n)
Definition: POLICY.cs:185
SourceElement.Row source
Definition: POLICY.cs:133
UIText mainText
Definition: UIButton.cs:102
List< object > items
Definition: UIList.cs:241
SortMode
Definition: UIList.cs:27
override void Add(object item)
Definition: UIList.cs:302
override void List()
Definition: UIList.cs:717
UINote note
Definition: UITooltip.cs:21

References Policy.active, UIList.Add(), EClass.Branch, Faction.CountTaxFreeLand(), Chara.faction, Policy.GetSortVal(), Policy.id, if(), item, PolicyManager.list, UIButton.mainText, Policy.Name, UITooltip.note, EClass.pc, FactionBranch.policies, PolicyManager.RefreshEffects(), RefreshPolicyIcons(), UIText.SetText(), Policy.source, and Policy.WriteNote().

Referenced by RefreshPolicy().

Member Data Documentation

◆ listPolicyEconomy

UIList ContentPolicy.listPolicyEconomy

Definition at line 8 of file ContentPolicy.cs.

Referenced by RefreshPolicy().

◆ listPolicyLaw

UIList ContentPolicy.listPolicyLaw

Definition at line 6 of file ContentPolicy.cs.

Referenced by RefreshPolicy().

◆ listPolicyLife

UIList ContentPolicy.listPolicyLife

Definition at line 10 of file ContentPolicy.cs.

Referenced by RefreshPolicy().

◆ listUtility

UIList ContentPolicy.listUtility

Definition at line 12 of file ContentPolicy.cs.

Referenced by RefreshPolicy().

◆ matGrayscale

Material ContentPolicy.matGrayscale

Definition at line 14 of file ContentPolicy.cs.


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