Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitBed Class Reference
Inheritance diagram for TraitBed:
Trait EClass

Public Member Functions

override void TrySetAct (ActPlan p)
 
void ValidateOwners ()
 
void AddHolder (Chara c)
 
void RemoveHolder (Chara c)
 
void ClearHolders ()
 
bool IsHolder (Chara c)
 
bool IsFull ()
 
bool HasHolder ()
 
bool CanAssign (Chara c)
 
void SetBedType (BedType bedType)
 
override void SetName (ref string s)
 
override string GetHoverText ()
 
- Public Member Functions inherited from Trait
string GetParam (int i, string def=null)
 
int GetParamInt (int i, int def)
 
virtual bool Contains (RecipeSource r)
 
virtual int GetValue ()
 
virtual bool CanStackTo (Thing to)
 
virtual string GetHoverText ()
 
virtual Action GetHealAction (Chara c)
 
virtual bool CanBlend (Thing t)
 
virtual void OnBlend (Thing t, Chara c)
 
virtual int GetActDuration (Chara c)
 
virtual SourceElement.Row GetRefElement ()
 
virtual Sprite GetRefSprite ()
 
virtual void OnRenderExtra (RenderParam p)
 
virtual Emo2 GetHeldEmo (Chara c)
 
virtual void SetOwner (Card _owner)
 
virtual bool IdleUse (Chara c, int dist)
 
virtual void OnSetOwner ()
 
virtual void OnImportMap ()
 
virtual void SetParams (params string[] s)
 
virtual void OnCrafted (Recipe recipe)
 
virtual void OnCreate (int lv)
 
virtual void OnEquip (Chara c, bool onSetOwner)
 
virtual void OnUnequip (Chara c)
 
virtual void OnChangePlaceState (PlaceState state)
 
virtual void OnAddedToZone ()
 
virtual void OnRemovedFromZone ()
 
virtual void OnSimulateHour (VirtualDate date)
 
virtual string GetName ()
 
virtual void SetName (ref string s)
 
virtual void OnRenderTile (Point point, HitResult result, int dir)
 
virtual int CompareTo (Card b)
 
virtual bool CanBuiltAt (Point p)
 
virtual void Update ()
 
Point GetPoint ()
 
Point GetRandomPoint (Func< Point, bool > func=null, Chara accessChara=null)
 
virtual List< PointListPoints (Point center=null, bool onlyPassable=true)
 
virtual Recipe GetRecipe ()
 
virtual Recipe GetBuildModeRecipe ()
 
virtual bool CanCook (Card c)
 
void CookProgress ()
 
virtual bool CanOffer (Card tg)
 
void OfferProcess (Chara cc)
 
void Offer (Chara cc)
 
virtual bool TryProgress (AIProgress p)
 
virtual LockOpenState TryOpenLock (Chara cc, bool msgFail=true)
 
virtual void WriteNote (UINote n, bool identified)
 
int GetSortVal (UIList.SortMode m)
 
virtual HotItem GetHotItem ()
 
virtual bool CanRead (Chara c)
 
virtual void OnRead (Chara c)
 
virtual bool CanEat (Chara c)
 
virtual void OnEat (Chara c)
 
virtual bool CanDrink (Chara c)
 
virtual void OnDrink (Chara c)
 
virtual void OnThrowGround (Chara c, Point p)
 
virtual bool CanUse (Chara c)
 
virtual bool CanUse (Chara c, Card tg)
 
virtual bool CanUse (Chara c, Point p)
 
virtual bool OnUse (Chara c)
 
virtual bool OnUse (Chara c, Card tg)
 
virtual bool OnUse (Chara c, Point p)
 
virtual void TrySetAct (ActPlan p)
 
virtual void TrySetHeldAct (ActPlan p)
 
virtual void OnHeld ()
 
virtual void OnTickHeld ()
 
virtual void OnSetCurrentItem ()
 
virtual void OnUnsetCurrentItem ()
 
virtual bool OnChildDecay (Card c, bool firstDecay)
 
virtual bool CanChildDecay (Card c)
 
virtual void OnSetCardGrid (ButtonGrid b)
 
virtual void OnStepped (Chara c)
 
virtual void OnSteppedOut (Chara c)
 
virtual void OnOpenDoor (Chara c)
 
void Install (bool byPlayer)
 
void Uninstall ()
 
virtual void OnInstall (bool byPlayer)
 
virtual void OnUninstall ()
 
virtual void TryToggle ()
 
virtual void Toggle (bool on, bool silent=false)
 
virtual void PlayToggleEffect (bool silent)
 
virtual void OnToggle ()
 
virtual void TrySetToggleAct (ActPlan p)
 
bool IsFuelEnough (int num=1, List< Thing > excludes=null, bool tryRefuel=true)
 
bool IsFuel (string s)
 
bool IsFuel (Thing t)
 
int GetFuelValue (Thing t)
 
int GetFuelValue (string id)
 
void Refuel (Thing t)
 
void TryRefuel (int dest, List< Thing > excludes)
 
virtual void OnEnterScreen ()
 
virtual void RefreshRenderer ()
 
virtual void SetMainText (UIText t, bool hotitem)
 
virtual bool CanCopy (Thing t)
 
string GetTextRestock (string lang, bool pet)
 
Emo2 GetRestockedIcon ()
 
void OnBarter ()
 
Thing CreateStock ()
 

Properties

override bool CanStack [get]
 
int MaxHolders [get]
 
override bool IsChangeFloorHeight [get]
 
- Properties inherited from Trait
string[] Params [get]
 
virtual byte WeightMod [get]
 
virtual int IdSkin [get]
 
virtual string Name [get]
 
virtual TileType tileType [get]
 
virtual RefCardName RefCardName [get]
 
virtual bool IsBlockPath [get]
 
virtual bool IsBlockSight [get]
 
virtual bool IsDoor [get]
 
virtual bool IsOpenSight [get]
 
virtual bool IsOpenPath [get]
 
virtual bool IsFloating [get]
 
virtual bool IsGround [get]
 
virtual bool InvertHeldSprite [get]
 
virtual bool IsChangeFloorHeight [get]
 
virtual bool ShouldRefreshTile [get]
 
virtual bool ShouldTryRefreshRoom [get]
 
virtual int InstallBottomPriority [get]
 
virtual bool CanHarvest [get]
 
virtual int radius [get]
 
virtual TraitRadiusType radiusType [get]
 
virtual bool CanUseRoomRadius [get]
 
virtual int GuidePriotiy [get]
 
virtual int Electricity [get]
 
virtual bool IgnoreLastStackHeight [get]
 
virtual int Decay [get]
 
virtual int DecaySpeed [get]
 
virtual int DecaySpeedChild [get]
 
virtual bool IsFridge [get]
 
virtual int DefaultStock [get]
 
virtual bool HoldAsDefaultInteraction [get]
 
virtual int CraftNum [get]
 
virtual bool ShowOrbit [get]
 
virtual bool HaveUpdate [get]
 
virtual bool IsSpot [get]
 
virtual bool IsFactory [get]
 
virtual bool CanAutofire [get]
 
virtual bool CanName [get]
 
virtual bool CanPutAway [get]
 
virtual bool CanChangeHeight [get]
 
virtual bool CanStack [get]
 
virtual bool CanCopyInBlueprint [get]
 
virtual bool CanBeAttacked [get]
 
virtual bool CanExtendBuild [get]
 
virtual string langNote [get]
 
virtual string IDInvStyle [get]
 
virtual string IDActorEx [get]
 
virtual bool MaskOnBuild [get]
 
virtual bool ShowContextOnPick [get]
 
virtual bool IsThrowMainAction [get]
 
virtual bool LevelAsQuality [get]
 
virtual bool UseDummyTile [get]
 
virtual bool RequireFullStackCheck [get]
 
virtual bool DisableAutoCombat [get]
 
virtual InvGridSize InvGridSize [get]
 
virtual bool IsContainer [get]
 
virtual bool CanUseContent [get]
 
virtual bool CanSearchContent [get]
 
virtual bool CanOpenContainer [get]
 
virtual bool IsSpecialContainer [get]
 
virtual ContainerType ContainerType [get]
 
virtual ThrowType ThrowType [get]
 
virtual EffectDead EffectDead [get]
 
virtual bool IsHomeItem [get]
 
virtual bool IsAltar [get]
 
virtual bool IsRestSpot [get]
 
virtual bool CanBeMasked [get]
 
virtual bool IsBlendBase [get]
 
virtual bool CanBeOnlyBuiltInHome [get]
 
virtual bool CanBuildInTown [get]
 
virtual bool CanBeHeld [get]
 
virtual bool CanBeStolen [get]
 
virtual bool CanOnlyCarry [get]
 
virtual bool CanBeDestroyed [get]
 
virtual bool CanBeHallucinated [get]
 
virtual bool CanBeDropped [get]
 
virtual string ReqHarvest [get]
 
virtual bool CanBeDisassembled [get]
 
virtual bool CanBeShipped [get]
 
virtual bool HasCharges [get]
 
virtual bool ShowCharges [get]
 
virtual bool ShowChildrenNumber [get]
 
virtual bool ShowAsTool [get]
 
virtual bool CanBeHeldAsFurniture [get]
 
virtual bool HideInAdv [get]
 
virtual bool NoHeldDir [get]
 
virtual bool AlwaysHideOnLowWall [get]
 
bool ExistsOnMap [get]
 
virtual bool RenderExtra [get]
 
virtual float DropChance [get]
 
virtual string IdNoRestock [get]
 
virtual int IdleUseChance [get]
 
virtual string RecipeCat [get]
 
virtual bool IsTool [get]
 
virtual string LangUse [get]
 
virtual bool IsOn [get]
 
virtual bool IsAnimeOn [get]
 
bool IsToggle [get]
 
virtual bool AutoToggle [get]
 
bool IsLighting [get]
 
virtual bool IsLightOn [get]
 
virtual bool IsNightOnlyLight [get]
 
virtual TileMode tileMode [get]
 
virtual bool UseAltTiles [get]
 
virtual bool UseLowblock [get]
 
virtual bool UseExtra [get]
 
virtual bool UseLightColor [get]
 
virtual ? Color ColorExtra [get]
 
virtual int MaxFuel [get]
 
virtual int FuelCost [get]
 
virtual bool ShowFuelWindow [get]
 
bool IsRequireFuel [get]
 
string IdToggleExtra [get]
 
virtual ToggleType ToggleType [get]
 
virtual int ShopLv [get]
 
virtual CopyShopType CopyShop [get]
 
virtual int NumCopyItem [get]
 
virtual ShopType ShopType [get]
 
virtual CurrencyType CurrencyType [get]
 
virtual PriceType PriceType [get]
 
virtual bool AllowSell [get]
 
virtual int CostRerollShop [get]
 
virtual bool AllowCriminal [get]
 
virtual int RestockDay [get]
 
virtual SlaverType SlaverType [get]
 
virtual string LangBarter [get]
 
string TextNextRestock [get]
 
string TextNextRestockPet [get]
 
- Properties inherited from EClass
static Game game [get]
 
static bool AdvMode [get]
 
static Player player [get]
 
static Chara pc [get]
 
static UI ui [get]
 
static Map _map [get]
 
static Zone _zone [get]
 
static FactionBranch Branch [get]
 
static FactionBranch BranchOrHomeBranch [get]
 
static Faction Home [get]
 
static Faction Wilds [get]
 
static Scene scene [get]
 
static BaseGameScreen screen [get]
 
static GameSetting setting [get]
 
static GameData gamedata [get]
 
static ColorProfile Colors [get]
 
static World world [get]
 
static SourceManager sources [get]
 
static SourceManager editorSources [get]
 
static SoundManager Sound [get]
 
static CoreDebug debug [get]
 

Additional Inherited Members

- Public Types inherited from Trait
enum  TileMode {
  Default , Door , Illumination , DefaultNoAnime ,
  SignalAnime
}
 
