Elin Decompiled Documentation EA 23.344.1 Nightly
Loading...
Searching...
No Matches
ButtonGrid Class Reference
Inheritance diagram for ButtonGrid:
UIButton IMouseHint IPrefImage IUISkin ButtonGridDrag ButtonHotItem

Public Types

enum  Mode {
  Default , Grid , Ingredient , Recipe ,
  RecipeGrid , Search
}
 

Public Member Functions

override string ToString ()
 
Attach< T > (string id, bool rightAttach=true)
 
Transform Attach (string id, bool rightAttach=true)
 
void Dettach (string id)
 
void Reset ()
 
void SetBodySlot (BodySlot b, InvOwner owner, bool showIndex=false)
 
void Redraw ()
 
void SetCardGrid (Card c, InvOwner owner=null)
 
void SetCard (Card c, Mode mode=Mode.Default, Action< UINote > onWriteNote=null)
 
void SetArea (Area a)
 
void SetItem (GridItem i)
 
void SetObject (object o)
 
void SetDummy ()
 
virtual void SetDragParent (IDragParent p)
 
void SetIngredient (Recipe r, Recipe.Ingredient _ing)
 
void SetIngredient (Recipe r, Thing t)
 
void SetRecipeVariation (UIRecipeInfo.RecipeVariation a)
 
void SetRecipe ()
 
void SetRecipe (Area a)
 
void SetRecipe (Recipe r)
 
void RefreshCraftable ()
 
void SetCraftRecipe (Recipe r, Mode mode, bool tooltip=false)
 
void WriteReqMat (UINote n, Recipe r)
 
bool ShowMouseHintLeft ()
 
string GetTextMouseHintLeft ()
 
bool ShowMouseHintRight ()
 
string GetTextMouseHintRight ()
 
RenderRow GetRenderRow ()
 
void OnRefreshPref ()
 
override bool CanMiddleClick ()
 
override void OnMiddleClick (bool forceClick)
 
- Public Member Functions inherited from UIButton
virtual bool CanMiddleClick ()
 
virtual void OnMiddleClick (bool forceClick)
 
void SetItem (Item i)
 
virtual void RefreshItem ()
 
virtual void OnHover ()
 
void Toggle ()
 
void ToggleCheck ()
 
void SetCheck (bool check)
 
void SetToggle (bool isOn, Action< bool > onToggle=null)
 
void SetToggleWithScore (bool isOn, Action< bool > onToggle, int? score)
 
void SetTooltip (Action< UITooltip > onShowTooltip=null, bool enable=true)
 
void SetTooltip (string id, Action< UITooltip > onShowTooltip=null, bool enable=true)
 
void SetTooltipLang (string lang=null)
 
virtual void ShowTooltip ()
 
void ShowTooltipForced (bool ignoreWhenRightClick=true)
 
override void OnPointerDown (PointerEventData eventData)
 
override void OnPointerClick (PointerEventData eventData)
 
override void OnPointerUp (PointerEventData eventData)
 
void OnPointerUpOnDrag (PointerEventData eventData)
 
void _OnPress ()
 
void OnPress ()
 
void AddHighlight (Func< bool > killCondition)
 
void DoHighlightTransition (bool instant=false)
 
void DoNormalTransition (bool instant=true)
 
override Selectable FindSelectableOnDown ()
 
override Selectable FindSelectableOnUp ()
 
override Selectable FindSelectableOnLeft ()
 
override Selectable FindSelectableOnRight ()
 
void SetNavigation (UIButton up, UIButton down=null, UIButton left=null, UIButton right=null)
 
override bool IsActive ()
 
void SetInteractableWithAlpha (bool enable)
 
virtual void ApplySkin ()
 
void ApplySkin ()
 
bool ShowMouseHintLeft ()
 
string GetTextMouseHintLeft ()
 
bool ShowMouseHintRight ()
 
string GetTextMouseHintRight ()
 
RenderRow GetRenderRow ()
 
void OnRefreshPref ()
 

Public Attributes

Area area
 
Recipe recipe
 
Recipe.Ingredient ing
 
Card card
 
int index
 
InvOwner invOwner
 
bool keepBg
 
List< Transform > listAttach = new List<Transform>()
 
- Public Attributes inherited from UIButton
UIText mainText
 
UIText subText
 
UIText subText2
 
UIText keyText
 
Image icon
 
Image imageCheck
 
Graphic[] targetGraphics
 
float scaleIcon = 1f
 
float slideX
 
float navigationFix
 
bool isChecked
 
bool instantClick = true
 
UISelectableGroup group
 
TooltipData tooltip
 
SoundData soundClick
 
SoundData soundHighlight
 
Transform animeTarget
 
Anime animeClick
 
Anime animeHold
 
ButtonType buttonType
 
BaseSkinRoot skinRoot
 
Action onDoubleClick
 
Action onRightClick
 
Action< int > onInputWheel
 
object refObj
 
int refInt
 
string refStr
 
bool animating
 
bool selected
 
Vector3 originalIconScale = Vector3.one
 
UIButton highlightTarget
 
Item item
 

Protected Member Functions

override void OnDestroy ()
 
- Protected Member Functions inherited from UIButton
override void Awake ()
 
override void OnEnable ()
 
override void DoStateTransition (SelectionState state, bool instant)
 

Properties

ColorProfile Colors [get]
 
Card Card [get]
 
virtual float extFixY [get]
 
- Properties inherited from UIButton
List< Graphic > Graphics [get]
 
virtual bool CanDragLeftButton [get]
 

Private Attributes

int rightAttachCount
 

Additional Inherited Members

- Static Public Member Functions inherited from UIButton
static void UpdateButtons ()
 
static void TryHihlight ()
 
static void TryShowTip (Transform root=null, bool highlight=true, bool ignoreWhenRightClick=true)
 
static void TryShowTip< T > (Transform root=null, bool highlight=true, bool ignoreWhenRightClick=false)
 
- Static Public Attributes inherited from UIButton
static bool DoSlide
 
static bool locked
 
static UIButton lastButton
 
static UIButton lastHovered
 
static UIButton currentHighlight
 
static UIButton currentPressedButton
 
static float lastClicked
 
static float doubleClickTime = 0.4f
 
static Vector2 buttonPos
 
static Action onPressed
 
static List< UIButtonbuttons = new List<UIButton>()
 
static Action actionTooltip
 

Detailed Description

Definition at line 6 of file ButtonGrid.cs.

