Elin Decompiled Documentation EA 23.264 Nightly
Loading...
Searching...
No Matches
TCOrbitChara.cs
Go to the documentation of this file.
1using UnityEngine;
2
3public class TCOrbitChara : TCOrbit
4{
5 public GameObject goIcon;
6
7 public SpriteRenderer iconRelation;
8
9 public SpriteRenderer iconStatus;
10
11 public SpriteRenderer barHP;
12
13 public SpriteRenderer bgMP;
14
15 public SpriteRenderer bgHP;
16
17 public SpriteRenderer barHP2;
18
19 public SpriteRenderer bgHP2;
20
21 public new Chara owner;
22
23 private float timer;
24
25 private bool showHP;
26
27 private bool showIcon;
28
29 private bool showHP2;
30
31 public override void OnSetOwner()
32 {
33 owner = base.owner as Chara;
35 goIcon.transform.SetLocalPositionY(data.offset.y + data.size.y + 0.32f + owner.Pref.heightFix);
36 timer = 0f;
37 Refresh();
38 RefreshAll();
39 }
40
41 public override void Refresh()
42 {
43 timer += Time.deltaTime;
44 if (timer > 0.2f)
45 {
46 timer = 0f;
47 RefreshAll();
48 }
49 if ((!owner.isHidden || EMono.pc.CanSee(owner)) && (showHP || showHP2 || showIcon))
50 {
51 if (!base.gameObject.activeSelf)
52 {
53 base.gameObject.SetActive(value: true);
54 }
55 base.transform.position = owner.renderer.position;
56 }
57 else if (base.gameObject.activeSelf)
58 {
59 base.gameObject.SetActive(value: false);
60 }
61 }
62
63 public override void RefreshAll()
64 {
65 showHP = (showHP2 = (showIcon = false));
66 if (owner.isDead || owner.host != null)
67 {
68 return;
69 }
70 _ = owner.ai;
72 Emo2 emo = owner.emoIcon;
73 if (emo == Emo2.none)
74 {
76 {
77 emo = Emo2.hintEvent;
78 }
79 else if (owner.isRestocking && (!owner.IsPCParty || EMono._zone.IsPCFaction) && owner.trait.GetRestockedIcon() != 0 && !(EMono._zone is Zone_Dungeon))
80 {
82 }
83 else
84 {
85 bool flag = false;
86 if (owner.quest != null && EMono.game.quests.list.Contains(owner.quest))
87 {
88 flag = true;
89 }
90 else if (owner.IsUnique && !EMono.game.IsSurvival)
91 {
92 string id = owner.id;
93 if (!(id == "ashland"))
94 {
95 if (id == "fiama")
96 {
97 if (EMono.game.quests.GetPhase<QuestMain>() >= 200 && EMono.player.dialogFlags.TryGetValue("fiama1", 0) == 0)
98 {
99 flag = true;
100 }
101 else if (EMono.pc.homeBranch != null)
102 {
103 foreach (Chara member in EMono.pc.homeBranch.members)
104 {
105 if (member.isDead && member.GetInt(100) != 0)
106 {
107 flag = true;
108 break;
109 }
110 }
111 }
112 }
113 }
114 else
115 {
116 int phase = EMono.game.quests.GetPhase<QuestMain>();
117 if ((phase == 0 && EMono.player.dialogFlags.TryGetValue("ash1", 0) == 0) || phase == 200)
118 {
119 flag = true;
120 }
121 }
122 }
123 if (flag)
124 {
125 emo = Emo2.hint;
126 }
127 }
128 }
130 {
132 }
133 showIcon = emo != Emo2.none;
134 if (showIcon)
135 {
136 iconStatus.sprite = EMono.core.refs.spritesEmo[(int)emo];
137 }
138 iconStatus.SetActive(showIcon);
139 bool flag2 = owner.isChara && owner.HasElement(1421);
140 float num = (float)owner.hp / (float)owner.MaxHP;
141 if (flag2)
142 {
143 num = (float)(owner.hp + owner.mana.value) / (float)(owner.MaxHP + owner.mana.max);
144 }
145 showHP = num < 0.9f && (owner.IsPCParty || owner.IsHostile() || (owner.enemy != null && owner.enemy.IsPCParty));
146 if (showHP)
147 {
148 if (flag2)
149 {
150 float x = (float)owner.mana.max / (float)(owner.mana.max + owner.MaxHP);
151 bgMP.transform.localScale = new Vector3(x, 1f, 1f);
152 }
153 barHP.transform.SetLocalScaleX(Mathf.Max(0f, num));
154 barHP.SetActive(enable: true);
155 bgHP.SetActive(enable: true);
156 bgMP.SetActive(flag2);
157 }
158 else
159 {
160 barHP.SetActive(enable: false);
161 bgHP.SetActive(enable: false);
162 if ((bool)bgMP)
163 {
164 bgMP.SetActive(enable: false);
165 }
166 }
167 if ((bool)barHP2)
168 {
169 float num2 = Mathf.Min(1f, (owner.parasite != null) ? ((float)owner.parasite.hp / (float)owner.parasite.MaxHP) : 1f, (owner.ride != null) ? ((float)owner.ride.hp / (float)owner.ride.MaxHP) : 1f);
170 showHP2 = num2 < 0.9f;
171 if (showHP2)
172 {
173 barHP2.transform.SetLocalScaleX(Mathf.Max(0f, num2));
174 barHP2.SetActive(enable: true);
175 bgHP2.SetActive(enable: true);
176 }
177 else
178 {
179 barHP2.SetActive(enable: false);
180 bgHP2.SetActive(enable: false);
181 }
182 }
183 }
184}
Emo2
Definition: Emo2.cs:2
bool CanGiveCard()
Definition: Affinity.cs:63
int GetInt(int id, int? defaultInt=null)
Definition: BaseCard.cs:25
Vector3 position
Definition: CardRenderer.cs:21
string id
Definition: Card.cs:36
bool IsUnique
Definition: Card.cs:2092
bool isRestocking
Definition: Card.cs:891
int hp
Definition: Card.cs:243
Trait trait
Definition: Card.cs:54
bool isHidden
Definition: Card.cs:531
CardRenderer renderer
Definition: Card.cs:62
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6061
Definition: Chara.cs:10
override SourcePref Pref
Definition: Chara.cs:789
new TraitChara trait
Definition: Chara.cs:505
AIAct ai
Definition: Chara.cs:204
override bool IsPC
Definition: Chara.cs:614
Chara host
Definition: Chara.cs:33
override bool IsPCParty
Definition: Chara.cs:617
Emo2 emoIcon
Definition: Chara.cs:108
bool CanSee(Card c)
Definition: Chara.cs:1220
override int MaxHP
Definition: Chara.cs:710
Stats mana
Definition: Chara.cs:1156
Chara parasite
Definition: Chara.cs:30
Chara ride
Definition: Chara.cs:27
Affinity affinity
Definition: Chara.cs:316
Chara enemy
Definition: Chara.cs:86
Quest quest
Definition: Chara.cs:24
FactionBranch homeBranch
Definition: Chara.cs:1068
bool IsHostile()
Definition: Chara.cs:6495
bool isDead
Definition: Chara.cs:391
bool DroppedCard(string id)
Definition: CodexManager.cs:46
List< Sprite > spritesEmo
Definition: CoreRef.cs:377
OrbitIcons orbitIcons
Definition: CoreRef.cs:347
CoreRef refs
Definition: Core.cs:51
Definition: EMono.cs:4
static Core core
Definition: EMono.cs:5
static Chara pc
Definition: EMono.cs:13
static Player player
Definition: EMono.cs:11
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
List< Chara > members
bool IsSurvival
Definition: Game.cs:276
QuestManager quests
Definition: Game.cs:183
virtual Thing Thing
Definition: HotItem.cs:38
CodexManager codex
Definition: Player.cs:1115
Dictionary< string, int > dialogFlags
Definition: Player.cs:1040
HotItem currentHotItem
Definition: Player.cs:1100
List< Quest > list
Definition: QuestManager.cs:11
Vector3 offset
Definition: RenderData.cs:18
Vector2 size
Definition: RenderData.cs:30
RenderData data
Definition: RenderObject.cs:34
float heightFix
Definition: SourcePref.cs:303
virtual int value
Definition: Stats.cs:56
virtual int max
Definition: Stats.cs:68
SpriteRenderer iconStatus
Definition: TCOrbitChara.cs:9
override void RefreshAll()
Definition: TCOrbitChara.cs:63
SpriteRenderer bgMP
Definition: TCOrbitChara.cs:13
override void Refresh()
Definition: TCOrbitChara.cs:41
new Chara owner
Definition: TCOrbitChara.cs:21
SpriteRenderer barHP
Definition: TCOrbitChara.cs:11
SpriteRenderer barHP2
Definition: TCOrbitChara.cs:17
override void OnSetOwner()
Definition: TCOrbitChara.cs:31
SpriteRenderer bgHP2
Definition: TCOrbitChara.cs:19
SpriteRenderer bgHP
Definition: TCOrbitChara.cs:15
GameObject goIcon
Definition: TCOrbitChara.cs:5
SpriteRenderer iconRelation
Definition: TCOrbitChara.cs:7
Emo2 GetRestockedIcon()
Definition: Trait.cs:1505
virtual Emo2 GetHeldEmo(Chara c)
Definition: Trait.cs:658
bool IsPCFaction
Definition: Zone.cs:473