Elin Decompiled Documentation EA 23.199 Nightly
Loading...
Searching...
No Matches
LayerAbility Class Reference
Inheritance diagram for LayerAbility:
ELayer IDragParent Layer IUISkin

Classes

class  Config
 

Public Member Functions

override void OnInit ()
 
void RefreshConfig ()
 
override void OnSwitchContent (Window window)
 
override void OnUpdateInput ()
 
void SelectGroup (string id)
 
void _Redraw ()
 
void OnStartDrag (UIButton b)
 
void OnDrag (UIButton b)
 
void OnEndDrag (UIButton b, bool cancel=false)
 
void OnDisable ()
 
- Public Member Functions inherited from ELayer
override void OnBeforeAddLayer ()
 
void InitInspector ()
 
sealed override void Init ()
 
override void OnAfterAddLayer ()
 
void TryShowHelp ()
 
void AddLayerToUI (string id)
 
void TryShowHint (string _langHint=null)
 
void TalkHomeMemeber (string id)
 
void TalkMaid (string id)
 
override void OnRightClick ()
 
- Public Member Functions inherited from Layer
virtual string GetTextHeader (Window window)
 
virtual bool HeaderIsListOf (int id)
 
virtual void Init ()
 
virtual void OnInit ()
 
virtual void OnAfterInit ()
 
virtual void ApplySkin ()
 
void ShowScreenLock (string id)
 
void UpdateInput ()
 
virtual void OnUpdateInput ()
 
virtual void OnRightClick ()
 
virtual bool OnBack ()
 
virtual void OnChangeLayer ()
 
virtual void OnCreate ()
 
void _AddLayer (string id)
 
Layer AddLayer (string id)
 
AddLayer< T > ()
 
AddLayer< T > (string id)
 
AddLayerDontCloseOthers< T > ()
 
Layer AddLayerDontCloseOthers (Layer l)
 
GetOrAddLayer< T > ()
 
virtual void OnBeforeAddLayer ()
 
virtual void OnAfterAddLayer ()
 
Layer AddLayer (Layer l)
 
void ToggleLayer (string id)
 
ToggleLayer< T > (string id=null)
 
void WaitAndClose ()
 
void OnClickClose ()
 
virtual void Close ()
 
void CloseLayers ()
 
void RemoveLayers (bool removeImportant=false)
 
bool RemoveLayer< T > ()
 
void RemoveLayer (Layer l)
 
virtual void OnKill ()
 
Layer SetOnKill (Action action)
 
void DisableClose ()
 
void Delay (float duration=0.05f)
 
Layer SetDelay (float d)
 
Layer GetLayer (string id)
 
GetLayer< T > (bool fromTop=false)
 
Layer GetTopLayer ()
 
void SwitchContent (int idWindow, int i)
 
virtual void OnSwitchContent (Window window)
 
Layer SetTitles (string langList, string idHeaderRow=null)
 
bool IsBlockWidgetClick ()
 
bool IsHideHud ()
 
bool IsAllowGeneralInput ()
 
bool IsUseBlur ()
 
bool IsPointerOnLayer ()
 
void ApplySkin ()
 
void OnStartDrag (UIButton b)
 
void OnDrag (UIButton b)
 
void OnEndDrag (UIButton b, bool cancel=false)
 

Static Public Member Functions

static void SetDirty (Element a)
 
static void ClearHotElement ()
 
static void Redraw ()
 
- Static Public Member Functions inherited from ELayer
static int rnd (int a)
 
- Static Public Member Functions inherited from Layer
static T Create< T > ()
 
static T Create< T > (string path)
 
static Layer Create (string path)
 

Public Attributes

UIDynamicList list
 
Chara chara
 
Transform headerRow
 
string[] idGroup = new string[6] { "all", "attack", "defense", "util", "ability", "favAbility" }
 
- Public Attributes inherited from Layer
Option option
 
UnityEvent onKill
 
Anime animeIn
 
Anime animeOut
 
bool closeOthers
 
bool defaultActionMode = true
 
Button screenLock
 
Layer parent
 
string idLayer
 
List< Layerlayers = new List<Layer>()
 
Vector2 lastParentPos
 
List< Windowwindows = new List<Window>()
 
string langHint
 

Static Public Attributes

static LayerAbility Instance
 
static ButtonAbility hotElement
 
- Static Public Attributes inherited from Layer
static int skipInput
 
static bool closeOnRightClick
 
static bool rightClicked
 
static bool cancelKeyDown
 
static bool ignoreSounds
 
static Transform blurStopInstance
 