Member Enumeration Documentation

◆ Mode

Enumerator
Default 
Grid 
Ingredient 
Recipe 
RecipeGrid 
Search 

Definition at line 8 of file ButtonGrid.cs.

Member Function Documentation

◆ Attach()

Transform ButtonGrid.Attach ( string  id,
bool  rightAttach = true 
)
inline

Definition at line 63 of file ButtonGrid.cs.

64 {
65 Transform transform = PoolManager.Spawn<Transform>("attach_" + id, "UI/Element/Grid/Attach/" + id, base.transform);
66 listAttach.Add(transform);
67 if (rightAttach)
68 {
69 RectTransform rectTransform = transform.Rect();
70 rectTransform.anchoredPosition = new Vector2(rectTransform.anchoredPosition.x, -8 - 8 * rightAttachCount);
71 transform.tag = "RightAttach";
73 }
74 transform.name = id;
75 return transform;
76 }
int rightAttachCount
Definition: ButtonGrid.cs:35
List< Transform > listAttach
Definition: ButtonGrid.cs:33
static Transform Spawn(string id, string path, Transform parent)
Definition: PoolManager.cs:86

References listAttach, rightAttachCount, and PoolManager.Spawn().

Referenced by Attach< T >(), TraitCanvas.OnSetCardGrid(), TraitContainer.OnSetCardGrid(), TraitEquipItem.OnSetCardGrid(), TraitFigure.OnSetCardGrid(), DragItemCard.OnStartDrag(), LayerCraft.RefreshCategory(), and LayerCraftFloat.RefreshCraft().

◆ Attach< T >()

T ButtonGrid.Attach< T > ( string  id,
bool  rightAttach = true 
)
inline
Type Constraints
T :Component 

Definition at line 58 of file ButtonGrid.cs.

58 : Component
59 {
60 return Attach(id, rightAttach).GetComponent<T>();
61 }
Transform Attach(string id, bool rightAttach=true)
Definition: ButtonGrid.cs:63

References Attach().

◆ CanMiddleClick()

override bool ButtonGrid.CanMiddleClick ( )
inlinevirtual

Reimplemented from UIButton.

Definition at line 753 of file ButtonGrid.cs.

754 {
755 if (invOwner != null && card != null)
756 {
757 return EClass.ui.AllowInventoryInteractions;
758 }
759 return false;
760 }
Card card
Definition: ButtonGrid.cs:24
InvOwner invOwner
Definition: ButtonGrid.cs:28
Definition: EClass.cs:6
static UI ui
Definition: EClass.cs:17

References card, and EClass.ui.

◆ Dettach()

void ButtonGrid.Dettach ( string  id)
inline

Definition at line 78 of file ButtonGrid.cs.

79 {
80 listAttach.ForeachReverse(delegate(Transform t)
81 {
82 if (t.name == id)
83 {
84 if (t.tag.Contains("RightAttach"))
85 {
86 rightAttachCount--;
87 }
88 listAttach.Remove(t);
90 }
91 });
92 }
static void Despawn(Component c)
Definition: PoolManager.cs:128

References PoolManager.Despawn(), and listAttach.

Referenced by DragItemCard.OnEndDrag(), and LayerCraft.RefreshCategory().

◆ GetRenderRow()

RenderRow ButtonGrid.GetRenderRow ( )
inline

Implements IPrefImage.

Definition at line 720 of file ButtonGrid.cs.

721 {
722 if (refObj is RenderRow)
723 {
724 return (RenderRow)refObj;
725 }
726 if (recipe == null)
727 {
728 if (card == null)
729 {
730 return null;
731 }
732 return card.sourceCard;
733 }
734 return recipe.renderRow;
735 }
Recipe recipe
Definition: ButtonGrid.cs:20
virtual CardRow sourceCard
Definition: Card.cs:2183
virtual RenderRow renderRow
Definition: Recipe.cs:210
object refObj
Definition: UIButton.cs:151

References card.

◆ GetTextMouseHintLeft()

string ButtonGrid.GetTextMouseHintLeft ( )
inline

Implements IMouseHint.

Definition at line 689 of file ButtonGrid.cs.

690 {
691 if (!invOwner.CanShiftClick(this))
692 {
693 if (!invOwner.CanCtrlClick(this))
694 {
695 if (!invOwner.CanAltClick(this))
696 {
697 return "";
698 }
699 return invOwner.GetTextAltClick(this);
700 }
701 return invOwner.GetTextCtrlClick(this);
702 }
703 return invOwner.GetTextShiftClick(this);
704 }
virtual bool CanCtrlClick(ButtonGrid b)
Definition: InvOwner.cs:1063
virtual string GetTextAltClick(ButtonGrid b)
Definition: InvOwner.cs:1103
virtual string GetTextCtrlClick(ButtonGrid b)
Definition: InvOwner.cs:1076
virtual bool CanAltClick(ButtonGrid b)
Definition: InvOwner.cs:1086
virtual string GetTextShiftClick(ButtonGrid b)
Definition: InvOwner.cs:1053
virtual bool CanShiftClick(ButtonGrid b, bool rightMouse=false)
Definition: InvOwner.cs:987

◆ GetTextMouseHintRight()

string ButtonGrid.GetTextMouseHintRight ( )
inline

Implements IMouseHint.

Definition at line 715 of file ButtonGrid.cs.

716 {
717 return invOwner.GetAutoUseLang(this) ?? "";
718 }
virtual string GetAutoUseLang(ButtonGrid button)
Definition: InvOwner.cs:1571

◆ OnDestroy()

override void ButtonGrid.OnDestroy ( )
inlineprotected

Definition at line 112 of file ButtonGrid.cs.

113 {
114 if (listAttach.Count > 0)
115 {
116 Reset();
117 }
119 }
void Reset()
Definition: ButtonGrid.cs:94

References Reset.

◆ OnMiddleClick()

override void ButtonGrid.OnMiddleClick ( bool  forceClick)
inlinevirtual

Reimplemented from UIButton.

Definition at line 762 of file ButtonGrid.cs.

