Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
BaseModManager.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.IO;
4using UnityEngine;
5
6public class BaseModManager
7{
8 [Serializable]
9 public class BaseResource
10 {
11 public string resourcePath;
12
13 public List<string> files;
14
15 public void Parse<T>(ModItemList<T> list) where T : UnityEngine.Object
16 {
17 foreach (string file in files)
18 {
19 list.Add(null, resourcePath + "/" + file);
20 }
21 }
22 }
23
24 public static BaseModManager Instance;
25
26 public static string rootMod;
27
28 public static string rootDefaultPacakge;
29
30 public static bool isInitialized;
31
32 public static List<string> listChainLoad = new List<string>();
33
34 public DirectoryInfo dirWorkshop;
35
36 public int priorityIndex;
37
38 [NonSerialized]
39 public List<BaseModPackage> packages = new List<BaseModPackage>();
40
41 public virtual void Init(string path, string defaultPackage = "_Elona")
42 {
43 Debug.Log("Initializing ModManager:" + defaultPackage + "/" + path);
44 Instance = this;
45 rootMod = (rootDefaultPacakge = path);
46 if (!defaultPackage.IsEmpty())
47 {
48 rootDefaultPacakge = rootMod + defaultPackage + "/";
49 }
50 }
51
52 public void InitLang()
53 {
54 Debug.Log("Initializing Langs");
55 foreach (LangSetting value in MOD.langs.Values)
56 {
57 if (value.id != Lang.langCode)
58 {
59 continue;
60 }
61 new DirectoryInfo(value.dir);
62 FileInfo[] files = new DirectoryInfo(value.dir + "Data").GetFiles();
63 foreach (FileInfo fileInfo in files)
64 {
65 if (fileInfo.Name == "Alias.xlsx")
66 {
67 Lang.alias = new ExcelData(fileInfo.FullName);
68 }
69 if (fileInfo.Name == "Name.xlsx")
70 {
71 Lang.names = new ExcelData(fileInfo.FullName);
72 }
73 if (fileInfo.Name == "chara_talk.xlsx")
74 {
75 MOD.listTalk.items.Add(new ExcelData(fileInfo.FullName));
76 }
77 if (fileInfo.Name == "chara_tone.xlsx")
78 {
79 MOD.tones.items.Add(new ExcelData(fileInfo.FullName));
80 }
81 }
82 }
83 }
84
85 public virtual void ParseExtra(DirectoryInfo dir, BaseModPackage package)
86 {
87 }
88}
void Parse< T >(ModItemList< T > list)
List< BaseModPackage > packages
virtual void Init(string path, string defaultPackage="_Elona")
static bool isInitialized
static string rootDefaultPacakge
virtual void ParseExtra(DirectoryInfo dir, BaseModPackage package)
static BaseModManager Instance
static string rootMod
static List< string > listChainLoad
DirectoryInfo dirWorkshop
List< ExcelData > items
Definition: ExcelDataList.cs:6
string dir
Definition: LangSetting.cs:28
string id
Definition: LangSetting.cs:22
Definition: Lang.cs:6
static string langCode
Definition: Lang.cs:28
Definition: MOD.cs:7
static TalkDataList listTalk
Definition: MOD.cs:10
static ToneDataList tones
Definition: MOD.cs:12
static Dictionary< string, LangSetting > langs
Definition: MOD.cs:8