Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitContainer.cs
Go to the documentation of this file.
2{
3 public override bool CanStack => false;
4
6
7 public override void TrySetHeldAct(ActPlan p)
8 {
9 if (p.IsSelf)
10 {
11 TrySetAct(p);
12 }
13 }
14
15 public override void TrySetAct(ActPlan p)
16 {
17 if (owner.c_lockLv > 0)
18 {
20 {
21 target = owner.Thing
22 }, owner);
23 }
25 {
26 p.TrySetAct("actContainer", delegate
27 {
28 TryOpen();
29 return false;
31 }
32 }
33
34 public void TryOpen()
35 {
36 if (owner.c_lockLv != 0)
37 {
38 if (owner.GetRootCard() == EClass.pc && EClass.pc.HasNoGoal && EClass.ui.layers.Count == 0)
39 {
41 {
42 target = owner.Thing
43 });
45 }
46 else
47 {
48 SE.Play("lock");
49 }
50 }
51 else
52 {
53 Open();
54 }
55 }
56
57 public virtual void Open()
58 {
59 if (base.HasChara && !EClass._zone.IsRegion)
60 {
62 owner.c_idRefCard = null;
63 EClass._zone.AddCard(chara, (owner.ExistsOnMap ? owner.pos : EClass.pc.pos).GetNearestPoint(allowBlock: false, allowChara: false));
65 Msg.Say("package_chara", chara, owner);
66 }
67 else if (LayerInventory.CreateContainer(owner.Thing) != null)
68 {
69 if (InvStyle.sound != null)
70 {
71 InvStyle.sound.Play();
72 }
73 else
74 {
75 SE.PopInventory();
76 }
77 }
78 }
79
80 public override void OnSetCardGrid(ButtonGrid b)
81 {
83 {
84 b.Attach("open", rightAttach: false);
85 }
86 }
87}
bool IsSelf
Definition: ActPlan.cs:173
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
Transform Attach(string id, bool rightAttach=true)
Definition: ButtonGrid.cs:63
int c_lockLv
Definition: Card.cs:924
bool ExistsOnMap
Definition: Card.cs:1961
Point pos
Definition: Card.cs:55
Trait trait
Definition: Card.cs:49
ThingContainer things
Definition: Card.cs:34
virtual bool IsPC
Definition: Card.cs:2019
virtual Thing Thing
Definition: Card.cs:1934
Card GetRootCard()
Definition: Card.cs:3173
Card parentCard
Definition: Card.cs:99
string c_idRefCard
Definition: Card.cs:1637
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
void SetAIImmediate(AIAct g)
Definition: Chara.cs:8077
bool HasNoGoal
Definition: Chara.cs:821
UDInvStyle invStyle
Definition: CoreRef.cs:371
CoreRef refs
Definition: Core.cs:51
static CursorInfo Container
Definition: CursorSystem.cs:82
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
static UI ui
Definition: EClass.cs:16
static LayerInventory CreateContainer(Card owner)
static bool IsOpen(Thing t)
List< Layer > layers
Definition: Layer.cs:110
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:1866
virtual bool IsRegion
Definition: Spatial.cs:501
void DestroyAll(Func< Thing, bool > funcExclude=null)
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:226
Card owner
Definition: Trait.cs:26
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893