Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitContainer.cs
1using System;
2
3// Token: 0x02000385 RID: 901
5{
6 // Token: 0x17000822 RID: 2082
7 // (get) Token: 0x06001B75 RID: 7029 RVA: 0x000A7FDD File Offset: 0x000A61DD
8 public override bool CanStack
9 {
10 get
11 {
12 return false;
13 }
14 }
15
16 // Token: 0x17000823 RID: 2083
17 // (get) Token: 0x06001B76 RID: 7030 RVA: 0x000A7FE0 File Offset: 0x000A61E0
18 public CoreRef.InventoryStyle InvStyle
19 {
20 get
21 {
22 return EClass.core.refs.invStyle[this.IDInvStyle];
23 }
24 }
25
26 // Token: 0x06001B77 RID: 7031 RVA: 0x000A7FFC File Offset: 0x000A61FC
27 public override void TrySetHeldAct(ActPlan p)
28 {
29 if (p.IsSelf)
30 {
31 this.TrySetAct(p);
32 }
33 }
34
35 // Token: 0x06001B78 RID: 7032 RVA: 0x000A8010 File Offset: 0x000A6210
36 public override void TrySetAct(ActPlan p)
37 {
38 if (this.owner.c_lockLv > 0)
39 {
40 p.TrySetAct(new AI_OpenLock
41 {
42 target = this.owner.Thing
43 }, this.owner);
44 return;
45 }
46 if (!this.CanOpenContainer)
47 {
48 return;
49 }
50 if (this.owner.GetRootCard() == EClass.pc && this.owner.parentCard != null && !this.owner.parentCard.IsPC && !(this.owner.parentCard.trait is TraitToolBelt))
51 {
52 return;
53 }
54 p.TrySetAct("actContainer", delegate()
55 {
56 this.TryOpen();
57 return false;
58 }, this.owner, CursorSystem.Container, 1, this.ShowOpenActAsCrime, true, false);
59 }
60
61 // Token: 0x06001B79 RID: 7033 RVA: 0x000A80D0 File Offset: 0x000A62D0
62 public void TryOpen()
63 {
64 if (this.owner.c_lockLv == 0)
65 {
66 this.Open();
67 return;
68 }
69 if (this.owner.GetRootCard() == EClass.pc && EClass.pc.HasNoGoal && EClass.ui.layers.Count == 0)
70 {
71 EClass.pc.SetAIImmediate(new AI_OpenLock
72 {
73 target = this.owner.Thing
74 });
75 EClass.player.EndTurn(true);
76 return;
77 }
78 SE.Play("lock");
79 }
80
81 // Token: 0x06001B7A RID: 7034 RVA: 0x000A8158 File Offset: 0x000A6358
82 public virtual void Open()
83 {
84 if (base.HasChara)
85 {
86 Chara chara = CharaGen.Create(this.owner.c_idRefCard, -1);
87 this.owner.c_idRefCard = null;
88 EClass._zone.AddCard(chara, (this.owner.ExistsOnMap ? this.owner.pos : EClass.pc.pos).GetNearestPoint(false, false, true, false));
89 this.owner.things.DestroyAll(null);
90 Msg.Say("package_chara", chara, this.owner, null, null);
91 return;
92 }
93 if (LayerInventory.CreateContainer(this.owner.Thing) != null)
94 {
95 if (this.InvStyle.sound != null)
96 {
97 this.InvStyle.sound.Play();
98 return;
99 }
100 SE.PopInventory();
101 }
102 }
103
104 // Token: 0x06001B7B RID: 7035 RVA: 0x000A822B File Offset: 0x000A642B
105 public override void OnSetCardGrid(ButtonGrid b)
106 {
107 if (LayerInventory.IsOpen(this.owner.Thing))
108 {
109 b.Attach("open", false);
110 }
111 }
112}
Definition Chara.cs:12
Definition Msg.cs:7