763 {
764 Thing t = card.Thing;
765 InvOwner o = invOwner;
766 if ((forceClick || EInput.middleMouse.clicked) && o.AllowContext)
767 {
768 o.ShowContextMenu(this);
769 }
770 EInput.middleMouse.pressedLongAction = delegate
771 {
772 if (EClass.ui.AllowInventoryInteractions && EClass.core.config.game.holdMiddleButtonToHold && o.TryHold(t))
773 {
774 if (!(t.trait is TraitAbility) && t.trait.IsTool)
775 {
776 HotItemHeld.disableTool = true;
777 }
778 if (EClass.ui.contextMenu.isActive)
779 {
780 EClass.ui.contextMenu.currentMenu.Hide();
781 }
782 EInput.Consume();
783 }
784 };
785 }
bool clicked
Definition: ButtonState.cs:37
Trait trait
Definition: Card.cs:54
virtual Thing Thing
Definition: Card.cs:2110
new GameConfig game
Definition: CoreConfig.cs:627
CoreConfig config
Definition: Core.cs:70
static Core core
Definition: EClass.cs:7
Definition: EInput.cs:8
static ButtonState middleMouse
Definition: EInput.cs:364
static void Consume(int _skipFrame)
Definition: EInput.cs:667
void ShowContextMenu(ButtonGrid button)
Definition: InvOwner.cs:1644
bool TryHold(Thing t)
Definition: InvOwner.cs:1477
virtual bool AllowContext
Definition: InvOwner.cs:555
Definition: Thing.cs:8
virtual bool IsTool
Definition: Trait.cs:379

References InvOwner.AllowContext, card, ButtonState.clicked, Core.config, EInput.Consume(), EClass.core, CoreConfig.game, CoreConfig.GameConfig.holdMiddleButtonToHold, Trait.IsTool, EInput.middleMouse, InvOwner.ShowContextMenu(), Card.trait, InvOwner.TryHold(), and EClass.ui.

◆ OnRefreshPref()

void ButtonGrid.OnRefreshPref ( )
inline

Implements IPrefImage.

Definition at line 737 of file ButtonGrid.cs.

738 {
739 if (refObj is RenderRow renderRow)
740 {
741 renderRow.SetImage(icon, null, 0, setNativeSize: false);
742 }
743 if (recipe != null)
744 {
746 }
747 else if (card != null)
748 {
749 SetCard(card);
750 }
751 }
void SetCard(Card c, Mode mode=Mode.Default, Action< UINote > onWriteNote=null)
Definition: ButtonGrid.cs:184
void SetRecipe()
Definition: ButtonGrid.cs:540
Image icon
Definition: UIButton.cs:110

References card.

◆ Redraw()

void ButtonGrid.Redraw ( )
inline

Definition at line 140 of file ButtonGrid.cs.

141 {
143 }
void SetCardGrid(Card c, InvOwner owner=null)
Definition: ButtonGrid.cs:145

References card.

Referenced by LayerDragGrid.Redraw().

◆ RefreshCraftable()

void ButtonGrid.RefreshCraftable ( )
inline

Definition at line 583 of file ButtonGrid.cs.

584 {
586 bool flag = recipe.IsCraftable();
587 string text = recipe.Name;
588 if (recipe.Mold != null && recipe.Mold.trait.CraftNum > 1)
589 {
590 text = text + " x " + recipe.Mold.trait.CraftNum;
591 }
592 mainText.SetText(text, flag ? FontColor.Good : FontColor.Bad);
593 subText.text = thingStack.count.ToString() ?? "";
595 }
FontColor
Definition: FontColor.cs:2
ThingContainer things
Definition: Card.cs:39
static Chara pc
Definition: EClass.cs:15
virtual int GetRefVal()
Definition: Recipe.cs:422
void SetTextDifficulty(UIText text)
Definition: Recipe.cs:988
virtual string GetIdThing()
Definition: Recipe.cs:443
virtual Card Mold
Definition: Recipe.cs:254
bool IsCraftable()
Definition: Recipe.cs:939
string Name
Definition: Recipe.cs:212
ThingStack GetThingStack(string id, int refVal=-1)
int count
Definition: ThingStack.cs:7
virtual int CraftNum
Definition: Trait.cs:135
UIText subText2
Definition: UIButton.cs:106
UIText mainText
Definition: UIButton.cs:102
void SetText(string s)
Definition: UIText.cs:163

References ThingStack.count, ThingContainer.GetThingStack(), EClass.pc, and Card.things.

◆ Reset()

void ButtonGrid.Reset ( )
inline

Definition at line 94 of file ButtonGrid.cs.

95 {
96 base.image.color = Color.white;
97 if (listAttach.Count > 0)
98 {
99 foreach (Transform item in listAttach)
100 {
102 }
103 listAttach.Clear();
104 }
105 if ((bool)icon)
106 {
107 icon.enabled = true;
108 }
110 }
Item item
Definition: UIButton.cs:172

References Color, PoolManager.Despawn(), and item.

◆ SetArea()

void ButtonGrid.SetArea ( Area  a)
inline

Definition at line 397 of file ButtonGrid.cs.

398 {
399 Reset();
400 icon.sprite = SpriteSheet.Get("icon_area");
401 icon.SetNativeSize();
402 mainText.SetActive(enable: false);
403 }
static Sprite Get(string id)
Definition: SpriteSheet.cs:28

References SpriteSheet.Get(), and Reset.

◆ SetBodySlot()

void ButtonGrid.SetBodySlot ( BodySlot  b,
InvOwner  owner,
bool  showIndex = false 
)
inline

Definition at line 121 of file ButtonGrid.cs.

122 {
123 SetCardGrid(b.thing, owner);
124 imageCheck.sprite = SpriteSheet.Get("Media/Graphics/Icon/Element/", "eq_" + b.element.alias);
125 imageCheck.SetNativeSize();
126 imageCheck.SetAlpha((b.thing == null) ? 1f : 0.4f);
127 if ((bool)subText)
128 {
129 if (showIndex)
130 {
132 }
133 else
134 {
135 subText.SetActive(enable: false);
136 }
137 }
138 }
Thing thing
Definition: BodySlot.cs:8
SourceElement.Row element
Definition: BodySlot.cs:16
virtual Chara Chara
Definition: Card.cs:2122
void SetBodyIndexText(BodySlot b, UIText t)
Definition: CharaBody.cs:556
CharaBody body
Definition: Chara.cs:94
Card owner
Definition: InvOwner.cs:533
UIText subText
Definition: UIButton.cs:104
Image imageCheck
Definition: UIButton.cs:112

References Chara.body, Card.Chara, BodySlot.element, SpriteSheet.Get(), InvOwner.owner, CharaBody.SetBodyIndexText(), and BodySlot.thing.

