Elin Decompiled Documentation EA 23.153 Nightly
Loading...
Searching...
No Matches
ItemGeneral.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
6{
7 public enum Mode
8 {
10 Slave
11 }
12
13 private const int IconSize = 40;
14
15 private const int IconPadding = 10;
16
17 private const int ButtonPaddingWhenIcon = 3;
18
19 public LayoutGroup layout;
20
21 public int paddingSubText = 50;
22
23 public Card card;
24
25 private int count;
26
27 public void SetChara(Chara c, Mode mode = Mode.Default)
28 {
29 card = c;
31 string text = c.Name;
32 if (EClass.Branch?.uidMaid == c.uid)
33 {
34 text += ("(" + "maid".lang() + ")").TagSize(12);
35 }
36 FontColor c2 = FontColor.ButtonGeneral;
37 if (c.isDead)
38 {
39 c2 = FontColor.Bad;
40 }
41 else if (c.IsPCParty)
42 {
43 c2 = FontColor.Good;
44 }
45 else if (c.hp < c.MaxHP / 2 && c.currentZone == EClass._zone)
46 {
47 c2 = FontColor.Warning;
48 }
49 if (mode == Mode.Slave)
50 {
51 text = text + " " + c.bio.TextBioSlave(c);
52 }
53 button1.mainText.SetText(text, c2);
54 _ = button1.icon.rectTransform;
55 }
56
58 {
59 return card?.sourceRenderCard;
60 }
61
62 public void OnRefreshPref()
63 {
64 if (card != null && card.isChara)
65 {
67 }
68 }
69
70 public void Clear()
71 {
72 if (count <= 0)
73 {
74 return;
75 }
76 foreach (UIButton componentsInDirectChild in base.transform.GetComponentsInDirectChildren<UIButton>())
77 {
78 if (componentsInDirectChild != button1)
79 {
80 UnityEngine.Object.DestroyImmediate(componentsInDirectChild.gameObject);
81 }
82 }
83 count = 0;
84 }
85
86 public UIButton AddSubButton(Sprite sprite, Action action, string lang = null, Action<UITooltip> onTooltip = null)
87 {
88 UIButton uIButton = Util.Instantiate<UIButton>("UI/Element/Button/SubButton", base.transform);
89 uIButton.Rect().anchoredPosition = new Vector2(count * -40 - 20 - 10, 0f);
90 uIButton.icon.sprite = sprite;
91 uIButton.onClick.AddListener(delegate
92 {
93 action();
94 });
95 if (!lang.IsEmpty())
96 {
97 uIButton.tooltip.enable = true;
98 uIButton.tooltip.lang = lang;
99 }
100 if (onTooltip != null)
101 {
102 uIButton.tooltip.id = "note";
103 uIButton.tooltip.onShowTooltip = onTooltip;
104 uIButton.tooltip.enable = true;
105 }
106 uIButton.highlightTarget = button1;
107 count++;
108 return uIButton;
109 }
110
111 public void SetMainText(string lang, Sprite sprite = null, bool disableMask = true)
112 {
113 button1.mainText.SetText(lang.lang());
114 if ((bool)sprite)
115 {
116 button1.icon.sprite = sprite;
117 button1.icon.SetNativeSize();
118 if (disableMask)
119 {
120 DisableMask();
121 }
122 }
123 else
124 {
125 DisableIcon();
126 }
127 }
128
129 public UIButton SetSubText(string lang, int x, FontColor c = FontColor.Default, TextAnchor align = TextAnchor.MiddleLeft)
130 {
131 button1.subText.SetActive(enable: true);
132 button1.subText.SetText(lang.lang(), c);
133 button1.subText.alignment = align;
134 button1.mainText.rectTransform.sizeDelta = new Vector2(x - paddingSubText, 20f);
135 button1.subText.rectTransform.anchoredPosition = new Vector2(x, 0f);
136 return button1;
137 }
138
139 public UIButton SetSubText2(string lang, FontColor c = FontColor.Default, TextAnchor align = TextAnchor.MiddleRight)
140 {
141 button1.subText2.SetActive(enable: true);
142 button1.subText2.SetText(lang.lang(), c);
143 button1.subText2.alignment = align;
144 return button1;
145 }
146
147 public T AddPrefab<T>(string id) where T : Component
148 {
149 return Util.Instantiate<T>("UI/Element/Item/Extra/" + id, base.transform);
150 }
151
152 public void SetSound(SoundData data = null)
153 {
154 button1.soundClick = data ?? SE.DataClick;
155 }
156
157 public void DisableIcon()
158 {
159 button1.icon.transform.parent.SetActive(enable: false);
160 if (!button1.keyText)
161 {
162 button1.mainText.rectTransform.anchoredPosition = new Vector2(20f, 0f);
163 }
164 }
165
166 public void DisableMask()
167 {
168 image2.enabled = false;
169 }
170
171 public void Build()
172 {
173 RectTransform rectTransform = button1.Rect();
174 if (count > 0)
175 {
176 rectTransform.sizeDelta = new Vector2(count * -40 - 10 - 3, 0f);
177 }
178 }
179}
FontColor
Definition: FontColor.cs:2
string TextBioSlave(Chara c)
Definition: Biography.cs:494
Definition: Card.cs:11
virtual Chara Chara
Definition: Card.cs:2006
Biography bio
Definition: Card.cs:40
int hp
Definition: Card.cs:226
string Name
Definition: Card.cs:2073
virtual CardRow sourceRenderCard
Definition: Card.cs:2069
int uid
Definition: Card.cs:118
virtual bool isChara
Definition: Card.cs:2019
void SetImage(Image image, int dir, int idSkin=0)
Definition: Card.cs:5727
Definition: Chara.cs:10
override bool IsPCParty
Definition: Chara.cs:611
override int MaxHP
Definition: Chara.cs:704
Zone currentZone
Definition: Chara.cs:251
bool isDead
Definition: Chara.cs:385
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
static FactionBranch Branch
Definition: EClass.cs:22
void Build()
Definition: ItemGeneral.cs:171
const int ButtonPaddingWhenIcon
Definition: ItemGeneral.cs:17
void SetMainText(string lang, Sprite sprite=null, bool disableMask=true)
Definition: ItemGeneral.cs:111
UIButton SetSubText2(string lang, FontColor c=FontColor.Default, TextAnchor align=TextAnchor.MiddleRight)
Definition: ItemGeneral.cs:139
UIButton AddSubButton(Sprite sprite, Action action, string lang=null, Action< UITooltip > onTooltip=null)
Definition: ItemGeneral.cs:86
int paddingSubText
Definition: ItemGeneral.cs:21
void Clear()
Definition: ItemGeneral.cs:70
void OnRefreshPref()
Definition: ItemGeneral.cs:62
const int IconPadding
Definition: ItemGeneral.cs:15
void SetSound(SoundData data=null)
Definition: ItemGeneral.cs:152
void SetChara(Chara c, Mode mode=Mode.Default)
Definition: ItemGeneral.cs:27
T AddPrefab< T >(string id)
Definition: ItemGeneral.cs:147
const int IconSize
Definition: ItemGeneral.cs:13
void DisableMask()
Definition: ItemGeneral.cs:166
LayoutGroup layout
Definition: ItemGeneral.cs:19
void DisableIcon()
Definition: ItemGeneral.cs:157
RenderRow GetRenderRow()
Definition: ItemGeneral.cs:57
UIButton SetSubText(string lang, int x, FontColor c=FontColor.Default, TextAnchor align=TextAnchor.MiddleLeft)
Definition: ItemGeneral.cs:129
UIText subText2
Definition: UIButton.cs:106
UIText subText
Definition: UIButton.cs:104
Image icon
Definition: UIButton.cs:110
UIText keyText
Definition: UIButton.cs:108
UIText mainText
Definition: UIButton.cs:102
Definition: UIItem.cs:5
UIButton button1
Definition: UIItem.cs:18
void SetText(string s)
Definition: UIText.cs:159