Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LangSetting.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using System.IO;
4using System.Text;
5using IniParser;
6using IniParser.Model;
7using UnityEngine;
8
9public class LangSetting
10{
11 public class FontSetting
12 {
13 public float lineSpace = 1f;
14
15 public int index;
16
17 public int importSize = 16;
18
19 public string id;
20 }
21
22 public string id;
23
24 public string name;
25
26 public string name_en;
27
28 public string dir;
29
30 public bool addArticle;
31
32 public bool pluralize;
33
34 public bool capitalize;
35
36 public bool useSpace;
37
38 public bool hyphenation;
39
40 public bool useTone;
41
42 public bool thirdperson;
43
44 public bool stripPuns;
45
46 public int nameStyle;
47
48 public int bracket;
49
50 public int combatTextStyle;
51
52 public List<FontSetting> listFont = new List<FontSetting>();
53
54 public string pathVersion => dir + "/version.ini";
55
56 public LangSetting(string path)
57 {
58 try
59 {
60 IniData iniData = new FileIniDataParser().ReadFile(path, Encoding.UTF8);
61 name = iniData.GetKey("name");
62 name_en = iniData.GetKey("name_en");
63 addArticle = iniData.GetKey("add_article") == "1";
64 pluralize = iniData.GetKey("pluralize") == "1";
65 capitalize = iniData.GetKey("capitalize") == "1";
66 useSpace = iniData.GetKey("use_space") == "1";
67 useTone = iniData.GetKey("use_tone") == "1";
68 nameStyle = iniData.GetKey("name_style").ToInt();
69 combatTextStyle = iniData.GetKey("combat_text_style").ToInt();
70 bracket = iniData.GetKey("bracket").ToInt();
71 hyphenation = iniData.GetKey("hyphenation") == "1";
72 thirdperson = iniData.GetKey("thirdperson") == "1";
73 stripPuns = iniData.GetKey("strip_puns") == "1";
74 foreach (KeyData item in iniData["LoadFont"])
75 {
76 string[] array = item.Value.Split(',');
77 FontSetting fontSetting = new FontSetting
78 {
79 index = array[0].ToInt(),
80 id = array[1]
81 };
82 if (array.Length >= 3)
83 {
84 fontSetting.importSize = array[2].ToInt();
85 }
86 if (array.Length >= 4)
87 {
88 fontSetting.lineSpace = array[3].ToFloat();
89 }
90 listFont.Add(fontSetting);
91 }
92 }
93 catch (Exception message)
94 {
95 Debug.Log(message);
96 Debug.Log("exception: Failed to parse:" + path);
97 }
98 }
99
100 public int GetVersion()
101 {
102 try
103 {
104 return new FileIniDataParser().ReadFile(pathVersion, Encoding.UTF8).Global["version"].ToInt();
105 }
106 catch (Exception message)
107 {
108 Debug.Log(message);
109 Debug.Log("exception: Failed to parse:" + pathVersion);
110 return 0;
111 }
112 }
113
114 public void SetVersion()
115 {
116 FileIniDataParser fileIniDataParser = new FileIniDataParser();
117 if (!File.Exists(pathVersion))
118 {
119 StreamWriter streamWriter = File.CreateText(pathVersion);
120 streamWriter.WriteLine("version=" + BaseCore.Instance.version.GetInt());
121 streamWriter.Close();
122 }
123 else
124 {
125 IniData iniData = fileIniDataParser.ReadFile(pathVersion, Encoding.UTF8);
126 iniData.Global["version"] = BaseCore.Instance.version.GetInt().ToString() ?? "";
127 fileIniDataParser.WriteFile(pathVersion, iniData);
128 }
129 }
130}
Version version
Definition: BaseCore.cs:17
static BaseCore Instance
Definition: BaseCore.cs:11
bool stripPuns
Definition: LangSetting.cs:44
bool pluralize
Definition: LangSetting.cs:32
bool useSpace
Definition: LangSetting.cs:36
int combatTextStyle
Definition: LangSetting.cs:50
string name
Definition: LangSetting.cs:24
bool addArticle
Definition: LangSetting.cs:30
void SetVersion()
Definition: LangSetting.cs:114
LangSetting(string path)
Definition: LangSetting.cs:56
int GetVersion()
Definition: LangSetting.cs:100
string pathVersion
Definition: LangSetting.cs:54
string dir
Definition: LangSetting.cs:28
bool useTone
Definition: LangSetting.cs:40
bool capitalize
Definition: LangSetting.cs:34
List< FontSetting > listFont
Definition: LangSetting.cs:52
string id
Definition: LangSetting.cs:22
bool hyphenation
Definition: LangSetting.cs:38
bool thirdperson
Definition: LangSetting.cs:42
string name_en
Definition: LangSetting.cs:26
int GetInt()
Definition: Version.cs:21