Referenced by LayerEquip.RefreshEquipment(), and WidgetEquip.RefreshEquipment().

◆ SetCard()

void ButtonGrid.SetCard ( Card  c,
Mode  mode = Mode::Default,
Action< UINote onWriteNote = null 
)
inline

Definition at line 184 of file ButtonGrid.cs.

185 {
186 Reset();
188 card = c;
189 bool showNew = invOwner?.ShowNew ?? false;
190 if (c == null || c.isDestroyed)
191 {
192 if (mode != Mode.Ingredient)
193 {
194 RefreshBG();
195 icon.sprite = EClass.core.refs.icons.trans;
196 mainText.text = "";
197 if ((bool)subText)
198 {
199 subText.text = "";
200 }
201 }
202 else
203 {
204 icon.sprite = Core.Instance.refs.spriteNoIng;
205 }
206 icon.SetNativeSize();
207 if (invOwner == null || !invOwner.AlwaysShowTooltip || onWriteNote == null)
208 {
209 SetTooltip(null, enable: false);
210 return;
211 }
212 SetTooltip("note", delegate(UITooltip t)
213 {
214 onWriteNote(t.note);
215 });
216 return;
217 }
218 SetTooltip("note", delegate(UITooltip t)
219 {
220 if (c.isNew)
221 {
222 c.isNew = false;
223 RefreshBG();
224 }
225 c.WriteNote(t.note, onWriteNote);
226 if (ing != null)
227 {
228 t.note.Space();
229 t.note.AddText("mark_ing".lang() + (ing.optional ? "opIngredient" : "reqIng").lang(ing.GetName()));
230 }
231 });
232 c.SetImage(icon);
233 if (c == EClass.pc.held && c.invY != 1)
234 {
235 Attach("held");
236 }
237 if (c.trait is TraitAbility && (c.trait as TraitAbility).CanUse(EClass.pc))
238 {
239 Attach<Image>("target_self").sprite = (c.trait as TraitAbility).act.TargetType.IconType;
240 }
242 {
243 SourceElement.Row refElement = c.trait.GetRefElement();
244 if (refElement != null)
245 {
246 if ((bool)refElement.GetSprite())
247 {
248 Image image = Attach<Image>("reficon", rightAttach: false);
249 refElement.SetImage(image);
250 }
251 }
252 else
253 {
254 Sprite refSprite = c.trait.GetRefSprite();
255 if ((bool)refSprite)
256 {
257 Image obj = Attach<Image>("reficon", rightAttach: false);
258 obj.sprite = refSprite;
259 obj.color = Color.white;
260 }
261 }
262 }
263 if (c.tier > 0)
264 {
265 Attach<Image>("quality", rightAttach: false).sprite = EClass.core.refs.icons.quality[Mathf.Clamp(c.tier - 1, 0, EClass.core.refs.icons.quality.Count - 1)];
266 }
267 if (c.c_equippedSlot != 0 && invOwner != null && invOwner.owner.isChara && !invOwner.owner.IsPC)
268 {
269 Attach("equip", rightAttach: false);
270 }
271 if (c.isNPCProperty || c.isGifted)
272 {
273 Attach("npcProperty");
274 }
275 if (mode != Mode.Search)
276 {
277 c.trait.OnSetCardGrid(this);
278 }
279 switch (mode)
280 {
281 case Mode.Grid:
282 case Mode.Search:
283 RefreshBG();
284 if (c.IsContainer && c.c_indexContainerIcon != 0)
285 {
286 Attach("icon_container", rightAttach: false).GetComponent<Image>().sprite = EClass.core.refs.spritesContainerIcon[c.c_indexContainerIcon];
287 }
288 if (c.IsIdentified)
289 {
290 if (c.GetBool(135))
291 {
292 Attach("status_SleepLock");
293 }
294 else
295 {
296 BlessedState blessedState2 = c.blessedState;
297 if (blessedState2 != BlessedState.Normal)
298 {
299 Attach("status_" + blessedState2);
300 }
301 }
302 }
303 else
304 {
305 Attach("status_unidentified");
306 }
307 if (c.IsDecayed)
308 {
309 Attach("rotten");
310 }
311 else if (c.IsRotting)
312 {
313 Attach("rotting");
314 }
315 c.trait.SetMainText(mainText, hotitem: false);
316 if (mode == Mode.Search)
317 {
318 Card rootCard = c.GetRootCard();
319 if (rootCard != EClass.pc)
320 {
321 Attach((rootCard == c) ? "searched" : "searched_container", rightAttach: false);
322 }
323 }
324 break;
325 case Mode.Default:
326 {
328 if (c.IsIdentified)
329 {
330 c2 = c.blessedState switch
331 {
332 BlessedState.Blessed => Colors.Skin.textBlessed,
333 BlessedState.Doomed => Colors.Skin.textDoomed,
334 BlessedState.Cursed => Colors.Skin.textCursed,
336 };
337 }
338 mainText.SetText(c.Name, c2);
339 if ((bool)subText)
340 {
342 }
343 break;
344 }
345 case Mode.Ingredient:
346 if (c.IsIdentified)
347 {
348 BlessedState blessedState = c.blessedState;
349 if (blessedState != BlessedState.Normal)
350 {
351 Attach("status_" + blessedState);
352 }
353 }
354 else
355 {
356 Attach("status_unidentified");
357 }
358 if (c.IsDecayed)
359 {
360 Attach("rotten");
361 }
362 else if (c.IsRotting)
363 {
364 Attach("rotting");
365 }
366 break;
367 }
368 if (c.c_isImportant)
369 {
370 Attach("important");
371 }
372 void RefreshBG()
373 {
374 if (!keepBg)
375 {
376 if (c == null)
377 {
378 base.image.sprite = refs.bgDefault;
379 }
380 else
381 {
382 Sprite sprite = refs.bgDefault;
383 if (c.rarity >= Rarity.Superior && c.IsIdentified && c.IsEquipmentOrRangedOrAmmo)
384 {
385 sprite = ((c.rarity >= Rarity.Artifact) ? refs.bgArtifact : ((c.rarity >= Rarity.Mythical) ? refs.bgMythical : ((c.rarity < Rarity.Legendary) ? refs.bgSuperior : refs.bgLegendary)));
386 }
387 else if (showNew && c.isNew && c.invY != 1)
388 {
389 sprite = refs.bgNew;
390 }
391 base.image.sprite = sprite;
392 }
393 }
394 }
395 }
BlessedState
Definition: BlessedState.cs:2
if(!match.Success)
Rarity
Definition: Rarity.cs:2
bool keepBg
Definition: ButtonGrid.cs:30
ColorProfile Colors
Definition: ButtonGrid.cs:37
Recipe.Ingredient ing
Definition: ButtonGrid.cs:22
Definition: Card.cs:11
bool isDestroyed
Definition: Card.cs:78
int tier
Definition: Card.cs:413
bool IsDecayed
Definition: Card.cs:2357
bool isNPCProperty
Definition: Card.cs:557
int c_equippedSlot
Definition: Card.cs:979
bool IsRotting
Definition: Card.cs:2359
int c_indexContainerIcon
Definition: Card.cs:1441
bool IsEquipmentOrRangedOrAmmo
Definition: Card.cs:2284
int invY
Definition: Card.cs:2007
Rarity rarity
Definition: Card.cs:317
string Name
Definition: Card.cs:2191
bool isNew
Definition: Card.cs:485
bool c_isImportant
Definition: Card.cs:1051
virtual bool IsPC
Definition: Card.cs:2197
virtual bool isChara
Definition: Card.cs:2135
Card GetRootCard()
Definition: Card.cs:3607
bool GetBool(string id)
Definition: Card.cs:2557
virtual void WriteNote(UINote n, Action< UINote > onWriteNote=null, IInspect.NoteMode mode=IInspect.NoteMode.Default, Recipe recipe=null)
Definition: Card.cs:8385
bool isGifted
Definition: Card.cs:785
BlessedState blessedState
Definition: Card.cs:281
void SetImage(Image image, int dir, int idSkin=0)
Definition: Card.cs:6586
int ChildrenAndSelfWeight
Definition: Card.cs:2093
bool IsIdentified
Definition: Card.cs:2447
bool IsContainer
Definition: Card.cs:2141
Card held
Definition: Chara.cs:70
SkinColorProfile Skin
List< Sprite > quality
Definition: CoreRef.cs:143
Sprite trans
Definition: CoreRef.cs:111
List< Sprite > spritesContainerIcon
Definition: CoreRef.cs:382
Icons icons
Definition: CoreRef.cs:358
ButtonAssets buttonAssets
Definition: CoreRef.cs:352
Sprite spriteNoIng
Definition: CoreRef.cs:398
Definition: Core.cs:14
CoreRef refs
Definition: Core.cs:51
static new Core Instance
Definition: Core.cs:15
virtual bool AlwaysShowTooltip
Definition: InvOwner.cs:569
virtual bool ShowNew
Definition: InvOwner.cs:621
Definition: Lang.cs:7
static string _weight(int a, int b, bool showUnit=true, int unitSize=0)
Definition: Lang.cs:171
string GetName()
Definition: Recipe.cs:807
void SetImage(Image image)
override bool CanUse(Chara c)
virtual void SetMainText(UIText t, bool hotitem)
Definition: Trait.cs:1635
virtual void OnSetCardGrid(ButtonGrid b)
Definition: Trait.cs:1267
virtual Sprite GetRefSprite()
Definition: Trait.cs:661
virtual SourceElement.Row GetRefElement()
Definition: Trait.cs:656
void SetTooltip(Action< UITooltip > onShowTooltip=null, bool enable=true)
Definition: UIButton.cs:361
UIItem AddText(string text, FontColor color=FontColor.DontChange)
Definition: UINote.cs:113
void Space(int sizeY=0, int sizeX=1)
Definition: UINote.cs:62
UINote note
Definition: UITooltip.cs:21

