Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
CardFilter Class Reference
Inheritance diagram for CardFilter:
EClass CharaFilter ThingFilter

Classes

class  FilterCategory
 
class  FilterItem
 

Public Types

enum  FilterMode { None , Exclude , Match , Equipped }
 

Public Member Functions

override string ToString ()
 
virtual bool ContainsTag (CardRow source, string str)
 
void Init ()
 
bool Pass (CardRow source)
 
void BuildList (List< FilterItem > list, string[] strs)
 

Static Public Member Functions

static FilterItem GetFilterItem (string text)
 
- 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

string id
 
string[] strTag
 
string[] strFilter
 
string[] filterCategory
 
string[] idCard
 
List< FilterItemtags = new List<FilterItem>()
 
List< FilterItemfilters = new List<FilterItem>()
 
List< FilterCategorycategories = new List<FilterCategory>()
 
List< SourceCategory.RowcategoriesInclude = new List<SourceCategory.Row>()
 
bool isChara
 

Protected Member Functions

virtual bool _ShouldPass (CardRow source)
 

Private Attributes

bool isInitialied
 

Additional Inherited Members

- 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 5 of file CardFilter.cs.

Member Enumeration Documentation

◆ FilterMode

Enumerator
None 
Exclude 
Match 
Equipped 

Definition at line 21 of file CardFilter.cs.

Member Function Documentation

◆ _ShouldPass()

virtual bool CardFilter._ShouldPass ( CardRow  source)
inlineprotectedvirtual

Reimplemented in CharaFilter, and ThingFilter.

Definition at line 56 of file CardFilter.cs.

57 {
58 return true;
59 }

Referenced by Pass().

◆ BuildList()

void CardFilter.BuildList ( List< FilterItem list,
string[]  strs 
)
inline

Definition at line 169 of file CardFilter.cs.

170 {
171 if (strs != null)
172 {
173 foreach (string text in strs)
174 {
175 list.Add(GetFilterItem(text));
176 }
177 }
178 }
static FilterItem GetFilterItem(string text)
Definition: CardFilter.cs:180

References GetFilterItem().

Referenced by Init().

◆ ContainsTag()

virtual bool CardFilter.ContainsTag ( CardRow  source,
string  str 
)
inlinevirtual

Reimplemented in CharaFilter.

Definition at line 61 of file CardFilter.cs.

62 {
63 return source.tag.Contains(str);
64 }
string[] tag
Definition: RenderRow.cs:58

References RenderRow.tag.

Referenced by Pass().

◆ GetFilterItem()

static FilterItem CardFilter.GetFilterItem ( string  text)
inlinestatic

Definition at line 180 of file CardFilter.cs.

181 {
182 bool flag = text.StartsWith("-");
183 return new FilterItem
184 {
185 exclude = flag,
186 name = (flag ? text.Substring(1) : text)
187 };
188 }

Referenced by BuildList().

◆ Init()

void CardFilter.Init ( )
inline

Definition at line 66 of file CardFilter.cs.

67 {
70 if (!filterCategory.IsEmpty())
71 {
72 string[] array = filterCategory;
73 foreach (string text in array)
74 {
75 bool flag = text.StartsWith('-');
76 SourceCategory.Row row = EClass.sources.categories.map[flag ? text.Remove(0, 1) : text];
77 categories.Add(new FilterCategory
78 {
79 exclude = flag,
80 row = row
81 });
82 if (!flag)
83 {
84 categoriesInclude.Add(row);
85 }
86 }
87 }
88 isInitialied = true;
89 }
string[] strFilter
Definition: CardFilter.cs:33
string[] filterCategory
Definition: CardFilter.cs:35
List< FilterCategory > categories
Definition: CardFilter.cs:43
string[] strTag
Definition: CardFilter.cs:31
List< FilterItem > filters
Definition: CardFilter.cs:41
void BuildList(List< FilterItem > list, string[] strs)
Definition: CardFilter.cs:169
List< FilterItem > tags
Definition: CardFilter.cs:39
List< SourceCategory.Row > categoriesInclude
Definition: CardFilter.cs:45
bool isInitialied
Definition: CardFilter.cs:47
Definition: EClass.cs:5
static SourceManager sources
Definition: EClass.cs:42
SourceCategory categories

References BuildList(), categories, SourceManager.categories, categoriesInclude, filterCategory, filters, isInitialied, EClass.sources, strFilter, strTag, and tags.

Referenced by Pass().

◆ Pass()

bool CardFilter.Pass ( CardRow  source)
inline

Definition at line 91 of file CardFilter.cs.

