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