References Lang._weight(), UINote.AddText(), CoreRef.ButtonAssets.bgArtifact, CoreRef.ButtonAssets.bgDefault, CoreRef.ButtonAssets.bgLegendary, CoreRef.ButtonAssets.bgNew, CoreRef.ButtonAssets.bgSuperior, Card.blessedState, CoreRef.buttonAssets, Card.c_equippedSlot, Card.c_indexContainerIcon, Card.c_isImportant, TraitCatalyst.CanUse(), card, Card.ChildrenAndSelfWeight, Color, Core.config, EClass.core, Card.GetBool(), Trait.GetRefElement(), Trait.GetRefSprite(), Card.GetRootCard(), SourceElement.Row.GetSprite(), Chara.held, CoreRef.icons, if(), Core.Instance, Card.invY, Card.IsContainer, Card.IsDecayed, Card.isDestroyed, Card.IsEquipmentOrRangedOrAmmo, Card.isGifted, Card.IsIdentified, Card.isNew, Card.isNPCProperty, Card.IsRotting, Card.Name, UITooltip.note, Trait.OnSetCardGrid(), EClass.pc, CoreRef.Icons.quality, Card.rarity, Core.refs, Reset, SourceElement.Row.SetImage(), Card.SetImage(), Trait.SetMainText(), CoreConfig.Test.showRefIcon, UINote.Space(), CoreRef.spriteNoIng, CoreRef.spritesContainerIcon, CoreConfig.test, Card.tier, Card.trait, CoreRef.Icons.trans, and Card.WriteNote().

Referenced by InvOwnerDraglet.OnClick(), UIDragGridIngredients.Refresh(), LayerGacha.RefreshCoin(), LayerCraftFloat.RefreshDisassemble(), UIInventory.RefreshList(), WidgetSearch.RefreshList(), LayerCraft.RefreshProduct(), and LayerResource.ShowThings().

◆ SetCardGrid()

void ButtonGrid.SetCardGrid ( Card  c,
InvOwner  owner = null 
)
inline

Definition at line 145 of file ButtonGrid.cs.

146 {
147 if (owner != null)
148 {
149 invOwner = owner;
150 }
151 if (c != null && !c.isDestroyed)
152 {
153 base.interactable = true;
154 }
155 SetCard(c, Mode.Grid, delegate(UINote n)
156 {
157 invOwner?.OnWriteNote(this, n);
158 });
159 onRightClick = delegate
160 {
161 if (EClass.ui.AllowInventoryInteractions && invOwner != null)
162 {
163 InvOwner.clickTimer = 0f;
165 UIButton.onPressed = delegate
166 {
168 };
169 EInput.Consume();
171 }
172 };
173 this.SetOnClick(delegate
174 {
175 if (EClass.ui.AllowInventoryInteractions)
176 {
177 invOwner?.OnClick(this);
178 EInput.Consume();
179 UIButton.TryShowTip();
180 }
181 });
182 }
virtual void OnRightClick(ButtonGrid button)
Definition: InvOwner.cs:880
virtual void OnRightPressed(ButtonGrid button)
Definition: InvOwner.cs:892
virtual void OnWriteNote(ButtonGrid button, UINote n)
Definition: InvOwner.cs:1684
Action onRightClick
Definition: UIButton.cs:146
static void TryShowTip(Transform root=null, bool highlight=true, bool ignoreWhenRightClick=true)
Definition: UIButton.cs:778
Definition: UINote.cs:6