92 {
93 if (!isInitialied)
94 {
95 Init();
96 }
97 if (source.chance == 0 || source.isOrigin)
98 {
99 return false;
100 }
101 bool flag = false;
102 bool flag2 = false;
103 for (int i = 0; i < tags.Count; i++)
104 {
105 FilterItem filterItem = tags[i];
106 if (filterItem.exclude)
107 {
108 if (ContainsTag(source, filterItem.name))
109 {
110 return false;
111 }
112 continue;
113 }
114 flag2 = true;
115 if (!flag && ContainsTag(source, filterItem.name))
116 {
117 flag = true;
118 }
119 }
120 if (flag2 && !flag)
121 {
122 return false;
123 }
124 for (int j = 0; j < filters.Count; j++)
125 {
126 FilterItem filterItem2 = filters[j];
127 if (filterItem2.exclude)
128 {
129 if (source.filter.Contains(filterItem2.name))
130 {
131 return false;
132 }
133 }
134 else if (!source.filter.Contains(filterItem2.name))
135 {
136 return false;
137 }
138 }
139 if ((isChara && !source.isChara) || (!isChara && source.isChara))
140 {
141 return false;
142 }
143 if (categories.Count > 0)
144 {
145 bool flag3 = false;
146 foreach (FilterCategory category in categories)
147 {
148 if ((!flag3 || category.exclude) && EClass.sources.categories.map[source.category].IsChildOf(category.row))
149 {
150 if (category.exclude)
151 {
152 return false;
153 }
154 flag3 = true;
155 }
156 }
157 if (!flag3)
158 {
159 return false;
160 }
161 }
162 if (!_ShouldPass(source))
163 {
164 return false;
165 }
166 return true;
167 }
virtual bool _ShouldPass(CardRow source)
Definition: CardFilter.cs:56
void Init()
Definition: CardFilter.cs:66
virtual bool ContainsTag(CardRow source, string str)
Definition: CardFilter.cs:61
bool isChara
Definition: CardFilter.cs:49
bool isChara
Definition: CardRow.cs:55
bool isOrigin
Definition: CardRow.cs:52
string[] filter
Definition: CardRow.cs:31
string category
Definition: RenderRow.cs:46
int chance
Definition: RenderRow.cs:24

References _ShouldPass(), categories, SourceManager.categories, RenderRow.category, RenderRow.chance, ContainsTag(), CardFilter.FilterItem.exclude, CardFilter.FilterCategory.exclude, CardRow.filter, filters, Init(), isChara, CardRow.isChara, isInitialied, CardRow.isOrigin, CardFilter.FilterItem.name, CardFilter.FilterCategory.row, EClass.sources, and tags.

Referenced by SpawnList.CreateMaster().

◆ ToString()

override string CardFilter.ToString ( )
inline

Definition at line 51 of file CardFilter.cs.

52 {
53 return id;
54 }
string id
Definition: CardFilter.cs:29

References id.

Member Data Documentation

◆ categories

List<FilterCategory> CardFilter.categories = new List<FilterCategory>()

Definition at line 43 of file CardFilter.cs.

Referenced by Init(), and Pass().

◆ categoriesInclude

List<SourceCategory.Row> CardFilter.categoriesInclude = new List<SourceCategory.Row>()

Definition at line 45 of file CardFilter.cs.

Referenced by Init(), and SpawnList.Select().

◆ filterCategory

string [] CardFilter.filterCategory

Definition at line 35 of file CardFilter.cs.

Referenced by Init().

◆ filters

List<FilterItem> CardFilter.filters = new List<FilterItem>()

Definition at line 41 of file CardFilter.cs.

Referenced by Init(), and Pass().

◆ id

string CardFilter.id

Definition at line 29 of file CardFilter.cs.

Referenced by ToString().

◆ idCard

string [] CardFilter.idCard

Definition at line 37 of file CardFilter.cs.

Referenced by SpawnList.CreateMaster().

◆ isChara

bool CardFilter.isChara

Definition at line 49 of file CardFilter.cs.

Referenced by CharaFilter.CharaFilter(), and Pass().

◆ isInitialied

bool CardFilter.isInitialied
private

Definition at line 47 of file CardFilter.cs.

Referenced by Init(), and Pass().

◆ strFilter

string [] CardFilter.strFilter

Definition at line 33 of file CardFilter.cs.

Referenced by Init().

◆ strTag

string [] CardFilter.strTag

Definition at line 31 of file CardFilter.cs.

Referenced by Init().

◆ tags

List<FilterItem> CardFilter.tags = new List<FilterItem>()

Definition at line 39 of file CardFilter.cs.

Referenced by Init(), Pass(), and SpawnList.Select().


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