static string[] searchPath = new string[3] { "Layer", "Layer/Dialog", "Layer/LayerHome" }
 

Properties

new Config config [get]
 
- Properties inherited from ELayer
static Core core [get]
 
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static FactionBranch Branch [get]
 
static Faction Home [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static CoreConfig config [get]
 
static GameSetting setting [get]
 
static ColorProfile Colors [get]
 
static SourceManager sources [get]
 
static World world [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 
bool IsFloat [get]
 
virtual string IdHelp [get]
 
- Properties inherited from Layer
Layer TopLayer [get]
 
string uid [get]
 
virtual RectTransform rectLayers [get]
 
virtual bool blockWidgetClick [get]
 

Additional Inherited Members

- Protected Member Functions inherited from ELayer
sealed override void _Close ()
 
sealed override void Kill ()
 
- Protected Member Functions inherited from Layer
virtual void Awake ()
 
virtual void _Close ()
 
virtual void Kill ()
 
- Protected Attributes inherited from Layer
RectTransform _rect
 
bool isDestroyed
 

Detailed Description

Definition at line 5 of file LayerAbility.cs.

Member Function Documentation

◆ _Redraw()

void LayerAbility._Redraw ( )
inline

Definition at line 243 of file LayerAbility.cs.

244 {
245 list.List();
246 }
UIDynamicList list
Definition: LayerAbility.cs:25
override void List()

References list, and UIDynamicList.List().

Referenced by Redraw().

◆ ClearHotElement()

static void LayerAbility.ClearHotElement ( )
inlinestatic

Definition at line 168 of file LayerAbility.cs.

169 {
170 ButtonAbility buttonAbility = hotElement;
171 hotElement = null;
173 if ((bool)buttonAbility && buttonAbility.attach != null)
174 {
175 UnityEngine.Object.Destroy(buttonAbility.attach.gameObject);
176 }
177 EInput.Consume();
178 ELayer.ui.hud.SetDragImage(null);
179 }
Transform attach
Definition: EInput.cs:8
static void Consume(int _skipFrame)
Definition: EInput.cs:656
Definition: ELayer.cs:4
static UI ui
Definition: ELayer.cs:21
static ButtonAbility hotElement
Definition: LayerAbility.cs:23
static void SetDirtyAll(bool immediate=false)

References ButtonAbility.attach, EInput.Consume(), hotElement, LayerInventory.SetDirtyAll(), and ELayer.ui.

Referenced by ActionMode.UpdateInput().

◆ OnDisable()

void LayerAbility.OnDisable ( )
inline

Definition at line 281 of file LayerAbility.cs.

282 {
283 ELayer.player.pref.sortAbility = list.sortMode;
284 ELayer.ui.hud.imageDrag.SetActive(enable: false);
285 ELayer.ui.RemoveLayer<LayerRegisterHotbar>();
286 }
UIList.SortMode sortMode
Definition: BaseList.cs:33

References list, BaseList.sortMode, and ELayer.ui.

◆ OnDrag()

void LayerAbility.OnDrag ( UIButton  b)
inline

Implements IDragParent.

Definition at line 253 of file LayerAbility.cs.

254 {
255 ButtonAbility buttonAbility = b as ButtonAbility;
256 string text = "";
258 if ((bool)(layer?.GetButton() ?? null))
259 {
260 text = "hotitemRegister";
261 }
262 else if (!layer)
263 {
264 ELayer.ui.AddLayer<LayerRegisterHotbar>().SetItem(buttonAbility.source);
265 }
266 ELayer.ui.hud.SetDragText(text);
267 }
SourceElement.Row source
Definition: ButtonAbility.cs:8
ButtonHotItem GetButton()

References LayerRegisterHotbar.GetButton(), ButtonAbility.source, and ELayer.ui.

◆ OnEndDrag()

void LayerAbility.OnEndDrag ( UIButton  b,
bool  cancel = false 
)
inline

Implements IDragParent.

Definition at line 269 of file LayerAbility.cs.

270 {
271 ELayer.ui.hud.imageDrag.SetActive(enable: false);
272 _ = (b as ButtonAbility).source;
274 if ((bool)layer)
275 {
276 layer.OnEndDrag();
277 ELayer.ui.RemoveLayer<LayerRegisterHotbar>();
278 }
279 }

References LayerRegisterHotbar.OnEndDrag(), and ELayer.ui.

◆ OnInit()

override void LayerAbility.OnInit ( )
inlinevirtual

Reimplemented from Layer.

Definition at line 36 of file LayerAbility.cs.

37 {
38 chara = ELayer.pc;
39 string[] array = idGroup;
40 foreach (string text in array)
41 {
42 windows[0].AddTab("cat_" + text, windows[0].CurrentContent);
43 }
44 Instance = this;
45 list.sortMode = ELayer.player.pref.sortAbility;
47 {
48 UIButton buttonSort = windows[0].buttonSort;
49 buttonSort.onClick.RemoveAllListeners();
50 buttonSort.onClick.AddListener(delegate
51 {
52 UIContextMenu uIContextMenu = ELayer.ui.CreateContextMenuInteraction();
53 uIContextMenu.layoutGroup.childAlignment = TextAnchor.UpperLeft;
54 uIContextMenu.alwaysPopLeft = true;
55 UIContextMenu uIContextMenu2 = uIContextMenu.AddChild("sort", TextAnchor.UpperRight);
56 UIList.SortMode[] sorts = list.sorts;
57 for (int j = 0; j < sorts.Length; j++)
58 {
59 UIList.SortMode sortMode = sorts[j];
60 string text2 = ((list.sortMode == sortMode) ? "context_checker".lang() : "");
61 UIList.SortMode _sort = sortMode;
62 uIContextMenu2.AddButton(text2 + sortMode.ToString().lang(), delegate
63 {
64 list.List(_sort);
65 SE.Click();
66 });
67 }
68 UIContextMenu uIContextMenu3 = uIContextMenu.AddChild("config", TextAnchor.UpperRight);
69 uIContextMenu3.AddSlider("alpha", (float a) => a.ToString() ?? "", config.bgAlpha, delegate(float b)
70 {
71 config.bgAlpha = (int)b;
73 }, 0f, 100f, isInt: true, hideOther: false);
74 uIContextMenu3.AddToggle("autoHideBG", config.autoHideBG, delegate(bool a)
75 {
76 config.autoHideBG = a;
78 });
79 uIContextMenu3.AddToggle("hideDepletedSpell", config.hideDepletedSpell, delegate(bool a)
80 {
81 config.hideDepletedSpell = a;
82 list.List();
83 });
84 uIContextMenu3.AddToggle("fixedSize", config.fixedSize, delegate(bool a)
85 {
86 config.fixedSize = a;
88 });
89 uIContextMenu3.AddToggle("fixedPos", config.fixedPos, delegate(bool a)
90 {
91 config.fixedPos = a;
93 });
94 uIContextMenu.Show();
95 });
96 }
99 }
UIList.SortMode[] sorts
Definition: BaseList.cs:15
static Chara pc
Definition: ELayer.cs:15
static Player player
Definition: ELayer.cs:13
static Game game
Definition: ELayer.cs:9
bool altAbility
Definition: Game.cs:270
static LayerAbility Instance
Definition: LayerAbility.cs:21
void RefreshConfig()
string[] idGroup
Definition: LayerAbility.cs:32
new Config config
Definition: LayerAbility.cs:34
List< Window > windows
Definition: Layer.cs:116
int lastIdTabAbility
Definition: Player.cs:31
UIList.SortMode sortAbility
Definition: Player.cs:53
Pref pref
Definition: Player.cs:969
UIContextMenuItem AddToggle(string idLang="", bool isOn=false, UnityAction< bool > action=null)
void Show(UIItem i)
UIContextMenuItem AddSlider(string text, Func< float, string > textFunc, float value, Action< float > action, float min=0f, float max=1f, bool isInt=false, bool hideOther=true, bool useInput=false)
void AddButton(Func< string > funcText, UnityAction action=null)
UIContextMenu AddChild(string idLang, TextAnchor anchor)
Definition: UIList.cs:9
SortMode
Definition: UIList.cs:27

References UIContextMenu.AddButton(), UIContextMenu.AddChild(), UIContextMenu.AddSlider(), UIContextMenu.AddToggle(), Game.altAbility, LayerAbility.Config.autoHideBG, LayerAbility.Config.bgAlpha, chara, config, LayerAbility.Config.fixedPos, LayerAbility.Config.fixedSize, ELayer.game, LayerAbility.Config.hideDepletedSpell, idGroup, Instance, Player.Pref.lastIdTabAbility, list, UIDynamicList.List(), ELayer.pc, ELayer.player, Player.pref, RefreshConfig(), UIContextMenu.Show(), Player.Pref.sortAbility, BaseList.sorts, ELayer.ui, and Layer.windows.

◆ OnStartDrag()

void LayerAbility.OnStartDrag ( UIButton  b)
inline

Implements IDragParent.

Definition at line 248 of file LayerAbility.cs.

249 {
250 ELayer.ui.hud.SetDragImage(b.icon);
251 }
Image icon
Definition: UIButton.cs:110

References UIButton.icon, and ELayer.ui.

◆ OnSwitchContent()

override void LayerAbility.OnSwitchContent ( Window  window)
inlinevirtual

Reimplemented from Layer.

Definition at line 147 of file LayerAbility.cs.

148 {
149 ELayer.player.pref.lastIdTabAbility = window.idTab;
150 SelectGroup(windows[0].setting.tabs[window.idTab].idLang.Replace("cat_", ""));
151 }
static GameSetting setting
Definition: ELayer.cs:33
void SelectGroup(string id)
int idTab
Definition: Window.cs:694

References Window.idTab, SelectGroup(), ELayer.setting, and Layer.windows.

◆ OnUpdateInput()

override void LayerAbility.OnUpdateInput ( )
inlinevirtual

Reimplemented from Layer.

Definition at line 153 of file LayerAbility.cs.

154 {
156 {
157 ButtonAbility componentOf = InputModuleEX.GetComponentOf<ButtonAbility>();
158 if ((bool)componentOf)
159 {
161 SE.SelectHotitem();
162 return;
163 }
164 }
165 base.OnUpdateInput();
166 }
static ButtonState middleMouse
Definition: EInput.cs:353
void SetCurrentHotItem(HotItem item)
Definition: Player.cs:2200

References ButtonState.down, EInput.middleMouse, ELayer.player, Player.SetCurrentHotItem(), and ButtonAbility.source.

◆ Redraw()

static void LayerAbility.Redraw ( )
inlinestatic

Definition at line 235 of file LayerAbility.cs.

236 {
237 if ((bool)Instance)
238 {
240 }
241 }
void _Redraw()

References _Redraw(), and Instance.

Referenced by ElementContainerCard.CheckSkillActions(), and TraitBaseSpellbook.OnRead().

◆ RefreshConfig()

void LayerAbility.RefreshConfig ( )
inline

Definition at line 101 of file LayerAbility.cs.

102 {
103 Window window = windows[0];
104 window.imageBG.color = Color.white.SetAlpha(0.01f * (float)config.bgAlpha);
105 window.listCgFloat.Clear();
106 if (config.autoHideBG)
107 {
108 window.listCgFloat.Add(window.cgBG);
109 }
110 window.cgBG.enabled = config.autoHideBG;
111 window.setting.allowMove = !config.fixedPos;
112 window.setting.allowResize = !config.fixedSize;
113 }
Definition: Window.cs:13
List< CanvasGroup > listCgFloat
Definition: Window.cs:672
CanvasGroup cgBG
Definition: Window.cs:666

References LayerAbility.Config.autoHideBG, LayerAbility.Config.bgAlpha, Window.cgBG, Color, config, LayerAbility.Config.fixedPos, LayerAbility.Config.fixedSize, Window.listCgFloat, and Layer.windows.

Referenced by OnInit().

◆ SelectGroup()

void LayerAbility.SelectGroup ( string  id)
inline

Definition at line 181 of file LayerAbility.cs.

182 {
183 list.Clear();
184 list.callbacks = new UIList.Callback<Element, ButtonAbility>
185 {
186 onClick = delegate(Element a, ButtonAbility b)
187 {
188 if (ELayer.ui.IsActive)
189 {
190 SE.BeepSmall();
191 }
192 else
193 {
194 SE.Equip();
195 hotElement = b;
196 b.attach = Util.Instantiate("UI/Element/Grid/Attach/guide_ability", b.transform);
198 ELayer.ui.hud.SetDragImage(b.icon);
199 }
200 },
201 onRedraw = delegate(Element a, ButtonAbility b, int i)
202 {
203 b.dragParent = this;
204 b.SetAct(chara, a);
205 },
206 onList = delegate(UIList.SortMode m)
207 {
208 ELayer.player.pref.sortAbility = m;
209 List<Element> list = new List<Element>();
210 foreach (Element value in ELayer.pc.elements.dict.Values)
211 {
212 string categorySub = value.source.categorySub;
213 if (value.Value != 0 && (!config.hideDepletedSpell || !value.PotentialAsStock || value.vPotential > 0))
214 {
215 if (id == "favAbility" && ELayer.player.favAbility.Contains(value.id))
216 {
217 list.Add(value);
218 }
219 else if (id == categorySub || (id == "all" && idGroup.Contains(categorySub)))
220 {
221 list.Add(value);
222 }
223 }
224 }
225 list.Sort((Element a, Element b) => a.GetSortVal(m) - b.GetSortVal(m));
226 foreach (Element item in list)
227 {
228 this.list.Add(item);
229 }
230 }
231 };
232 list.List();
233 }
void SetAct(Chara _chara, Element e)
ElementContainerCard elements
Definition: Card.cs:39
Dictionary< int, Element > dict
int id
Definition: ELEMENT.cs:250
SourceElement.Row source
Definition: ELEMENT.cs:273
int vPotential
Definition: ELEMENT.cs:256
int GetSortVal(UIList.SortMode m)
Definition: ELEMENT.cs:1005
int Value
Definition: ELEMENT.cs:292
virtual bool PotentialAsStock
Definition: ELEMENT.cs:336
HashSet< int > favAbility
Definition: Player.cs:1023
override void Add(object o)
override void Clear()
Definition: Util.cs:10
static Transform Instantiate(string path, Component parent=null)
Definition: Util.cs:67

References UIDynamicList.Add(), chara, UIDynamicList.Clear(), config, ElementContainer.dict, Card.elements, Player.favAbility, Element.GetSortVal(), LayerAbility.Config.hideDepletedSpell, hotElement, UIButton.icon, Element.id, idGroup, item, list, UIDynamicList.List(), ELayer.pc, ELayer.player, Element.PotentialAsStock, ButtonAbility.SetAct(), LayerInventory.SetDirtyAll(), Element.source, ELayer.ui, Util, Element.Value, and Element.vPotential.

Referenced by OnSwitchContent().

◆ SetDirty()

static void LayerAbility.SetDirty ( Element  a)
inlinestatic

Definition at line 115 of file LayerAbility.cs.

116 {
117 if ((bool)Instance)
118 {
120 }
122 {
123 foreach (UIList.ButtonPair button in item.invs[0].list.buttons)
124 {
125 ButtonGrid buttonGrid = button.component as ButtonGrid;
126 if (buttonGrid.card != null && buttonGrid.card.trait is TraitAbility)
127 {
128 item.invs[0].list.callbacks.OnRedraw(buttonGrid.card, buttonGrid, buttonGrid.index);
129 }
130 }
131 }
133 {
134 return;
135 }
137 {
138 ButtonGrid buttonGrid2 = button2.component as ButtonGrid;
139 if (buttonGrid2.card != null && buttonGrid2.card.trait is TraitAbility)
140 {
141 WidgetCurrentTool.Instance.list.callbacks.OnRedraw(buttonGrid2.card, buttonGrid2, buttonGrid2.index);
142 }
143 }
145 }
UIList.ICallback callbacks
Definition: BaseList.cs:13
Card card
Definition: ButtonGrid.cs:24
Trait trait
Definition: Card.cs:51
static List< LayerInventory > listInv
override void Redraw()
List< ButtonPair > buttons
Definition: UIList.cs:244
static WidgetCurrentTool Instance
static void RefreshCurrentHotItem()

References UIList.buttons, BaseList.callbacks, ButtonGrid.card, ButtonGrid.index, Instance, WidgetCurrentTool.Instance, item, list, WidgetCurrentTool.list, LayerInventory.listInv, UIDynamicList.Redraw(), WidgetCurrentTool.RefreshCurrentHotItem(), and Card.trait.

Referenced by Chara.GainAbility(), Ability.OnChangeValue(), and Chara.UseAbility().

Member Data Documentation

◆ chara

Chara LayerAbility.chara

Definition at line 27 of file LayerAbility.cs.

Referenced by OnInit(), and SelectGroup().

◆ headerRow

Transform LayerAbility.headerRow

Definition at line 29 of file LayerAbility.cs.

◆ hotElement

ButtonAbility LayerAbility.hotElement
static

◆ idGroup

string [] LayerAbility.idGroup = new string[6] { "all", "attack", "defense", "util", "ability", "favAbility" }

Definition at line 32 of file LayerAbility.cs.

Referenced by OnInit(), and SelectGroup().

◆ Instance

LayerAbility LayerAbility.Instance
static

Definition at line 21 of file LayerAbility.cs.

Referenced by OnInit(), Scene.OnUpdate(), Redraw(), SetDirty(), and ButtonAbility.ToggleFav().

◆ list

UIDynamicList LayerAbility.list

Property Documentation

◆ config

new Config LayerAbility.config
get

Definition at line 34 of file LayerAbility.cs.

Referenced by OnInit(), RefreshConfig(), and SelectGroup().


The documentation for this class was generated from the following file: