Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
HotItemAct.cs
Go to the documentation of this file.
1using Newtonsoft.Json;
2using UnityEngine;
3using UnityEngine.UI;
4
6{
7 [JsonProperty]
8 public int id;
9
10 public Act _act;
11
12 public override Act act => _act ?? (_act = ACT.Create(id));
13
14 public override string Name => source.GetName();
15
16 public SourceElement.Row source => EClass.sources.elements.map.TryGetValue(id) ?? EClass.sources.elements.rows[0];
17
18 public override bool UseUIObjMaterial => true;
19
20 public override Color SpriteColor
21 {
22 get
23 {
24 if (!source.aliasRef.IsEmpty())
25 {
26 return EClass.setting.elements[source.aliasRef].colorSprite;
27 }
28 return Color.white;
29 }
30 }
31
32 public override Sprite GetSprite()
33 {
34 return act.GetSprite();
35 }
36
37 public HotItemAct()
38 {
39 }
40
41 public HotItemAct(string alias)
42 {
43 id = EClass.sources.elements.alias[alias].id;
44 }
45
47 {
48 id = row.id;
49 }
50
51 public override void SetImage(Image icon)
52 {
53 act.SetImage(icon);
54 }
55
56 public override bool TrySetAct(ActPlan p)
57 {
58 Card tg = null;
59 p.pos.ListVisibleCards().ForeachReverse(delegate(Card a)
60 {
61 if (EClass.pc.CanSee(a) && !a.HasHost && act.IsValidTC(a))
62 {
63 tg = a;
64 return true;
65 }
66 return false;
67 });
68 if (!act.CanPerform(EClass.pc, tg, p.pos))
69 {
70 return false;
71 }
72 p.TrySetAct(source.GetName(), delegate
73 {
74 if (tg != null && !tg.ExistsOnMap)
75 {
76 return false;
77 }
78 Point point = ((tg != null && tg.ExistsOnMap) ? tg.pos : p.pos);
79 if (!act.CanPerform(EClass.pc, tg, point))
80 {
81 return false;
82 }
83 Debug.Log("hotitemact:" + this?.ToString() + "/" + act.id + "/" + tg?.ToString() + "/" + p.performed);
84 return (p.performed && act.CanPressRepeat) ? EClass.pc.UseAbility(act.source.alias, tg, point) : ButtonAbility.TryUse(act, tg, point);
86 return true;
87 }
88}
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
Definition: ACT.cs:6
static Act Create(int id)
Definition: ACT.cs:36
Point pos
Definition: ActPlan.cs:149
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:344
bool performed
Definition: ActPlan.cs:153
Definition: ACT.cs:62
virtual bool CanPressRepeat
Definition: ACT.cs:119
virtual bool LocalAct
Definition: ACT.cs:169
override Sprite GetSprite()
Definition: ACT.cs:189
virtual bool IsValidTC(Card c)
Definition: ACT.cs:199
virtual bool CanPerform()
Definition: ACT.cs:301
new void SetImage(Image image)
Definition: ACT.cs:452
static bool TryUse(Act act, Card tg=null, Point pos=null, Card catalyst=null, bool first=true, bool mouse=true)
Definition: Card.cs:11
bool ExistsOnMap
Definition: Card.cs:1961
Point pos
Definition: Card.cs:55
override string ToString()
Definition: Card.cs:2347
virtual bool HasHost
Definition: Card.cs:2283
bool UseAbility(string idAct, Card tc=null, Point pos=null, bool pt=false)
Definition: Chara.cs:5228
bool CanSee(Card c)
Definition: Chara.cs:1027
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
static SourceManager sources
Definition: EClass.cs:42
static Chara pc
Definition: EClass.cs:14
static GameSetting setting
Definition: EClass.cs:34
int id
Definition: ELEMENT.cs:240
SourceElement.Row source
Definition: ELEMENT.cs:263
UD_String_ElementRef elements
Definition: GameSetting.cs:315
override Color SpriteColor
Definition: HotItemAct.cs:21
override Sprite GetSprite()
Definition: HotItemAct.cs:32
override bool TrySetAct(ActPlan p)
Definition: HotItemAct.cs:56
override Act act
Definition: HotItemAct.cs:12
SourceElement.Row source
Definition: HotItemAct.cs:16
HotItemAct(SourceElement.Row row)
Definition: HotItemAct.cs:46
override void SetImage(Image icon)
Definition: HotItemAct.cs:51
override string Name
Definition: HotItemAct.cs:14
HotItemAct(string alias)
Definition: HotItemAct.cs:41
override bool UseUIObjMaterial
Definition: HotItemAct.cs:18
Definition: Point.cs:9
List< Card > ListVisibleCards()
Definition: Point.cs:1039
SourceElement elements
bool IsCrime(Chara c, Act act)
Definition: Zone.cs:3259