enum  CopyShopType { None , Item , Spellbook }
 
- Static Public Member Functions inherited from EClass
static int rnd (int a)
 
static int curve (int a, int start, int step, int rate=75)
 
static int rndHalf (int a)
 
static float rndf (float a)
 
static int rndSqrt (int a)
 
static void Wait (float a, Card c)
 
static void Wait (float a, Point p)
 
static int Bigger (int a, int b)
 
static int Smaller (int a, int b)
 
- Public Attributes inherited from Trait
Card owner
 
- Static Public Attributes inherited from Trait
static TraitSelfFactory SelfFactory = new TraitSelfFactory()
 
- Static Public Attributes inherited from EClass
static Core core
 
- Static Protected Attributes inherited from Trait
static List< PointlistRadiusPoints = new List<Point>()
 

Detailed Description

Definition at line 3 of file TraitBed.cs.

Member Function Documentation

◆ AddHolder()

void TraitBed.AddHolder ( Chara  c)
inline

Definition at line 101 of file TraitBed.cs.

102 {
103 CharaList charaList = owner.c_charaList;
104 if (charaList == null)
105 {
106 charaList = (owner.c_charaList = new CharaList());
107 }
108 charaList.Add(c);
109 }
CharaList c_charaList
Definition: Card.cs:1793
void Add(Chara c)
Definition: CharaList.cs:9
Card owner
Definition: Trait.cs:26

References CharaList.Add(), Card.c_charaList, and Trait.owner.

Referenced by ListPeopleBed.OnClick(), Chara.TryAssignBed(), and TrySetAct().

◆ CanAssign()

bool TraitBed.CanAssign ( Chara  c)
inline

Definition at line 154 of file TraitBed.cs.

155 {
156 CharaList c_charaList = owner.c_charaList;
157 if (c_charaList != null && c_charaList.list.Count >= MaxHolders)
158 {
159 return false;
160 }
161 BedType c_bedType = owner.c_bedType;
162 FactionMemberType memberType = c.memberType;
163 if ((memberType != 0 || (c_bedType != 0 && c_bedType != BedType.residentOne)) && (memberType != FactionMemberType.Livestock || c_bedType != BedType.livestock))
164 {
165 if (memberType == FactionMemberType.Guest)
166 {
167 return c_bedType == BedType.guest;
168 }
169 return false;
170 }
171 return true;
172 }
BedType
Definition: BedType.cs:2
FactionMemberType
BedType c_bedType
Definition: Card.cs:900
List< int > list
Definition: CharaList.cs:7
FactionMemberType memberType
Definition: Chara.cs:46
int MaxHolders
Definition: TraitBed.cs:8

References Card.c_bedType, Card.c_charaList, CharaList.list, MaxHolders, Chara.memberType, and Trait.owner.

Referenced by ListPeopleBed.OnClick(), and Chara.TryAssignBed().

◆ ClearHolders()

void TraitBed.ClearHolders ( )
inline

Definition at line 124 of file TraitBed.cs.

125 {
126 owner.c_charaList?.list.Clear();
127 }

References Card.c_charaList, CharaList.list, and Trait.owner.

Referenced by SetBedType(), and TrySetAct().

◆ GetHoverText()

override string TraitBed.GetHoverText ( )
inlinevirtual

Reimplemented from Trait.

Definition at line 207 of file TraitBed.cs.

208 {
209 CharaList c_charaList = owner.c_charaList;
210 if (c_charaList == null || c_charaList.Get().Count < 3)
211 {
212 return null;
213 }
214 string text = "";
215 foreach (Chara item in c_charaList.Get())
216 {
217 if (text != "")
218 {
219 text += ", ";
220 }
221 text += item.NameSimple;
222 }
223 return "(" + text + ")";
224 }
List< Chara > Get()
Definition: CharaList.cs:22
Definition: Chara.cs:10

References Card.c_charaList, CharaList.Get(), item, and Trait.owner.

◆ HasHolder()

bool TraitBed.HasHolder ( )
inline

Definition at line 144 of file TraitBed.cs.

