Elin Decompiled Documentation EA 23.286 Nightly
Loading...
Searching...
No Matches
SourceManager.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Reflection;
3using UnityEngine;
4
5public class SourceManager : EMono
6{
8
10
12
14
16
17 public SourceCard cards = new SourceCard();
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
91 private List<SourceData> list = new List<SourceData>();
92
93 public bool initialized;
94
95 public ExcelData dataGodTalk => _dataGodTalk ?? (_dataGodTalk = new ExcelData(Lang.setting.dir + "Data/god_talk.xlsx", 3));
96
97 public void InitLang()
98 {
99 langGeneral.Init();
100 langGame.Init();
101 langList.Init();
102 langNote.Init();
103 langWord.Init();
104 Lang.General = langGeneral;
105 Lang.Game = langGame;
106 Lang.List = langList;
107 Lang.Note = langNote;
108 WordGen.source = langWord;
109 }
110
111 public void OnChangeLang()
112 {
113 _dataGodTalk = null;
114 }
115
116 public void Init()
117 {
118 Debug.Log("SourceManager Init");
119 if (initialized)
120 {
121 return;
122 }
123 initialized = true;
124 list.Clear();
125 FieldInfo[] fields = GetType().GetFields();
126 foreach (FieldInfo fieldInfo in fields)
127 {
128 if (typeof(SourceData).IsAssignableFrom(fieldInfo.FieldType))
129 {
130 list.Add((SourceData)fieldInfo.GetValue(this));
131 }
132 }
133 BaseModManager.PublishEvent("elin.source.importing");
134 if (ModManagerCore.enableSheetLoading)
135 {
137 }
138 elements.Init();
139 materials.Init();
140 charas.Init();
141 things.Init();
142 thingV.Init();
143 foods.Init();
144 cards.Init();
145 checks.Init();
146 races.Init();
147 persons.Init();
148 categories.Init();
149 spawnLists.Init();
150 religions.Init();
151 factions.Init();
152 jobs.Init();
153 hobbies.Init();
154 floors.Init();
155 blocks.Init();
156 cellEffects.Init();
157 objs.Init();
158 stats.Init();
159 areas.Init();
160 zones.Init();
161 zoneAffixes.Init();
162 researches.Init();
163 homeResources.Init();
164 globalTiles.Init();
166 quests.Init();
167 charaText.Init();
168 calc.Init();
169 recipes.Init();
170 backers.Init();
171 tactics.Init();
172 keyItems.Init();
173 ACT.Init();
174 TimeTable.Init();
175 List<SourceElement.Row> listAttackElements = Element.ListAttackElements;
176 listAttackElements.Clear();
177 for (int j = 910; j < 927; j++)
178 {
179 listAttackElements.Add(EMono.sources.elements.map[j]);
180 }
181 BaseModManager.PublishEvent("elin.source.imported");
182 }
183
184 public void Reload()
185 {
186 initialized = false;
187 foreach (SourceData item in list)
188 {
189 item.Reset();
190 }
191 Init();
192 }
193
194 public void ExportSourceTexts(string path)
195 {
196 foreach (SourceData item in list)
197 {
198 item.ExportTexts(path);
199 }
200 }
201
202 public void UpdateSourceTexts(string path)
203 {
204 foreach (SourceData item in list)
205 {
206 item.ExportTexts(path, update: true);
207 }
208 }
209
210 public void ImportSourceTexts()
211 {
212 foreach (SourceData item in list)
213 {
214 if (item is SourceThingV)
215 {
216 things.ImportTexts(item.nameSheet);
217 }
218 else
219 {
220 item.ImportTexts();
221 }
222 }
223 }
224
225 public void ValidateLang()
226 {
227 Log.system = "";
228 foreach (SourceData item in list)
229 {
230 item.ValidateLang();
231 }
232 string text = Lang.setting.dir + "validation.txt";
233 IO.SaveText(text, Log.system);
234 Util.Run(text);
235 }
236}
Definition: ACT.cs:6
static void Init()
Definition: ACT.cs:25
static void PublishEvent(string eventId, object data=null)
Definition: EMono.cs:4
static SourceManager sources
Definition: EMono.cs:41
static List< SourceElement.Row > ListAttackElements
Definition: ELEMENT.cs:275
string dir
Definition: LangSetting.cs:28
Definition: Lang.cs:7
static LangSetting setting
Definition: Lang.cs:55
Definition: Log.cs:4
static string system
Definition: Log.cs:5
void ImportAllModSourceSheets()
Definition: ModManager.cs:193
static new ModManager Instance
Definition: ModManager.cs:30
void Init()
Definition: SourceCard.cs:15
void OnAfterInit()
Definition: SourceFloor.cs:169
SourceFaction factions
SourceMaterial materials
SourceRace races
LangGeneral langGeneral
Definition: SourceManager.cs:7
SourceStat stats
SourceKeyItem keyItems
void ValidateLang()
SourceResearch researches
SourceCalc calc
SourceHomeResource homeResources
SourceCard cards
SourceThingV thingV
SourceObj objs
SourceThing things
List< SourceData > list
SourceZone zones
SourceCollectible collectibles
SourceHobby hobbies
SourceFood foods
SourceSpawnList spawnLists
void UpdateSourceTexts(string path)
SourceGlobalTile globalTiles
SourceCheck checks
SourceCellEffect cellEffects
SourceBlock blocks
SourcePerson persons
void ImportSourceTexts()
LangGame langGame
SourceAsset asset
LangWord langWord
ExcelData _dataGodTalk
LangNote langNote
SourceRecipe recipes
ExcelData dataGodTalk
SourceArea areas
SourceCharaText charaText
SourceZoneAffix zoneAffixes
SourceBacker backers
SourceCategory categories
SourceElement elements
SourceChara charas
LangList langList
Definition: SourceManager.cs:9
void OnChangeLang()
void ExportSourceTexts(string path)
SourceQuest quests
SourceJob jobs
SourceReligion religions
SourceTactics tactics
SourceFloor floors
static void Init()
Definition: TimeTable.cs:19