Elin Decompiled Documentation EA 23.335 Nightly
Loading...
Searching...
No Matches
TraitContainer.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public override bool CanStack => false;
6
8
9 public override void TrySetHeldAct(ActPlan p)
10 {
11 if (p.IsSelf)
12 {
13 TrySetAct(p);
14 }
15 }
16
17 public override void TrySetAct(ActPlan p)
18 {
19 if (owner.c_lockLv > 0)
20 {
22 {
23 target = owner.Thing
24 }, owner);
25 }
27 {
28 p.TrySetAct("actContainer", delegate
29 {
30 TryOpen();
31 return false;
33 }
34 }
35
36 public void TryOpen()
37 {
38 if (owner.c_lockLv > 0)
39 {
40 if (owner.GetRootCard() == EClass.pc && EClass.pc.HasNoGoal && EClass.ui.layers.Count == 0)
41 {
43 {
44 target = owner.Thing
45 });
47 }
48 else
49 {
50 SE.Play("lock");
51 }
52 }
53 else
54 {
55 Open();
56 }
57 }
58
59 public virtual void Open()
60 {
61 if (base.HasChara && !EClass._zone.IsRegion)
62 {
63 Chara c = EClass._zone.SpawnMob((owner.ExistsOnMap ? owner.pos : EClass.pc.pos).GetNearestPoint(allowBlock: false, allowChara: false), new SpawnSetting
64 {
65 id = owner.c_idRefCard
66 });
67 owner.c_idRefCard = null;
69 if (InvStyle.sound != null)
70 {
71 InvStyle.sound.Play();
72 }
73 else
74 {
75 SE.PopInventory();
76 }
77 Msg.Say("package_chara", c, owner);
78 }
79 else if (LayerInventory.CreateContainer(owner.Thing) != null)
80 {
81 TooltipManager.Instance.HideTooltips(immediate: true);
82 Debug.Log("a");
83 if (InvStyle.sound != null)
84 {
85 InvStyle.sound.Play();
86 }
87 else
88 {
89 SE.PopInventory();
90 }
91 }
92 }
93
94 public override void OnSetCardGrid(ButtonGrid b)
95 {
97 {
98 b.Attach("open", rightAttach: false);
99 }
100 }
101}
bool IsSelf
Definition: ActPlan.cs:176
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:372
Transform Attach(string id, bool rightAttach=true)
Definition: ButtonGrid.cs:63
int c_lockLv
Definition: Card.cs:991
bool ExistsOnMap
Definition: Card.cs:2137
Point pos
Definition: Card.cs:60
Trait trait
Definition: Card.cs:54
ThingContainer things
Definition: Card.cs:39
virtual bool IsPC
Definition: Card.cs:2197
virtual Thing Thing
Definition: Card.cs:2110
Card GetRootCard()
Definition: Card.cs:3604
Card parentCard
Definition: Card.cs:106
Definition: Chara.cs:10
void SetAIImmediate(AIAct g)
Definition: Chara.cs:9445
bool HasNoGoal
Definition: Chara.cs:1047
UDInvStyle invStyle
Definition: CoreRef.cs:390
CoreRef refs
Definition: Core.cs:51
static CursorInfo Container
Definition: CursorSystem.cs:82
Definition: EClass.cs:6
static Core core
Definition: EClass.cs:7
static Zone _zone
Definition: EClass.cs:21
static Player player
Definition: EClass.cs:13
static Chara pc
Definition: EClass.cs:15
static UI ui
Definition: EClass.cs:17
static LayerInventory CreateContainer(Card owner)
static bool IsOpen(Thing t)
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void EndTurn(bool consume=true)
Definition: Player.cs:2153
virtual bool IsRegion
Definition: Spatial.cs:515
void DestroyAll(Func< Thing, bool > funcExclude=null)
static TooltipManager Instance
void HideTooltips(bool immediate=false)
override string IDInvStyle
virtual bool ShowOpenActAsCrime
override bool CanStack
override void OnSetCardGrid(ButtonGrid b)
override void TrySetHeldAct(ActPlan p)
override void TrySetAct(ActPlan p)
virtual void Open()
CoreRef.InventoryStyle InvStyle
virtual bool CanOpenContainer
Definition: Trait.cs:246
Card owner
Definition: Trait.cs:28
Chara SpawnMob(string id, Point pos=null)
Definition: Zone.cs:2910