145 {
146 CharaList c_charaList = owner.c_charaList;
147 if (c_charaList == null)
148 {
149 return false;
150 }
151 return c_charaList.list.Count > 0;
152 }

References Card.c_charaList, and Trait.owner.

Referenced by TrySetAct().

◆ IsFull()

bool TraitBed.IsFull ( )
inline

Definition at line 134 of file TraitBed.cs.

135 {
136 CharaList c_charaList = owner.c_charaList;
137 if (c_charaList != null)
138 {
139 return c_charaList.list.Count >= MaxHolders;
140 }
141 return false;
142 }

References Card.c_charaList, MaxHolders, and Trait.owner.

◆ IsHolder()

bool TraitBed.IsHolder ( Chara  c)
inline

Definition at line 129 of file TraitBed.cs.

130 {
131 return owner.c_charaList?.list.Contains(c.uid) ?? false;
132 }
int uid
Definition: Card.cs:118

References Card.c_charaList, CharaList.list, Trait.owner, and Card.uid.

Referenced by Chara.ClearBed(), Chara.FindBed(), and ListPeopleBed.OnList().

◆ RemoveHolder()

void TraitBed.RemoveHolder ( Chara  c)
inline

Definition at line 111 of file TraitBed.cs.

112 {
113 CharaList c_charaList = owner.c_charaList;
114 if (c_charaList != null)
115 {
116 c_charaList.Remove(c);
117 if (c_charaList.list.Count == 0)
118 {
119 owner.c_charaList = null;
120 }
121 }
122 }
void Remove(Chara c)
Definition: CharaList.cs:17

References Card.c_charaList, CharaList.list, Trait.owner, and CharaList.Remove().

Referenced by ListPeopleBed.OnClick().

◆ SetBedType()

void TraitBed.SetBedType ( BedType  bedType)
inline

Definition at line 174 of file TraitBed.cs.

175 {
176 if (bedType != owner.c_bedType)
177 {
178 owner.c_bedType = bedType;
179 ClearHolders();
180 }
181 }
void ClearHolders()
Definition: TraitBed.cs:124

References Card.c_bedType, ClearHolders(), and Trait.owner.

Referenced by TrySetAct().

◆ SetName()

override void TraitBed.SetName ( ref string  s)
inlinevirtual

Reimplemented from Trait.

Definition at line 183 of file TraitBed.cs.

184 {
185 CharaList c_charaList = owner.c_charaList;
186 if (c_charaList != null)
187 {
188 List<Chara> list = c_charaList.Get();
189 if (list.Count == 1)
190 {
191 s = "_bed".lang(list[0].NameSimple, s);
192 return;
193 }
194 if (list.Count == 2)
195 {
196 s = "_bed".lang("_and".lang(list[0].NameSimple, list[1].NameSimple), s);
197 return;
198 }
199 }
200 if (owner.c_bedType != 0)
201 {
202 string @ref = ("bed_" + owner.c_bedType).lang().ToLower();
203 s = "_of4".lang(@ref, s);
204 }
205 }

References Card.c_bedType, Card.c_charaList, CharaList.Get(), and Trait.owner.

◆ TrySetAct()

override void TraitBed.TrySetAct ( ActPlan  p)
inlinevirtual

Reimplemented from Trait.

Definition at line 21 of file TraitBed.cs.

