Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LayerPolicy.cs
Go to the documentation of this file.
1using System.Linq;
2using UnityEngine;
3
4public class LayerPolicy : ELayer
5{
7
9
11
13
14 public override void OnInit()
15 {
17 }
18
19 public void RefreshPolicy()
20 {
21 RefreshPolicyList(listPolicyLaw, "law", "department_law");
22 RefreshPolicyList(listPolicyEconomy, "economy", "department_economy");
23 RefreshPolicyList(listPolicyLife, "life", "department_life");
25 }
26
27 public void RefreshPolicyList(UIList list, string cat, string plan)
28 {
29 list.callbacks = new UIList.Callback<Policy, UIButton>
30 {
31 onClick = delegate
32 {
33 },
34 onInstantiate = delegate(Policy a, UIButton b)
35 {
37 b.onClick.AddListener(delegate
38 {
40 {
41 SE.Beep();
42 }
43 else
44 {
45 SE.ClickOk();
46 a.active = !a.active;
47 ELayer.Branch.policies.RefreshEffects();
48 RefreshPolicyIcons();
49 }
50 });
51 b.refObj = a;
52 b.tooltip.onShowTooltip = delegate(UITooltip tp)
53 {
54 a.WriteNote(tp.note);
55 };
56 },
57 onList = delegate
58 {
59 foreach (Policy item in ELayer.Branch.policies.list.Where((Policy p) => p.source.categorySub == cat))
60 {
61 list.Add(item);
62 }
63 },
64 onSort = (Policy a, UIList.SortMode m) => a.GetSortVal(m),
65 onRefresh = null
66 };
67 list.List();
68 list.GetComponentInChildren<CanvasGroup>().alpha = ((list.items.Count > 0) ? 0.9f : 0.4f);
69 }
70
71 public void RefreshPolicyIcons()
72 {
73 int num = ELayer.Branch.policies.CurrentAP();
75 for (int i = 0; i < array.Length; i++)
76 {
77 UIButton[] componentsInChildren = array[i].GetComponentsInChildren<UIButton>();
78 foreach (UIButton obj in componentsInChildren)
79 {
80 Policy policy = obj.refObj as Policy;
81 obj.icon.material = (policy.active ? null : matGrayscale);
82 obj.imageCheck.SetActive(policy.active);
83 obj.subText.SetText(policy.Cost.ToString() ?? "", (num + policy.Cost <= ELayer.Branch.MaxAP || policy.active) ? FontColor.Good : FontColor.Bad);
84 }
85 }
86 }
87}
FontColor
Definition: FontColor.cs:2
Definition: ELayer.cs:4
static FactionBranch Branch
Definition: ELayer.cs:17
PolicyManager policies
UIList listPolicyLaw
Definition: LayerPolicy.cs:6
override void OnInit()
Definition: LayerPolicy.cs:14
void RefreshPolicy()
Definition: LayerPolicy.cs:19
Material matGrayscale
Definition: LayerPolicy.cs:12
UIList listPolicyEconomy
Definition: LayerPolicy.cs:8
UIList listPolicyLife
Definition: LayerPolicy.cs:10
void RefreshPolicyList(UIList list, string cat, string plan)
Definition: LayerPolicy.cs:27
void RefreshPolicyIcons()
Definition: LayerPolicy.cs:71
List< Policy > list
Definition: PolicyManager.cs:7
int Cost
Definition: POLICY.cs:141
string Name
Definition: POLICY.cs:135
int GetSortVal(UIList.SortMode m)
Definition: POLICY.cs:200
bool active
Definition: POLICY.cs:127
void WriteNote(UINote n)
Definition: POLICY.cs:185
SourceElement.Row source
Definition: POLICY.cs:133
UIText subText
Definition: UIButton.cs:104
Image imageCheck
Definition: UIButton.cs:112
UIText mainText
Definition: UIButton.cs:102
Definition: UIList.cs:9
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
void SetText(string s)
Definition: UIText.cs:159
UINote note
Definition: UITooltip.cs:21