References EInput.Consume(), Card.isDestroyed, UIButton.TryShowTip(), and EClass.ui.

Referenced by InvOwner.Transaction.Process(), WidgetCurrentTool.RebuildSlots(), UIInventory.RefreshGrid(), LayerDragGrid.SetInv(), and LayerDragGrid.Validate().

◆ SetCraftRecipe()

void ButtonGrid.SetCraftRecipe ( Recipe  r,
Mode  mode,
bool  tooltip = false 
)
inline

Definition at line 597 of file ButtonGrid.cs.

598 {
599 Reset();
600 recipe = r;
601 if (mode == Mode.Recipe)
602 {
604 }
605 else
606 {
607 mainText.SetActive(enable: false);
608 }
609 RecipeCard rCard = r as RecipeCard;
610 if (rCard != null)
611 {
612 r.SetImage(icon);
613 }
614 else
615 {
616 r.SetImage(icon);
617 }
618 if (!tooltip)
619 {
620 return;
621 }
622 SetTooltip("note", delegate(UITooltip t)
623 {
624 if (r.ingredients.Count == 0)
625 {
626 r.BuildIngredientList();
627 }
629 Dettach("recipe_new");
630 if (rCard != null)
631 {
632 if (mode == Mode.RecipeGrid && rCard._mold == null)
633 {
634 CardBlueprint.SetNormalRarity();
635 rCard._mold = ThingGen.Create(r.id);
636 }
637 rCard.Mold.WriteNote(t.note, delegate(UINote n)
638 {
639 n.Space();
640 WriteReqMat(n, r);
641 }, IInspect.NoteMode.Product, r);
642 }
643 else
644 {
645 UINote note = t.note;
646 note.Clear();
647 note.AddHeaderCard(r.GetName(), icon.sprite);
648 if (!r.GetDetail().IsEmpty())
649 {
650 note.AddText(r.GetDetail());
651 }
652 WriteReqMat(note, r);
653 t.note.Build();
654 }
655 });
656 }
void WriteReqMat(UINote n, Recipe r)
Definition: ButtonGrid.cs:658
void Dettach(string id)
Definition: ButtonGrid.cs:78
void RefreshCraftable()
Definition: ButtonGrid.cs:583
static Player player
Definition: EClass.cs:13
RecipeManager recipes
Definition: Player.cs:1167
override Card Mold
Definition: RecipeCard.cs:32
Card _mold
Definition: RecipeCard.cs:18
HashSet< string > hoveredRecipes
string id
Definition: Recipe.cs:178
List< Ingredient > ingredients
Definition: Recipe.cs:181
virtual string GetDetail()
Definition: Recipe.cs:834
virtual void SetImage(Image icon)
Definition: Recipe.cs:934
TooltipData tooltip
Definition: UIButton.cs:128
UIItem AddHeaderCard(string text, Sprite sprite=null)
Definition: UINote.cs:84
void Clear()
Definition: UINote.cs:35
void Build()
Definition: UINote.cs:49
NoteMode
Definition: IInspect.cs:7

References RecipeCard._mold, UINote.AddHeaderCard(), UINote.AddText(), UINote.Build(), UINote.Clear(), Recipe.GetDetail(), Recipe.GetName(), RecipeManager.hoveredRecipes, Recipe.id, Recipe.ingredients, RecipeCard.Mold, UITooltip.note, EClass.player, Player.recipes, Reset, Recipe.SetImage(), UINote.Space(), and Card.WriteNote().

Referenced by LayerCraft.RefreshCategory(), LayerCraftFloat.RefreshCraft(), and WidgetCodex.RefreshList().

◆ SetDragParent()

virtual void ButtonGrid.SetDragParent ( IDragParent  p)
inlinevirtual

Reimplemented in ButtonGridDrag.

Definition at line 438 of file ButtonGrid.cs.

439 {
440 }

◆ SetDummy()

void ButtonGrid.SetDummy ( )
inline

Definition at line 424 of file ButtonGrid.cs.

425 {
426 Reset();
427 icon.enabled = false;
428 mainText.SetActive(enable: false);
429 base.onClick.RemoveAllListeners();
430 base.onClick.AddListener(delegate
431 {
432 SE.BeepSmall();
433 });
434 tooltip.enable = false;
435 base.image.color = new Color(1f, 1f, 1f, 0.3f);
436 }

References Color, and Reset.

Referenced by GridItem.SetButton().

◆ SetIngredient() [1/2]

void ButtonGrid.SetIngredient ( Recipe  r,
Recipe::Ingredient  _ing 
)
inline

Definition at line 442 of file ButtonGrid.cs.