22 {
25 {
26 target = owner.Thing
27 }, owner);
29 {
30 target = owner.Thing
31 }, owner);
33 {
34 return;
35 }
36 p.TrySetAct("bedConfig", delegate
37 {
38 UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
39 if (HasHolder())
40 {
41 uIContextMenu.AddButton("unassignBed", delegate
42 {
44 SE.Trash();
45 });
46 }
47 else if (owner.c_bedType == BedType.resident || owner.c_bedType == BedType.residentOne)
48 {
49 uIContextMenu.AddButton("claimBed", delegate
50 {
53 Msg.Say("claimBed", EClass.pc);
54 SE.Play("jingle_embark");
55 });
56 }
57 if (owner.c_bedType == BedType.resident || owner.c_bedType == BedType.residentOne || owner.c_bedType == BedType.livestock)
58 {
59 uIContextMenu.AddButton("assignBed", delegate
60 {
62 });
63 }
64 foreach (BedType t in new List<BedType>
65 {
66 BedType.resident,
67 BedType.residentOne,
68 BedType.livestock,
69 BedType.guest
70 })
71 {
72 uIContextMenu.AddButton(((t == owner.c_bedType) ? "context_checker".lang() : "") + ("bed_" + t).lang(), delegate
73 {
74 SetBedType(t);
75 SE.ClickOk();
76 });
77 }
78 CursorSystem.ignoreCount = 5;
79 uIContextMenu.Show();
80 return false;
81 }, owner);
82 }
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
Definition: EClass.cs:5
static Zone _zone
Definition: EClass.cs:20
static Chara pc
Definition: EClass.cs:14
static UI ui
Definition: EClass.cs:16
static LayerPeople CreateBed(TraitBed bed)
Definition: LayerPeople.cs:128
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 AddHolder(Chara c)
Definition: TraitBed.cs:101
bool HasHolder()
Definition: TraitBed.cs:144
void ValidateOwners()
Definition: TraitBed.cs:84
void SetBedType(BedType bedType)
Definition: TraitBed.cs:174
void Show(UIItem i)
void AddButton(Func< string > funcText, UnityAction action=null)
bool IsPCFaction
Definition: Zone.cs:464

References EClass._zone, UIContextMenu.AddButton(), AddHolder(), Card.c_bedType, ClearHolders(), LayerPeople.CreateBed(), HasHolder(), Zone.IsPCFaction, Trait.owner, EClass.pc, Msg.Say(), SetBedType(), ActPlan.TrySetAct(), EClass.ui, and ValidateOwners().

◆ ValidateOwners()

void TraitBed.ValidateOwners ( )
inline

Definition at line 84 of file TraitBed.cs.

85 {
87 if (data == null)
88 {
89 return;
90 }
91 data.list.ForeachReverse(delegate(int i)
92 {
94 if (chara == null || (chara.IsPCFaction && !chara.IsPCParty && chara.homeBranch != EClass._zone.branch))
95 {
96 data.list.Remove(i);
97 }
98 });
99 }
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
Definition: UIBook.cs:627
Chara Find(string id)
Definition: CardManager.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
override bool IsPCParty
Definition: Chara.cs:600
override bool IsPCFaction
Definition: Chara.cs:656
FactionBranch homeBranch
Definition: Chara.cs:889
static Game game
Definition: EClass.cs:8
static Map _map
Definition: EClass.cs:18
CardManager cards
Definition: Game.cs:155
Chara FindChara(string id)
Definition: Map.cs:2546
FactionBranch branch
Definition: Zone.cs:34

References EClass._map, EClass._zone, Zone.branch, Card.c_charaList, Game.cards, CardManager.GlobalCharaList.Find(), Map.FindChara(), EClass.game, CardManager.globalCharas, Chara.homeBranch, if(), Chara.IsPCFaction, Chara.IsPCParty, CharaList.list, and Trait.owner.

Referenced by TrySetAct().

Property Documentation

◆ CanStack

override bool TraitBed.CanStack
get

Definition at line 5 of file TraitBed.cs.

◆ IsChangeFloorHeight

override bool TraitBed.IsChangeFloorHeight
get

Definition at line 19 of file TraitBed.cs.

◆ MaxHolders

int TraitBed.MaxHolders
get

Definition at line 7 of file TraitBed.cs.

8 {
9 get
10 {
11 if (owner.c_bedType != BedType.residentOne)
12 {
13 return ((GetParam(1) == null) ? 1 : GetParam(1).ToInt()) + owner.c_containerSize;
14 }
15 return 1;
16 }
17 }
int c_containerSize
Definition: Card.cs:1289
string GetParam(int i, string def=null)
Definition: Trait.cs:515

Referenced by CanAssign(), and IsFull().


The documentation for this class was generated from the following file: