Elin Decompiled Documentation EA 23.130 Nightly
Loading...
Searching...
No Matches
TraitFigure.cs
Go to the documentation of this file.
1using UnityEngine;
2using UnityEngine.UI;
3
4public class TraitFigure : Trait
5{
6 public override bool CanBeHallucinated => false;
7
9
10 public virtual bool ShowShadow => true;
11
12 public virtual int GetMatColor()
13 {
14 return -1;
15 }
16
17 public override void OnSetCardGrid(ButtonGrid b)
18 {
19 if (!owner.c_idRefCard.IsEmpty())
20 {
21 SourceChara.Row row = EClass.sources.charas.map.TryGetValue(owner.c_idRefCard) ?? EClass.sources.charas.map["putty"];
22 Transform transform = b.Attach<Transform>("figure", rightAttach: false);
23 int idSkin = ((EClass.core.config.game.antiSpider && row.race == "spider" && row.tiles.Length > 1) ? 1 : 0);
24 row.SetImage(transform.GetChild(0).GetComponent<Image>(), null, 0, setNativeSize: false, 0, idSkin);
25 }
26 }
27
28 public override int GetValue()
29 {
30 if (source == null)
31 {
32 return base.GetValue();
33 }
34 return (base.GetValue() + source.LV * 50) * ((!source.multisize) ? 1 : 2) * ((source.quality < 4) ? 1 : 2);
35 }
36
37 public override void TrySetAct(ActPlan p)
38 {
39 if (p.input != ActInput.AllAction || source.tiles.Length <= 1)
40 {
41 return;
42 }
43 p.TrySetAct("actChangeType", delegate
44 {
45 UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
46 uIContextMenu.AddSlider("actChangeType", (float a) => a.ToString() ?? "", owner.refVal, delegate(float b)
47 {
48 owner.refVal = (int)b;
49 }, 0f, source.tiles.Length - 1, isInt: true);
50 uIContextMenu.Show();
51 return false;
52 }, owner);
53 }
54}
ActInput
Definition: ActInput.cs:2
ActInput input
Definition: ActPlan.cs:152
bool TrySetAct(string lang, Func< bool > onPerform, Card tc, CursorInfo cursor=null, int dist=1, bool isHostileAct=false, bool localAct=true, bool canRepeat=false)
Definition: ActPlan.cs:345
Transform Attach(string id, bool rightAttach=true)
Definition: ButtonGrid.cs:63
int refVal
Definition: Card.cs:190
string c_idRefCard
Definition: Card.cs:1661
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
static UI ui
Definition: EClass.cs:16
bool multisize
Definition: RenderRow.cs:64
void SetImage(Image image, Sprite sprite=null, int matCol=0, bool setNativeSize=true, int dir=0, int idSkin=0)
Definition: RenderRow.cs:351
int[] tiles
Definition: RenderRow.cs:10
int LV
Definition: RenderRow.cs:22
Dictionary< string, CardRow > map
Definition: SourceCard.cs:8
SourceCard cards
SourceChara charas
override void OnSetCardGrid(ButtonGrid b)
Definition: TraitFigure.cs:17
CardRow source
Definition: TraitFigure.cs:8
override void TrySetAct(ActPlan p)
Definition: TraitFigure.cs:37
virtual bool ShowShadow
Definition: TraitFigure.cs:10
override bool CanBeHallucinated
Definition: TraitFigure.cs:6
virtual int GetMatColor()
Definition: TraitFigure.cs:12
override int GetValue()
Definition: TraitFigure.cs:28
Definition: Trait.cs:7
Card owner
Definition: Trait.cs:26
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)