443 {
444 if (_ing.id.IsEmpty())
445 {
446 SetDummy();
447 return;
448 }
449 mainText.SetActive(enable: true);
450 base.image.color = Color.white;
451 ing = _ing;
452 if (ing.thing != null && (ing.thing.isDestroyed || ing.thing.Num == 0))
453 {
454 ing.thing = null;
455 }
456 Thing thing = ing.thing;
457 SetCard(thing, Mode.Ingredient);
458 if (r != null && r.source.colorIng != 0 && r.ingredients != null && r.ingredients.Count > 0 && r.ingredients.IndexOf(_ing) == r.source.colorIng)
459 {
460 Attach("ing_color", rightAttach: false);
461 }
462 if (ing.optional)
463 {
464 UIButton componentInChildren = Attach("ing_option", rightAttach: false).GetComponentInChildren<UIButton>(includeInactive: true);
465 componentInChildren.SetActive(ing.thing != null);
466 componentInChildren.SetOnClick(delegate
467 {
468 SE.Trash();
469 ing.thing = null;
470 SetIngredient(r, _ing);
473 if ((bool)LayerCraft.Instance)
474 {
476 }
477 });
478 }
480 int num = thing?.Num ?? 0;
481 int num2 = summary.countValid;
482 if (num2 == 0)
483 {
484 num2 = 1;
485 }
486 num2 *= ing.req;
487 if (ing.optional && num == 0)
488 {
489 num2 = 0;
490 }
491 bool flag = num < num2 && !ing.optional;
492 string text = num.ToShortNumber().TagColor(Colors.colorIngPredict) + (" -" + num2).TagColor(flag ? Colors.colorIngCost : Colors.colorIngReq);
493 mainText.text = text;
494 if (thing == null)
495 {
496 SetTooltip("note", delegate(UITooltip tt)
497 {
498 tt.note.Clear();
499 tt.note.Space(16);
500 tt.note.AddText("mark_ing".lang() + (ing.optional ? "opIngredient" : "noIngredient").lang(_ing.GetName()), ing.optional ? FontColor.Good : FontColor.Bad);
501 tt.note.Build();
502 });
503 EClass.sources.cards.map[ing.IdThing].SetImage(icon);
504 icon.SetAlpha(0.5f);
505 }
506 else if (thing.GetRootCard() != EClass.pc)
507 {
508 Attach("pcInv", rightAttach: false);
509 }
510 }
BaseTileSelector tileSelector
void SetDummy()
Definition: ButtonGrid.cs:424
void SetIngredient(Recipe r, Recipe.Ingredient _ing)
Definition: ButtonGrid.cs:442
int Num
Definition: Card.cs:161
Color colorIngPredict
Color colorIngReq
Color colorIngCost
BaseGameScreen screen
Definition: Core.cs:67
static SourceManager sources
Definition: EClass.cs:43
int countValid
Definition: HitSummary.cs:10
void OnChangeIngredient()
Definition: LayerCraft.cs:406
static LayerCraft Instance
Definition: LayerCraft.cs:8
string GetName()
Definition: Recipe.cs:105
RecipeSource source
Definition: Recipe.cs:204
void SaveLastIngredients()
Definition: Recipe.cs:1027
virtual void OnChangeIngredient()
Definition: Recipe.cs:562
Dictionary< string, CardRow > map
Definition: SourceCard.cs:9
SourceCard cards

References UINote.AddText(), UINote.Build(), SourceManager.cards, UINote.Clear(), Color, RecipeSource.colorIng, HitSummary.countValid, Card.GetRootCard(), Recipe.ingredients, Core.Instance, LayerCraft.Instance, SourceCard.map, UITooltip.note, Card.Num, LayerCraft.OnChangeIngredient(), Recipe.OnChangeIngredient(), EClass.pc, Recipe.SaveLastIngredients(), Core.screen, Recipe.source, EClass.sources, UINote.Space(), BaseTileSelector.summary, and BaseGameScreen.tileSelector.

Referenced by DropdownGrid.Activate(), and DropdownGrid.BuildIngredients().

◆ SetIngredient() [2/2]

void ButtonGrid.SetIngredient ( Recipe  r,
Thing  t 
)
inline

Definition at line 512 of file ButtonGrid.cs.

513 {
514 SetCard(t, Mode.Ingredient);
515 int num = t.Num;
516 mainText.text = num.ToShortNumber();
517 mainText.SetActive(enable: true);
518 ing = null;
519 if (t.GetRootCard() != EClass.pc)
520 {
521 Attach("pcInv", rightAttach: false);
522 }
523 }

References Card.GetRootCard(), Card.Num, and EClass.pc.

◆ SetItem()

void ButtonGrid.SetItem ( GridItem  i)
inline

Definition at line 405 of file ButtonGrid.cs.

406 {
407 Reset();
408 mainText.SetActive(enable: true);
409 i.SetButton(this);
410 }
virtual void SetButton(ButtonGrid b)
Definition: GridItem.cs:3

References Reset, and GridItem.SetButton().

Referenced by Dialog.OnAfterInit(), WidgetHotbar.RebuildPage(), and WidgetHotbar.SetItem().

◆ SetObject()

void ButtonGrid.SetObject ( object  o)
inline

Definition at line 412 of file ButtonGrid.cs.

413 {
414 if (o is Area)
415 {
416 SetArea(o as Area);
417 }
418 else if (o is Card)
419 {
420 SetCard(o as Card);
421 }
422 }
Definition: Area.cs:4
void SetArea(Area a)
Definition: ButtonGrid.cs:397

Referenced by LayerInteraction.Show().

◆ SetRecipe() [1/3]

void ButtonGrid.SetRecipe ( )
inline

◆ SetRecipe() [2/3]

void ButtonGrid.SetRecipe ( Area  a)
inline

Definition at line 545 of file ButtonGrid.cs.

546 {
547 Reset();
548 area = a;
549 icon.sprite = Core.Instance.refs.spriteArea;
550 icon.SetNativeSize();
551 mainText.SetActive(enable: false);
552 }
Area area
Definition: ButtonGrid.cs:18
Sprite spriteArea
Definition: CoreRef.cs:396

References Core.Instance, Core.refs, Reset, and CoreRef.spriteArea.

◆ SetRecipe() [3/3]

void ButtonGrid.SetRecipe ( Recipe  r)
inline

Definition at line 554 of file ButtonGrid.cs.

555 {
556 Reset();
557 recipe = r;
558 if (r.UseStock)
559 {
560 recipe.ingredients[0].RefreshThing();
561 Thing thing = recipe.ingredients[0].thing;
562 mainText.SetText(thing.Num.ToShortNumber(), SkinManager.CurrentColors.buttonGrid);
563 if (r.VirtualBlock)
564 {
565 r.renderRow.SetImage(icon, null, r.GetDefaultColor(), setNativeSize: true, 0, thing.trait.IdSkin);
566 }
567 else
568 {
569 thing.SetImage(icon);
570 }
571 }
572 else
573 {
574 r.renderRow.SetImage(icon, null, r.GetDefaultColor(), setNativeSize: true, 0, r.idSkin);
575 }
576 mainText.SetActive(r.UseStock);
577 if (r.UseStock && r.ingredients[0].thing?.GetRootCard() != EClass.pc)
578 {
579 Attach("pcInv", rightAttach: false);
580 }
581 }
bool VirtualBlock
Definition: Recipe.cs:190
bool UseStock
Definition: Recipe.cs:184
int GetDefaultColor()
Definition: Recipe.cs:482
int idSkin
Definition: Recipe.cs:198
void SetImage(Image image, Sprite sprite=null, int matCol=0, bool setNativeSize=true, int dir=0, int idSkin=0, Card card=null)
Definition: RenderRow.cs:378
static SkinColorProfile CurrentColors
Definition: SkinManager.cs:84
virtual int IdSkin
Definition: Trait.cs:46

