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

Public Member Functions

void SetOwner (FactionBranch _owner)
 
void AddPolicy (string id)
 
Policy AddPolicy (int id, bool show=true)
 
void Activate (int id)
 
void SetActive (int id, bool active)
 
bool IsActive (int id, int days=-1)
 
bool HasPolicy (int id)
 
void OnSimulateHour (VirtualDate date)
 
int GetValue (int id)
 
int CurrentAP ()
 
void RefreshEffects ()
 
void Validate ()
 

Public Attributes

List< Policylist = new List<Policy>()
 
FactionBranch owner
 

Additional Inherited Members

- Static Public Member Functions inherited from EClass
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Static Public Attributes inherited from EClass
static Core core
 
- Properties inherited from EClass
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 Faction Wilds [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 SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Detailed Description

Definition at line 4 of file PolicyManager.cs.

Member Function Documentation

◆ Activate()

void PolicyManager.Activate ( int  id)
inline

Definition at line 49 of file PolicyManager.cs.

50 {
51 foreach (Policy item in list)
52 {
53 if (item.id == id)
54 {
55 item.active = true;
56 }
57 }
58 }
List< Policy > list
Definition: PolicyManager.cs:7

References item, and list.

Referenced by FactionBranch.OnClaimZone().

◆ AddPolicy() [1/2]

Policy PolicyManager.AddPolicy ( int  id,
bool  show = true 
)
inline

Definition at line 26 of file PolicyManager.cs.

27 {
28 if (owner.elements.GetElement(id) == null)
29 {
30 owner.elements.SetBase(id, 1);
31 }
32 Policy policy = new Policy
33 {
34 id = id
35 };
36 policy.SetOwner(owner);
37 list.Add(policy);
38 if (show)
39 {
40 WidgetPopText.Say("rewardPolicy".lang(EClass.sources.elements.map[id].GetName()));
41 }
42 if (policy.source.tag.Contains("globalPolicy"))
43 {
45 }
46 return policy;
47 }
Faction faction
Definition: Chara.cs:412
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
Element SetBase(string alias, int v, int potential=0)
Element GetElement(string alias)
ElementContainerZone elements
void AddGlobalPolicy(int id)
Definition: FACTION.cs:431
FactionBranch owner
Definition: PolicyManager.cs:9
int id
Definition: POLICY.cs:121
SourceElement.Row source
Definition: POLICY.cs:133
void SetOwner(FactionBranch _branch)
Definition: POLICY.cs:143
SourceElement elements
static void Say(string text, FontColor fontColor=FontColor.Default, Sprite sprite=null)

References Faction.AddGlobalPolicy(), FactionBranch.elements, SourceManager.elements, Chara.faction, ElementContainer.GetElement(), Policy.id, list, owner, EClass.pc, WidgetPopText.Say(), ElementContainer.SetBase(), Policy.SetOwner(), Policy.source, and EClass.sources.

◆ AddPolicy() [2/2]

void PolicyManager.AddPolicy ( string  id)
inline

◆ CurrentAP()

int PolicyManager.CurrentAP ( )
inline

Definition at line 126 of file PolicyManager.cs.

127 {
128 int num = 0;
129 foreach (Policy item in list)
130 {
131 if (item.active)
132 {
133 num += item.Cost;
134 }
135 }
136 return num;
137 }

References item, and list.

Referenced by UICurrency.Build(), ContentPolicy.RefreshPolicyIcons(), LayerPolicy.RefreshPolicyIcons(), and LayerPolicy.RefreshPolicyList().

◆ GetValue()

int PolicyManager.GetValue ( int  id)
inline

Definition at line 114 of file PolicyManager.cs.

115 {
116 foreach (Policy item in list)
117 {
118 if (item.id == id && item.active)
119 {
120 return item.Ele.Value;
121 }
122 }
123 return 0;
124 }

References item, and list.

Referenced by FactionBranch.Evalue().

◆ HasPolicy()

bool PolicyManager.HasPolicy ( int  id)
inline

Definition at line 83 of file PolicyManager.cs.

84 {
85 foreach (Policy item in list)
86 {
87 if (item.id == id)
88 {
89 return true;
90 }
91 }
92 return false;
93 }

References item, and list.

Referenced by TraitBookSkill.OnRead(), and FactionBranch.ValidateUpgradePolicies().

◆ IsActive()

bool PolicyManager.IsActive ( int  id,
int  days = -1 
)
inline

◆ OnSimulateHour()

void PolicyManager.OnSimulateHour ( VirtualDate  date)
inline

Definition at line 95 of file PolicyManager.cs.

96 {
97 foreach (Policy item in list)
98 {
99 if (item.active)
100 {
101 item.OnAdvanceHour(date);
102 if (date.hour == 0)
103 {
104 item.days++;
105 }
106 }
107 else
108 {
109 item.days = 0;
110 }
111 }
112 }
int hour
Definition: Date.cs:74

References item, and list.

◆ RefreshEffects()

void PolicyManager.RefreshEffects ( )
inline

Definition at line 139 of file PolicyManager.cs.

140 {
141 foreach (Happiness item in owner.happiness.list)
142 {
143 item.OnRefreshEffect();
144 }
145 foreach (BaseHomeResource item2 in owner.resources.list)
146 {
147 item2.OnRefreshEffect();
148 }
149 foreach (Policy item3 in list)
150 {
151 if (item3.active)
152 {
153 item3.RefreshEffect();
154 }
155 }
157 }
HappinessManager happiness
HomeResourceManager resources
List< Happiness > list
List< BaseHomeResource > list
void RefreshEffect(UINote note=null)
Definition: POLICY.cs:153
bool active
Definition: POLICY.cs:127

References Policy.active, FactionBranch.happiness, item, HappinessManager.list, HomeResourceManager.list, list, BaseHomeResource.OnRefreshEffect(), owner, Policy.RefreshEffect(), FactionBranch.resources, and HomeResourceManager.SetDirty().

Referenced by ContentPolicy.RefreshPolicyList(), and SetOwner().

◆ SetActive()

void PolicyManager.SetActive ( int  id,
bool  active 
)
inline

Definition at line 60 of file PolicyManager.cs.

61 {
62 foreach (Policy item in list)
63 {
64 if (item.id == id)
65 {
66 item.active = active;
67 }
68 }
69 }

References item, and list.

Referenced by Faction.SetGlobalPolicyActive().

◆ SetOwner()

void PolicyManager.SetOwner ( FactionBranch  _owner)
inline

Definition at line 11 of file PolicyManager.cs.

12 {
13 owner = _owner;
14 foreach (Policy item in list)
15 {
16 item.SetOwner(owner);
17 }
19 }
void RefreshEffects()

References item, list, owner, and RefreshEffects().

Referenced by FactionBranch.SetOwner().

◆ Validate()

void PolicyManager.Validate ( )
inline

Member Data Documentation

◆ list

◆ owner

FactionBranch PolicyManager.owner

Definition at line 9 of file PolicyManager.cs.

Referenced by AddPolicy(), RefreshEffects(), and SetOwner().


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