Elin Decompiled Documentation EA 23.356.1 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() != Emo2.none && !(EMono._zone is Zone_Dungeon) && !EMono._zone.IsInstance)
80 {
82 }
83 else if ((owner.quest != null && EMono.game.quests.list.Contains(owner.quest)) || owner.trait.ShouldShowQuestIcon())
84 {
85 emo = Emo2.hint;
86 }
87 }
89 {
91 }
92 showIcon = emo != Emo2.none;
93 if (showIcon)
94 {
95 iconStatus.sprite = EMono.core.refs.spritesEmo[(int)emo];
96 }
97 iconStatus.SetActive(showIcon);
98 bool flag = owner.isChara && owner.HasElement(1421);
99 float num = (float)owner.hp / (float)owner.MaxHP;
100 if (flag)
101 {
102 num = (float)(owner.hp + owner.mana.value) / (float)(owner.MaxHP + owner.mana.max);
103 }
104 showHP = num < 0.9f && (owner.IsPCParty || owner.IsHostile() || (owner.enemy != null && owner.enemy.IsPCParty)) && !owner.IsPCFactionMinion;
105 if (showHP)
106 {
107 if (flag)
108 {
109 float x = (float)owner.mana.max / (float)(owner.mana.max + owner.MaxHP);
110 bgMP.transform.localScale = new Vector3(x, 1f, 1f);
111 }
112 barHP.transform.SetLocalScaleX(Mathf.Max(0f, num));
113 barHP.SetActive(enable: true);
114 bgHP.SetActive(enable: true);
115 bgMP.SetActive(flag);
116 }
117 else
118 {
119 barHP.SetActive(enable: false);
120 bgHP.SetActive(enable: false);
121 if ((bool)bgMP)
122 {
123 bgMP.SetActive(enable: false);
124 }
125 }
126 if ((bool)barHP2)
127 {
128 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);
129 showHP2 = num2 < 0.9f;
130 if (showHP2)
131 {
132 barHP2.transform.SetLocalScaleX(Mathf.Max(0f, num2));
133 barHP2.SetActive(enable: true);
134 bgHP2.SetActive(enable: true);
135 }
136 else
137 {
138 barHP2.SetActive(enable: false);
139 bgHP2.SetActive(enable: false);
140 }
141 }
142 }
143}
Emo2
Definition: Emo2.cs:2
bool CanGiveCard()
Definition: Affinity.cs:70
Vector3 position
Definition: CardRenderer.cs:21
string id
Definition: Card.cs:36
bool isRestocking
Definition: Card.cs:893
int hp
Definition: Card.cs:245
Trait trait
Definition: Card.cs:54
bool isHidden
Definition: Card.cs:533
CardRenderer renderer
Definition: Card.cs:64
int GetInt(string id, int? defaultInt=null)
Definition: Card.cs:2567
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6383
Definition: Chara.cs:10
override SourcePref Pref
Definition: Chara.cs:807
new TraitChara trait
Definition: Chara.cs:511
AIAct ai
Definition: Chara.cs:208
override bool IsPC
Definition: Chara.cs:632
Chara host
Definition: Chara.cs:35
override bool IsPCParty
Definition: Chara.cs:635
Emo2 emoIcon
Definition: Chara.cs:110
bool CanSee(Card c)
Definition: Chara.cs:1279
override bool IsPCFactionMinion
Definition: Chara.cs:675
override int MaxHP
Definition: Chara.cs:728
Stats mana
Definition: Chara.cs:1215
Chara parasite
Definition: Chara.cs:32
Chara ride
Definition: Chara.cs:29
Affinity affinity
Definition: Chara.cs:320
Chara enemy
Definition: Chara.cs:88
Quest quest
Definition: Chara.cs:26
bool IsHostile()
Definition: Chara.cs:6952
bool isDead
Definition: Chara.cs:395
bool DroppedCard(string id)
Definition: CodexManager.cs:46
List< Sprite > spritesEmo
Definition: CoreRef.cs:380
OrbitIcons orbitIcons
Definition: CoreRef.cs:350
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
QuestManager quests
Definition: Game.cs:183
virtual Thing Thing
Definition: HotItem.cs:38
CodexManager codex
Definition: Player.cs:1185
HotItem currentHotItem
Definition: Player.cs:1170
List< Quest > list
Definition: QuestManager.cs:11
Vector3 offset
Definition: RenderData.cs:19
Vector2 size
Definition: RenderData.cs:31
RenderData data
Definition: RenderObject.cs:34
float heightFix
Definition: SourcePref.cs:317
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
virtual bool ShouldShowQuestIcon()
Definition: TraitChara.cs:153
Emo2 GetRestockedIcon()
Definition: Trait.cs:1688
virtual Emo2 GetHeldEmo(Chara c)
Definition: Trait.cs:672
bool IsInstance
Definition: Zone.cs:496
bool IsPCFaction
Definition: Zone.cs:480