Elin Decompiled Documentation EA 23.102 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 242 of file LayerAbility.cs.

243 {
244 list.List();
245 }
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 280 of file LayerAbility.cs.

281 {
282 ELayer.player.pref.sortAbility = list.sortMode;
283 ELayer.ui.hud.imageDrag.SetActive(enable: false);
284 ELayer.ui.RemoveLayer<LayerRegisterHotbar>();
285 }
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 252 of file LayerAbility.cs.

253 {
254 ButtonAbility buttonAbility = b as ButtonAbility;
255 string text = "";
257 if ((bool)(layer?.GetButton() ?? null))
258 {
259 text = "hotitemRegister";
260 }
261 else if (!layer)
262 {
263 ELayer.ui.AddLayer<LayerRegisterHotbar>().SetItem(buttonAbility.source);
264 }
265 ELayer.ui.hud.SetDragText(text);
266 }
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 268 of file LayerAbility.cs.

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

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:267
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:814
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 247 of file LayerAbility.cs.

248 {
249 ELayer.ui.hud.SetDragImage(b.icon);
250 }
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:2046

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

◆ Redraw()

static void LayerAbility.Redraw ( )
inlinestatic

Definition at line 234 of file LayerAbility.cs.

235 {
236 if ((bool)Instance)
237 {
239 }
240 }
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 List<Element> list = new List<Element>();
209 foreach (Element value in ELayer.pc.elements.dict.Values)
210 {
211 string categorySub = value.source.categorySub;
212 if (value.Value != 0 && (!config.hideDepletedSpell || !value.PotentialAsStock || value.vPotential > 0))
213 {
214 if (id == "favAbility" && ELayer.player.favAbility.Contains(value.id))
215 {
216 list.Add(value);
217 }
218 else if (id == categorySub || (id == "all" && idGroup.Contains(categorySub)))
219 {
220 list.Add(value);
221 }
222 }
223 }
224 list.Sort((Element a, Element b) => a.GetSortVal(m) - b.GetSortVal(m));
225 foreach (Element item in list)
226 {
227 this.list.Add(item);
228 }
229 }
230 };
231 list.List();
232 }
void SetAct(Chara _chara, Element e)
ElementContainerCard elements
Definition: Card.cs:37
Dictionary< int, Element > dict
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
int vPotential
Definition: ELEMENT.cs:246
int GetSortVal(UIList.SortMode m)
Definition: ELEMENT.cs:834
int Value
Definition: ELEMENT.cs:282
virtual bool PotentialAsStock
Definition: ELEMENT.cs:326
HashSet< int > favAbility
Definition: Player.cs:868
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:49
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: