Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
TraitManager Class Reference
Inheritance diagram for TraitManager:
EClass

Public Member Functions

void OnAddCard (Card c)
 
void OnRemoveCard (Card c)
 
Thing GetRandomThing< T > ()
 
List< T > List< T > (Func< T, bool > func=null)
 
TraitSet GetTraitSet< T > ()
 
TraitSet GetTraitSet (Type t)
 

Public Attributes

Dictionary< Type, TraitSettypeMap = new Dictionary<Type, TraitSet>()
 
TraitMap altars = new TraitMap()
 
TraitMap restSpots = new TraitMap()
 
TraitMap chairs = new TraitMap()
 
TraitMap suns = new TraitMap()
 

Additional Inherited Members

- 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)
 
- Static Public Attributes inherited from EClass
static Core core
 
- 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]
 

Detailed Description

Definition at line 4 of file TraitManager.cs.

Member Function Documentation

◆ GetRandomThing< T >()

Thing TraitManager.GetRandomThing< T > ( )
inline
Type Constraints
T :Trait 

Definition at line 60 of file TraitManager.cs.

60 : Trait
61 {
62 return GetTraitSet<T>().RandomItem()?.Thing;
63 }
TraitSet GetTraitSet< T >()
Definition: TraitManager.cs:89
Definition: Trait.cs:7

References GetTraitSet< T >().

◆ GetTraitSet()

TraitSet TraitManager.GetTraitSet ( Type  t)
inline

◆ GetTraitSet< T >()

Type Constraints
T :Trait 

Definition at line 89 of file TraitManager.cs.

89 : Trait
90 {
91 return typeMap.GetOrCreate(typeof(T));
92 }

References typeMap.

Referenced by GetRandomThing< T >(), and List< T >().

◆ List< T >()

List< T > TraitManager.List< T > ( Func< T, bool >  func = null)
inline
Type Constraints
T :Trait 

Definition at line 65 of file TraitManager.cs.

65 : Trait
66 {
67 TraitSet traitSet = GetTraitSet<T>();
68 List<T> list = new List<T>();
69 if (func == null)
70 {
71 foreach (Card item in traitSet)
72 {
73 list.Add(item.trait as T);
74 }
75 }
76 else
77 {
78 foreach (Card item2 in traitSet)
79 {
80 if (func(item2.trait as T))
81 {
82 list.Add(item2.trait as T);
83 }
84 }
85 }
86 return list;
87 }
Definition: Card.cs:11
Trait trait
Definition: Card.cs:49
List< T > List< T >(Func< T, bool > func=null)
Definition: TraitManager.cs:65

References GetTraitSet< T >(), item, List< T >(), and Card.trait.

Referenced by List< T >().

◆ OnAddCard()

void TraitManager.OnAddCard ( Card  c)
inline

Definition at line 16 of file TraitManager.cs.

17 {
18 Trait trait = c.trait;
19 typeMap.GetOrCreate(trait.GetType()).Add(c);
20 if (trait.IsAltar)
21 {
22 altars.Add(c);
23 }
24 if (trait.IsRestSpot)
25 {
26 restSpots.Add(c);
27 }
28 if (trait is TraitChair)
29 {
30 chairs.Add(c);
31 }
32 if (trait is TraitLightSun)
33 {
34 suns.Add(c);
35 }
36 }
TraitMap chairs
Definition: TraitManager.cs:12
TraitMap altars
Definition: TraitManager.cs:8
TraitMap restSpots
Definition: TraitManager.cs:10
TraitMap suns
Definition: TraitManager.cs:14
virtual bool IsRestSpot
Definition: Trait.cs:249
virtual bool IsAltar
Definition: Trait.cs:247

References altars, chairs, Trait.IsAltar, Trait.IsRestSpot, restSpots, suns, Card.trait, and typeMap.

Referenced by Props.Add().

◆ OnRemoveCard()

void TraitManager.OnRemoveCard ( Card  c)
inline

Definition at line 38 of file TraitManager.cs.

39 {
40 Trait trait = c.trait;
41 typeMap[trait.GetType()].Remove(c);
42 if (trait.IsAltar)
43 {
44 altars.Remove(c);
45 }
46 if (trait.IsRestSpot)
47 {
48 restSpots.Remove(c);
49 }
50 if (trait is TraitChair)
51 {
52 chairs.Remove(c);
53 }
54 if (trait is TraitLightSun)
55 {
56 suns.Remove(c);
57 }
58 }

References altars, chairs, Trait.IsAltar, Trait.IsRestSpot, restSpots, suns, Card.trait, and typeMap.

Referenced by Props.Remove().

Member Data Documentation

◆ altars

TraitMap TraitManager.altars = new TraitMap()

Definition at line 8 of file TraitManager.cs.

Referenced by OnAddCard(), OnRemoveCard(), and AI_Offer.Run().

◆ chairs

TraitMap TraitManager.chairs = new TraitMap()

Definition at line 12 of file TraitManager.cs.

Referenced by OnAddCard(), and OnRemoveCard().

◆ restSpots

TraitMap TraitManager.restSpots = new TraitMap()

Definition at line 10 of file TraitManager.cs.

Referenced by OnAddCard(), OnRemoveCard(), and AI_Idle.Run().

◆ suns

TraitMap TraitManager.suns = new TraitMap()

◆ typeMap

Dictionary<Type, TraitSet> TraitManager.typeMap = new Dictionary<Type, TraitSet>()

Definition at line 6 of file TraitManager.cs.

Referenced by GetTraitSet(), GetTraitSet< T >(), OnAddCard(), and OnRemoveCard().


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