Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
ContentFaction.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3
4public class ContentFaction : EContent
5{
7
9
10 public Sprite spriteFaction;
11
12 public Sprite spriteFaith;
13
15
16 public override void OnSwitchContent(int idTab)
17 {
18 if (idTab == 2)
19 {
21 }
22 else
23 {
24 RefreshFactions(idTab == 4);
25 }
26 LayerJournal componentInParent = GetComponentInParent<LayerJournal>();
27 textHeader.SetText(componentInParent.GetTextHeader(componentInParent.windows[0]));
28 }
29
30 public void RefreshFactions(bool religion)
31 {
32 UIList uIList = listFaction;
33 uIList.Clear();
34 if (religion)
35 {
36 uIList.callbacks = new UIList.Callback<Religion, ItemGeneral>
37 {
38 onClick = delegate(Religion a, ItemGeneral b)
39 {
41 },
42 onInstantiate = delegate(Religion a, ItemGeneral b)
43 {
44 b.SetSound();
46 b.SetSubText(a.TextType, 260, FontColor.Default, TextAnchor.MiddleRight);
48 b.Build();
49 b.button1.refStr = a.id;
50 }
51 };
52 foreach (Religion value in EClass.game.religions.dictAll.Values)
53 {
54 if (!value.IsMinorGod)
55 {
56 uIList.Add(value);
57 }
58 }
59 }
60 else
61 {
62 uIList.callbacks = new UIList.Callback<Faction, ItemGeneral>
63 {
64 onClick = delegate(Faction a, ItemGeneral b)
65 {
67 },
68 onInstantiate = delegate(Faction a, ItemGeneral b)
69 {
70 b.SetSound();
72 b.SetSubText(a.TextType, 260, FontColor.Default, TextAnchor.MiddleRight);
74 b.Build();
75 b.button1.refStr = a.id;
76 }
77 };
78 foreach (Faction value2 in EClass.game.factions.dictAll.Values)
79 {
80 uIList.Add(value2);
81 }
82 }
83 uIList.Refresh();
84 }
85
86 public void RefreshZones()
87 {
88 UIList uIList = listFaction;
89 uIList.Clear();
90 uIList.callbacks = new UIList.Callback<Zone, ItemGeneral>
91 {
92 onClick = delegate(Zone a, ItemGeneral b)
93 {
94 info.SetZone(a);
95 },
96 onInstantiate = delegate(Zone a, ItemGeneral b)
97 {
98 b.SetSound();
99 b.SetMainText(a.Name);
100 b.SetMainText(((!a.IsPCFaction) ? "" : ((a == EClass.pc.homeZone) ? "★" : "☆")) + a.Name + ((a.influence == 0) ? "" : (" (" + a.influence + ")")));
101 b.Build();
102 }
103 };
104 List<Zone> list = new List<Zone>();
105 foreach (Spatial value in EClass.game.spatials.map.Values)
106 {
107 if (value is Zone && value.parent == EClass.pc.currentZone.Region && (value.mainFaction == EClass.pc.faction || (value.visitCount != 0 && value is Zone_Town)))
108 {
109 list.Add(value as Zone);
110 }
111 }
113 list.Sort((Zone a, Zone b) => GetSortVal(b) - GetSortVal(a));
114 foreach (Zone item in list)
115 {
116 uIList.Add(item);
117 }
118 uIList.Refresh();
119 if (uIList.items.Count == 0)
120 {
121 info.Clear();
122 }
123 static int GetSortVal(Zone z)
124 {
125 if (!z.IsPCFaction)
126 {
127 return -10000000 + z.source.dev;
128 }
129 return 10000000 - z.uid;
130 }
131 }
132}
FontColor
Definition: FontColor.cs:2
Faction faction
Definition: Chara.cs:423
Zone currentZone
Definition: Chara.cs:251
Zone homeZone
Definition: Chara.cs:263
UIList listFaction
override void OnSwitchContent(int idTab)
UIFactionInfo info
Sprite spriteFaction
void RefreshFactions(bool religion)
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static Chara pc
Definition: EClass.cs:14
Dictionary< string, Faction > dictAll
void SetTextHostility(UIText text)
virtual string TextType
Definition: FACTION.cs:154
string name
Definition: FACTION.cs:135
string id
Definition: FACTION.cs:129
FactionRelation relation
Definition: FACTION.cs:126
ReligionManager religions
Definition: Game.cs:158
SpatialManager spatials
Definition: Game.cs:152
FactionManager factions
Definition: Game.cs:161
void Build()
Definition: ItemGeneral.cs:171
void SetMainText(string lang, Sprite sprite=null, bool disableMask=true)
Definition: ItemGeneral.cs:111
void SetSound(SoundData data=null)
Definition: ItemGeneral.cs:152
UIButton SetSubText(string lang, int x, FontColor c=FontColor.Default, TextAnchor align=TextAnchor.MiddleLeft)
Definition: ItemGeneral.cs:129
List< Window > windows
Definition: Layer.cs:116
virtual string GetTextHeader(Window window)
Definition: Layer.cs:131
List< RankedZone > GetList()
Dictionary< string, Religion > dictAll
string Name
Definition: Religion.cs:30
string TextType
Definition: Religion.cs:38
virtual bool IsMinorGod
Definition: Religion.cs:50
void SetTextRelation(UIText text)
Definition: Religion.cs:77
virtual string id
Definition: Religion.cs:26
GlobalSpatialList map
RankedZoneManager ranks
int uid
Definition: Spatial.cs:70
Spatial parent
Definition: Spatial.cs:10
virtual string Name
Definition: Spatial.cs:495
Faction mainFaction
Definition: Spatial.cs:430
SourceZone.Row source
Definition: Spatial.cs:441
int influence
Definition: Spatial.cs:214
int visitCount
Definition: Spatial.cs:154
UIText subText
Definition: UIButton.cs:104
void SetFaction(Faction f)
void SetZone(Zone _zone)
void SetReligion(Religion f)
UIButton button1
Definition: UIItem.cs:18
Definition: UIList.cs:9
override void Clear()
Definition: UIList.cs:349
override void Add(object item)
Definition: UIList.cs:302
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:424
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:159
Definition: Zone.cs:12
bool IsPCFaction
Definition: Zone.cs:466
Region Region
Definition: Zone.cs:160