Elin Decompiled Documentation EA 23.299 Nightly
Loading...
Searching...
No Matches
LayerShippingResult.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using DG.Tweening;
3using UnityEngine;
4using UnityEngine.UI;
5
7{
8 public UIList list;
9
11
13
14 public Image gaugeGold;
15
16 public Image gaugeHearth;
17
18 public Image gaugeDebt;
19
20 public Image imageBG;
21
23
25
27
29
31
33
35
37
39
40 public bool showEffect = true;
41
42 public float duration;
43
44 public int update;
45
46 public int maxUpdate;
47
49
50 public Sprite[] spriteBG;
51
52 private int lastBonus;
53
54 private new void Awake()
55 {
57 List<int> list = new List<int> { 0, 1 };
58 Add("corgon", 2);
59 Add("loytel", 3);
60 Add("farris", 4);
61 if (ELayer.game.quests.IsCompleted("negotiation_darkness") && !ELayer.player.flags.killedDuponne)
62 {
63 Add("demitas", 6);
64 }
65 else
66 {
67 Add("demitas", 5);
68 }
69 int num = list.RandomItem();
70 imageBG.sprite = spriteBG[num];
71 Rand.SetSeed();
72 base.Awake();
73 void Add(string id, int index)
74 {
76 if (chara != null && chara.IsPCFaction)
77 {
78 list.Add(index);
79 }
80 }
81 }
82
83 public void Show()
84 {
85 Show(ELayer.player.shippingResults.LastItem() ?? new ShippingResult());
86 SE.Play("money_shipping");
87 InvokeRepeating("UpdateRepeating", 0f, duration / (float)maxUpdate);
88 }
89
90 public void UpdateRepeating()
91 {
92 if (showEffect)
93 {
94 Refresh();
95 }
96 }
97
98 public void Refresh()
99 {
100 if (update == 0)
101 {
102 lastBonus = 0;
103 }
104 if (!showEffect)
105 {
106 if (update != maxUpdate)
107 {
108 DOTweenAnimation[] componentsInChildren = GetComponentsInChildren<DOTweenAnimation>();
109 foreach (DOTweenAnimation dOTweenAnimation in componentsInChildren)
110 {
111 if (dOTweenAnimation.tween != null)
112 {
113 dOTweenAnimation.tween.Kill(complete: true);
114 }
115 }
116 }
118 }
120 float num = (float)update / (float)maxUpdate;
121 long income = result.GetIncome();
122 income = (long)((float)income * num);
123 long num2 = result.total + income;
124 textIncome.text = Lang._currency(income, showUnit: true);
125 textIncomeTotal.text = Lang._currency(num2, showUnit: true);
126 int shippingBonus = ELayer.player.stats.GetShippingBonus(result.total);
127 int shippingBonus2 = ELayer.player.stats.GetShippingBonus(num2);
128 int lastShippingExp = ELayer.player.stats.lastShippingExp;
129 int lastShippingExpMax = ELayer.player.stats.lastShippingExpMax;
130 int hearthLv = result.hearthLv;
131 int num3 = (int)((float)result.hearthExpGained * num);
132 int nextExp = branch.GetNextExp(hearthLv);
133 int num4 = result.hearthExp + num3;
134 gaugeGold.rectTransform.sizeDelta = new Vector2(Mathf.Min(300, 300 * lastShippingExp / lastShippingExpMax), 50f);
135 gaugeHearth.rectTransform.sizeDelta = new Vector2(Mathf.Min(300, 300 * num4 / nextExp), 50f);
136 gaugeDebt.rectTransform.sizeDelta = new Vector2(Mathf.Min(300f, 300f * ((float)result.debt / 20000000f)), 50f);
137 textGold.text = "shipping_nextGold".lang(lastShippingExp.ToFormat(), lastShippingExpMax.ToFormat());
138 int num5 = shippingBonus2 - shippingBonus;
139 textGold2.text = ((num5 == 0) ? "" : ("+" + num5));
140 textHearth.text = "shipping_hearth".lang(hearthLv.ToString() ?? "", (100f * (float)num4 / (float)nextExp).ToString("F1"));
141 float num6 = 100f * (float)num3 / (float)nextExp;
142 textHearth2.text = ((num6 == 0f) ? "" : ("+" + num6.ToString("F1") + "%"));
143 textDebt.text = (ELayer.game.quests.IsStarted<QuestDebt>() ? (Lang._currency(result.debt, showUnit: true) ?? "") : "???");
144 gaugeDebt.SetActive(ELayer.game.quests.IsStarted<QuestDebt>());
145 if (shippingBonus2 - shippingBonus != lastBonus)
146 {
147 lastBonus = shippingBonus2 - shippingBonus;
148 if (showEffect)
149 {
150 SE.Play("ore_drop");
151 }
152 }
153 update++;
154 if (showEffect && update > maxUpdate)
155 {
156 SE.Play("regi");
157 showEffect = false;
158 }
159 }
160
161 public void Show(ShippingResult _result)
162 {
163 result = _result;
165 _ = zone.branch;
166 list.callbacks = new UIList.Callback<ShippingResult.Item, UIItem>
167 {
168 onInstantiate = delegate(ShippingResult.Item a, UIItem b)
169 {
170 b.text1.SetText(a.text);
171 b.text2.SetText(a.income.ToFormat());
172 }
173 };
174 list.Clear();
175 foreach (ShippingResult.Item item in result.items)
176 {
177 list.Add(item);
178 }
179 list.Refresh();
180 Date date = Date.ToDate(result.rawDate);
181 textTitle.text = date.month + "/" + date.day + " " + date.year;
182 textHome.text = "shipping_home".lang(zone.Name);
183 Refresh();
184 int count = ELayer.player.shippingResults.Count;
185 int index = ELayer.player.shippingResults.IndexOf(result);
186 buttonNext.SetActive(index != -1 && count > index + 1);
187 buttonPrev.SetActive(index > 0);
188 buttonNext.SetOnClick(delegate
189 {
190 showEffect = false;
191 Show(ELayer.player.shippingResults[index + 1]);
192 });
193 buttonPrev.SetOnClick(delegate
194 {
195 showEffect = false;
196 Show(ELayer.player.shippingResults[index - 1]);
197 });
198 this.RebuildLayout(recursive: true);
199 }
200}
list. Add(item3)
Chara Find(string id)
Definition: CardManager.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
Definition: Chara.cs:10
override bool IsPCFaction
Definition: Chara.cs:685
Zone homeZone
Definition: Chara.cs:269
Definition: Date.cs:4
static Date ToDate(int raw)
Definition: Date.cs:399
int year
Definition: Date.cs:38
Definition: ELayer.cs:4
static Chara pc
Definition: ELayer.cs:15
static Player player
Definition: ELayer.cs:13
static Game game
Definition: ELayer.cs:9
int GetNextExp(int _lv=-1)
SpatialManager spatials
Definition: Game.cs:153
CardManager cards
Definition: Game.cs:156
QuestManager quests
Definition: Game.cs:183
int seed
Definition: Game.cs:201
Definition: Lang.cs:6
static string _currency(object a, string IDCurrency)
Definition: Lang.cs:164
void Show(ShippingResult _result)
bool killedDuponne
Definition: Player.cs:592
int GetShippingBonus(long _a)
Definition: Player.cs:248
int lastShippingExp
Definition: Player.cs:146
int lastShippingExpMax
Definition: Player.cs:148
int days
Definition: Player.cs:75
Flags flags
Definition: Player.cs:1161
Stats stats
Definition: Player.cs:1083
List< ShippingResult > shippingResults
Definition: Player.cs:1191
bool IsCompleted(string id)
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:44
List< Item > items
Zone Find(string id)
virtual string Name
Definition: Spatial.cs:509
Definition: UIItem.cs:5
UIText text2
Definition: UIItem.cs:8
UIText text1
Definition: UIItem.cs:6
Definition: UIList.cs:9
override void Clear()
Definition: UIList.cs:401
override void Add(object item)
Definition: UIList.cs:354
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:476
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:163
Definition: Zone.cs:12
FactionBranch branch
Definition: Zone.cs:34