References SkinColorProfile.buttonGrid, SkinManager.CurrentColors, Recipe.GetDefaultColor(), Recipe.idSkin, Trait.IdSkin, Recipe.ingredients, Card.Num, EClass.pc, Recipe.renderRow, Reset, Card.SetImage(), RenderRow.SetImage(), Card.trait, Recipe.UseStock, and Recipe.VirtualBlock.

◆ SetRecipeVariation()

void ButtonGrid.SetRecipeVariation ( UIRecipeInfo::RecipeVariation  a)
inline

Definition at line 525 of file ButtonGrid.cs.

526 {
527 Reset();
528 Recipe recipe = a.recipe;
529 if (recipe.UseStock && !recipe.VirtualBlock && recipe.ingredients[0].thing != null)
530 {
531 recipe.ingredients[0].thing.SetImage(icon, a.dir, recipe.ingredients[0].thing.trait.IdSkin);
532 }
533 else
534 {
536 }
537 mainText.SetActive(enable: false);
538 }
Definition: Recipe.cs:7
virtual SourceMaterial.Row GetColorMaterial()
Definition: Recipe.cs:506
int GetColorInt(SourceMaterial.Row mat)
Definition: RenderRow.cs:456

References RenderRow.GetColorInt(), Recipe.GetColorMaterial(), Recipe.idSkin, Recipe.ingredients, Recipe.renderRow, Reset, RenderRow.SetImage(), Recipe.UseStock, and Recipe.VirtualBlock.

Referenced by UIRecipeInfo.Refresh().

◆ ShowMouseHintLeft()

bool ButtonGrid.ShowMouseHintLeft ( )
inline

Implements IMouseHint.

Definition at line 676 of file ButtonGrid.cs.

677 {
678 if (invOwner != null && card != null)
679 {
680 if (!invOwner.CanShiftClick(this) && !invOwner.CanCtrlClick(this))
681 {
682 return invOwner.CanAltClick(this);
683 }
684 return true;
685 }
686 return false;
687 }

References card.

◆ ShowMouseHintRight()

bool ButtonGrid.ShowMouseHintRight ( )
inline

Implements IMouseHint.

Definition at line 706 of file ButtonGrid.cs.

707 {
708 if (invOwner != null && card != null)
709 {
710 return invOwner.AllowAutouse;
711 }
712 return false;
713 }
virtual bool AllowAutouse
Definition: InvOwner.cs:553

References card.

◆ ToString()

override string ButtonGrid.ToString ( )
inline

Definition at line 53 of file ButtonGrid.cs.

54 {
55 return card?.ToString();
56 }
override string ToString()
Definition: Card.cs:2620

References card, and Card.ToString().

◆ WriteReqMat()

void ButtonGrid.WriteReqMat ( UINote  n,
Recipe  r 
)
inline

Definition at line 658 of file ButtonGrid.cs.

659 {
660 r.WriteReqFactory(n);
661 r.WriteReqSkill(n);
662 n.AddHeaderTopic("reqMat");
663 foreach (Recipe.Ingredient ingredient in r.ingredients)
664 {
665 int count = EClass._map.Stocked.ListThingStack(ingredient, StockSearchMode.AroundPC).count;
666 Color c = ((count >= ingredient.req) ? SkinManager.CurrentColors.textGood : SkinManager.CurrentColors.textBad);
667 string text = "<color=" + c.ToHex() + ">" + ingredient.GetName() + " x " + ingredient.req + " (" + count + ")</color>";
668 if (ingredient.optional)
669 {
670 text = "opIngredient".lang(text);
671 }
672 n.AddText(text).text1.SetSize(-1);
673 }
674 }
StockSearchMode
static Map _map
Definition: EClass.cs:19
PropsStocked Stocked
Definition: Map.cs:126
ThingStack ListThingStack(Recipe.Ingredient ing, StockSearchMode searchMode)
Definition: Props.cs:204
void WriteReqSkill(UINote n)
Definition: Recipe.cs:854
void WriteReqFactory(UINote n, bool hasFactory=true)
Definition: Recipe.cs:845
UIText text1
Definition: UIItem.cs:6
UIItem AddHeaderTopic(string text, Sprite sprite=null)
Definition: UINote.cs:89
UIText SetSize(int a)
Definition: UIText.cs:231

References EClass._map, UINote.AddHeaderTopic(), UINote.AddText(), Color, ThingStack.count, SkinManager.CurrentColors, Recipe.ingredients, Props.ListThingStack(), UIText.SetSize(), Map.Stocked, UIItem.text1, SkinColorProfile.textBad, SkinColorProfile.textGood, Recipe.WriteReqFactory(), and Recipe.WriteReqSkill().

Member Data Documentation

◆ area

Area ButtonGrid.area

Definition at line 18 of file ButtonGrid.cs.

Referenced by BuildMenu.Refresh().

◆ card

◆ index

◆ ing

Recipe.Ingredient ButtonGrid.ing

Definition at line 22 of file ButtonGrid.cs.

Referenced by DropdownGrid.TrySelect().

◆ invOwner

◆ keepBg

bool ButtonGrid.keepBg

Definition at line 30 of file ButtonGrid.cs.

◆ listAttach

List<Transform> ButtonGrid.listAttach = new List<Transform>()

Definition at line 33 of file ButtonGrid.cs.

Referenced by Attach(), and Dettach().

◆ recipe

Recipe ButtonGrid.recipe

Definition at line 20 of file ButtonGrid.cs.

Referenced by BuildMenu.Refresh(), BuildMenu.Select(), and LayerCraftFloat.Update().

◆ rightAttachCount

int ButtonGrid.rightAttachCount
private

Definition at line 35 of file ButtonGrid.cs.

Referenced by Attach().

Property Documentation

◆ Card

Card ButtonGrid.Card
get

Definition at line 39 of file ButtonGrid.cs.

40 {
41 get
42 {
43 if (card == null || card.isDestroyed)
44 {
45 return null;
46 }
47 return card;
48 }
49 }

◆ Colors

ColorProfile ButtonGrid.Colors
get

Definition at line 37 of file ButtonGrid.cs.

◆ extFixY

virtual float ButtonGrid.extFixY
get

Definition at line 51 of file ButtonGrid.cs.


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