Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
SourceBacker.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class SourceBacker : SourceDataInt<SourceBacker.Row>
5{
6 [Serializable]
7 public class Row : BaseRow
8 {
9 public int id;
10
11 public bool valid;
12
13 public string lang;
14
15 public string name;
16
17 public string text;
18
19 public int type;
20
21 public int skin;
22
23 public int gender;
24
25 public string tree;
26
27 public string deity;
28
29 public string chara;
30
31 public string loot;
32
33 public int isStatic;
34
35 public bool done;
36
37 public string loc;
38
39 public string original;
40
41 [NonSerialized]
42 public string name_L;
43
44 [NonSerialized]
45 public string text_L;
46
47 public override bool UseAlias => false;
48
49 public override string GetAlias => "n";
50
51 public string Name => BackerContent.ConvertName((Lang.langCode == "CN") ? GetText() : name);
52
53 public string Text
54 {
55 get
56 {
57 if (!(Lang.langCode == "CN"))
58 {
59 return text;
60 }
61 return GetText("text");
62 }
63 }
64 }
65
66 [NonSerialized]
67 public List<Row> listRemain = new List<Row>();
68
69 [NonSerialized]
70 public List<Row> listLantern = new List<Row>();
71
72 [NonSerialized]
73 public List<Row> listTree = new List<Row>();
74
75 [NonSerialized]
76 public List<Row> listPet = new List<Row>();
77
78 [NonSerialized]
79 public List<Row> listSister = new List<Row>();
80
81 [NonSerialized]
82 public List<Row> listFollower = new List<Row>();
83
84 [NonSerialized]
85 public List<Row> listSnail = new List<Row>();
86
87 public override Row CreateRow()
88 {
89 return new Row
90 {
91 id = SourceData.GetInt(0),
92 valid = SourceData.GetBool(3),
93 lang = SourceData.GetString(7),
94 name = SourceData.GetString(8),
95 text = SourceData.GetString(9),
96 type = SourceData.GetInt(10),
97 skin = SourceData.GetInt(11),
98 gender = SourceData.GetInt(12),
99 tree = SourceData.GetString(13),
100 deity = SourceData.GetString(14),
101 chara = SourceData.GetString(15),
102 loot = SourceData.GetString(16),
103 isStatic = SourceData.GetInt(17),
104 done = SourceData.GetBool(18),
105 loc = SourceData.GetString(19),
106 original = SourceData.GetString(20)
107 };
108 }
109
110 public override void SetRow(Row r)
111 {
112 map[r.id] = r;
113 }
114
115 public override void OnInit()
116 {
117 foreach (Row row in rows)
118 {
119 if (row.isStatic == 0 && row.valid)
120 {
121 switch (row.type)
122 {
123 case 1:
124 listRemain.Add(row);
125 break;
126 case 2:
127 listLantern.Add(row);
128 break;
129 case 3:
130 listTree.Add(row);
131 break;
132 case 4:
133 listPet.Add(row);
134 break;
135 case 5:
136 listSister.Add(row);
137 break;
138 case 6:
139 listFollower.Add(row);
140 break;
141 case 7:
142 listSnail.Add(row);
143 break;
144 }
145 }
146 }
147 listRemain.Shuffle();
148 listLantern.Shuffle();
149 listTree.Shuffle();
150 listPet.Shuffle();
151 listSister.Shuffle();
152 listFollower.Shuffle();
153 listSnail.Shuffle();
154 }
155}
static string ConvertName(string s)
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
override bool UseAlias
Definition: SourceBacker.cs:47
override string GetAlias
Definition: SourceBacker.cs:49
override void SetRow(Row r)
List< Row > listSister
Definition: SourceBacker.cs:79
List< Row > listRemain
Definition: SourceBacker.cs:67
override Row CreateRow()
Definition: SourceBacker.cs:87
List< Row > listLantern
Definition: SourceBacker.cs:70
List< Row > listFollower
Definition: SourceBacker.cs:82
List< Row > listSnail
Definition: SourceBacker.cs:85
List< Row > listPet
Definition: SourceBacker.cs:76
override void OnInit()
List< Row > listTree
Definition: SourceBacker.cs:73
static string GetString(int id)
Definition: SourceData.cs:746
static bool GetBool(int id)
Definition: SourceData.cs:716
static int GetInt(int id)
Definition: SourceData.cs:711