Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
UIFactionInfo.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3using DG.Tweening;
4using UnityEngine;
5using UnityEngine.UI;
6
7public class UIFactionInfo : EMono
8{
9 public UINote note;
10
11 public Image imageFull;
12
13 public Anime imageIn;
14
16
17 public Tween tween;
18
19 public Transform transImage;
20
21 public Transform pivot;
22
24
26
28
29 public int gx;
30
31 public int gy;
32
33 public Zone zone;
34
35 public LayoutGroup layoutButtons;
36
38
40
41 private void Awake()
42 {
43 if ((bool)imageFull)
44 {
45 imageFull.SetAlpha(0f);
46 }
47 }
48
49 public void SetFaction(Faction f)
50 {
51 note.Clear();
52 note.AddHeader("HeaderNoteFaction", f.Name);
53 note.AddTopic("relation", f.relation.GetTextRelation() ?? "");
54 note.AddTopic("type", f.TextType ?? "");
55 note.Build();
56 if (!imageFull)
57 {
58 return;
59 }
60 transImage.SetPositionX(pivot.position.x);
61 Sprite sprite = Resources.Load<Sprite>("Media/Graphics/Image/Faction/" + f.source.id + "_avatar");
62 TweenUtil.KillTween(ref tween);
63 if ((bool)sprite)
64 {
65 if (sprite != imageFull.sprite)
66 {
67 imageFull.SetAlpha(0f);
68 }
69 imageFull.sprite = sprite;
70 imageFull.SetNativeSize();
71 tween = imageIn.Play(imageFull.transform);
72 }
73 else
74 {
75 tween = imageOut.Play(imageFull.transform);
76 }
77 }
78
79 public void SetReligion(Religion f)
80 {
81 note.Clear();
82 UIItem c = note.AddHeader("HeaderFaction", "", f.GetSprite());
83 c.Find<UIText>("Name", recursive: true).SetText(f.Name);
84 c.Find<UIItem>("Topic1", recursive: true).SetTopic("relationGod", f.relation.ToString() ?? "");
85 c.Find<UIItem>("Topic2", recursive: true).SetTopic("type", f.source.GetText("textType") ?? "");
86 c.Find<UIItem>("Topic3", recursive: true).SetTopic("avatar", f.source.textAvatar ?? "");
87 string lang = "GSSleep";
88 if (f.id == "harmony")
89 {
90 lang = "GSWithdraw";
91 }
92 if (f.id == "oblivion")
93 {
94 lang = "GSStray";
95 }
96 c.Find<UIItem>("Topic4", recursive: true).SetTopic("status", lang);
97 note.AddText(f.source.GetDetail()).Hyphenate();
98 note.Build();
99 if (!imageFull)
100 {
101 return;
102 }
103 transImage.SetPositionX(pivot.position.x);
104 Sprite sprite = Resources.Load<Sprite>("Media/Graphics/Image/Faction/" + f.source.id + "_avatar");
105 TweenUtil.KillTween(ref tween);
106 if ((bool)sprite)
107 {
108 if (sprite != imageFull.sprite)
109 {
110 imageFull.SetAlpha(0f);
111 }
112 imageFull.sprite = sprite;
113 imageFull.SetNativeSize();
114 tween = imageIn.Play(imageFull.transform);
115 }
116 else
117 {
118 tween = imageOut.Play(imageFull.transform);
119 }
120 }
121
122 public void SetZone(Zone _zone)
123 {
124 zone = _zone;
125 FactionBranch branch = zone.branch;
126 bool isPCFaction = zone.IsPCFaction;
127 RankedZone rankedZone = (from a in EMono.game.spatials.ranks.GetList()
128 where a.z == zone
129 select a).First();
130 gx = zone.x;
131 gy = zone.y;
132 note.Clear();
133 note.AddHeader("HeaderNoteFaction", zone.Name);
134 note.AddTopic("mainFaction", zone.mainFaction.Name ?? "");
135 note.AddTopic("influence", zone.influence.ToString() ?? "");
136 if (isPCFaction)
137 {
138 note.AddTopic("branchLv", branch.TextLv);
139 }
140 note.AddTopic("wealth", (isPCFaction ? branch.resources.worth.value : rankedZone.value).ToFormat() ?? "");
142 if (isPCFaction)
143 {
144 note.AddTopic("rank_income", "rank_income2".lang(EMono.game.spatials.ranks.GetIncome(zone).ToFormat()));
145 }
146 if (isPCFaction)
147 {
148 note.Space();
149 note.AddHeaderTopic("landfeat".lang());
150 List<Element> list = _zone.ListLandFeats();
151 for (int i = 0; i < list.Count; i++)
152 {
153 note.AddText(list[i].Name + (((i == 1 && branch.lv < 4) || (i == 2 && branch.lv < 7)) ? "landfeat_locked".lang() : ""));
154 }
155 note.Space();
156 note.AddHeaderTopic("listRoamers".lang());
157 int num = 0;
158 foreach (Chara value in EMono.game.cards.globalCharas.Values)
159 {
160 if (value.homeBranch == branch)
161 {
162 note.AddText(value.Name);
163 num++;
164 if (num > 5)
165 {
166 break;
167 }
168 }
169 }
170 if (num == 0)
171 {
172 note.AddText("????????");
173 }
174 note.Space();
175 note.AddHeaderTopic("listPolicies".lang());
176 foreach (Element value2 in branch.elements.dict.Values)
177 {
178 if (value2.source.category == "policy")
179 {
180 note.AddText(value2.Name);
181 }
182 }
183 }
184 note.Build();
185 }
186
187 public void Clear()
188 {
189 note.Clear();
190 note.Build();
191 }
192}
Definition: Anime.cs:6
virtual Tween Play(Transform trans, UnityAction onComplete=null, float duration=-1f, float delay=0f)
Definition: Anime.cs:7
GlobalCharaList globalCharas
Definition: CardManager.cs:46
string Name
Definition: Card.cs:2073
Definition: Chara.cs:10
FactionBranch homeBranch
Definition: Chara.cs:932
Definition: EMono.cs:4
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
static Scene scene
Definition: EMono.cs:27
Dictionary< int, Element > dict
SourceElement.Row source
Definition: ELEMENT.cs:271
virtual string Name
Definition: ELEMENT.cs:302
EloMap elomap
Definition: EloMapActor.cs:7
Definition: EloMap.cs:8
HomeResourceManager resources
ElementContainerZone elements
string GetTextRelation()
virtual string TextType
Definition: FACTION.cs:154
string Name
Definition: FACTION.cs:150
FactionRelation relation
Definition: FACTION.cs:126
SpatialManager spatials
Definition: Game.cs:152
CardManager cards
Definition: Game.cs:155
HomeResourceWorth worth
string GetRankText(Zone z)
int GetIncome(Zone z)
List< RankedZone > GetList()
string Name
Definition: Religion.cs:30
SourceReligion.Row source
Definition: Religion.cs:32
int relation
Definition: Religion.cs:14
Sprite GetSprite()
Definition: Religion.cs:72
virtual string id
Definition: Religion.cs:26
EloMapActor elomapActor
Definition: Scene.cs:101
RankedZoneManager ranks
virtual string Name
Definition: Spatial.cs:495
Faction mainFaction
Definition: Spatial.cs:430
int y
Definition: Spatial.cs:106
int influence
Definition: Spatial.cs:214
int x
Definition: Spatial.cs:94
Transform pivot
void SetFaction(Faction f)
void SetZone(Zone _zone)
UIButton buttonBuy
Transform transImage
EloMapActor actor
LayoutGroup layoutButtons
void SetReligion(Religion f)
UIButton buttonVisit
UIButton buttonExplore
Definition: UIItem.cs:5
void Hyphenate()
Definition: UIItem.cs:45
Definition: UINote.cs:6
UIItem AddHeaderTopic(string text, Sprite sprite=null)
Definition: UINote.cs:89
void Clear()
Definition: UINote.cs:35
UIItem AddHeader(string text, Sprite sprite=null)
Definition: UINote.cs:79
UIItem AddTopic(string id, string text, string value=null)
Definition: UINote.cs:144
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113
void Space(int sizeY=0, int sizeX=1)
Definition: UINote.cs:62
void Build()
Definition: UINote.cs:49
Definition: UIText.cs:6
Definition: Zone.cs:12
FactionBranch branch
Definition: Zone.cs:34
List< Element > ListLandFeats()
Definition: Zone.cs:2938
bool IsPCFaction
Definition: Zone.cs:466