Elin Decompiled Documentation EA 23.229 Stable 1st Anniversary Patch 2
Loading...
Searching...
No Matches
GameLang Class Reference
Inheritance diagram for GameLang:
EClass

Static Public Member Functions

static string ConvertDrama (string text, Chara c=null)
 
static string Convert (string text)
 
static string Convert (StringBuilder sb)
 
static string Parse (string text, bool thirdPerson, string val1, string val2=null, string val3=null, string val4=null)
 
static string ConvertThirdPerson (string text, bool thirdPerson)
 
- Static Public Member Functions inherited from EClass
static int rndSeed (int a, int seed)
 
static int rnd (long a)
 
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)
 

Static Public Attributes

static string refDrama1
 
static string refDrama2
 
static string refDrama3
 
static string refDrama4
 
- Static Public Attributes inherited from EClass
static Core core
 

Additional Inherited Members

- 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 4 of file GameLang.cs.

Member Function Documentation

◆ Convert() [1/2]

static string GameLang.Convert ( string  text)
inlinestatic

Definition at line 124 of file GameLang.cs.

125 {
126 StringBuilder stringBuilder = new StringBuilder();
127 stringBuilder.Append(text);
128 return Convert(stringBuilder);
129 }
static string Convert(string text)
Definition: GameLang.cs:124

References Convert().

Referenced by LayerDrama.ActivateNerun(), PopupManager.Add(), Convert(), ConvertDrama(), ConvertThirdPerson(), Quest.GetDetail(), QuestProgression.GetDetail(), Msg.Nerun(), Parse(), Msg.SayHomeMember(), Msg.SayPic(), Msg.Talk(), and WidgetFeed.Talk().

◆ Convert() [2/2]

static string GameLang.Convert ( StringBuilder  sb)
inlinestatic

Definition at line 131 of file GameLang.cs.

132 {
133 sb.Replace("#player", EClass.player.title);
134 sb.Replace("#pc_him", EClass.pc.IsMale ? "him".lang() : "her".lang());
135 sb.Replace("#pc_his", EClass.pc.IsMale ? "his".lang() : "her".lang());
136 sb.Replace("#pc_race", EClass.pc.race.GetName());
137 sb.Replace("#pc", EClass.pc.NameSimple);
138 return sb.ToString();
139 }
bool IsMale
Definition: Card.cs:2372
string NameSimple
Definition: Card.cs:2127
SourceRace.Row race
Definition: Chara.cs:462
Definition: EClass.cs:5
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
string title
Definition: Player.cs:1001

References Card.IsMale, Card.NameSimple, EClass.pc, EClass.player, Chara.race, and Player.title.

◆ ConvertDrama()

static string GameLang.ConvertDrama ( string  text,
Chara  c = null 
)
inlinestatic

Definition at line 14 of file GameLang.cs.

15 {
17 {
18 return text;
19 }
20 StringBuilder stringBuilder = new StringBuilder();
21 string newValue = "";
22 string newValue2 = "";
23 string name = EClass.game.religions.GetRandomReligion(onlyJoinable: false).Name;
24 string @ref = "-";
25 if (c != null)
26 {
27 newValue = c.NameBraced;
28 newValue2 = (c.IsMale ? "his" : "her").lang();
29 name = c.faith.Name;
30 @ref = CalcGold.Hire(c).ToString() ?? "";
31 }
32 bool flag = false;
33 string text2 = "";
34 for (int i = 0; i < text.Length; i++)
35 {
36 if (flag)
37 {
38 if (text[i] == ']')
39 {
40 flag = false;
41 if (text2 == "qFriend" && EClass._zone.IsPCFaction)
42 {
43 text2 = "qFriendHome";
44 }
45 string[] list = Lang.GetList(text2);
46 if (list != null)
47 {
48 stringBuilder.Append(list.RandomItem());
49 }
50 else
51 {
52 stringBuilder.Append(text2);
53 }
54 }
55 else
56 {
57 text2 += text[i];
58 }
59 }
60 else if (text[i] == '[')
61 {
62 text2 = "";
63 flag = true;
64 }
65 else
66 {
67 stringBuilder.Append(text[i]);
68 }
69 }
70 if (DramaManager.TG != null)
71 {
72 stringBuilder.Replace("#tg", DramaManager.TG.Name);
73 }
74 if (DramaChoice.lastChoice != null)
75 {
76 stringBuilder.Replace("#last_choice", DramaChoice.lastChoice.text);
77 }
78 stringBuilder.Replace("#newline", Environment.NewLine);
79 stringBuilder.Replace("#costHire", "costHire".lang(@ref));
80 stringBuilder.Replace("#self", newValue);
81 stringBuilder.Replace("#his", newValue2);
82 stringBuilder.Replace("#me", newValue);
83 if (int.TryParse(refDrama1, out var result))
84 {
85 refDrama1 = result.ToFormat();
86 }
87 if (int.TryParse(refDrama2, out var result2))
88 {
89 refDrama2 = result2.ToFormat();
90 }
91 if (int.TryParse(refDrama3, out var result3))
92 {
93 refDrama3 = result3.ToFormat();
94 }
95 if (int.TryParse(refDrama4, out var result4))
96 {
97 refDrama4 = result4.ToFormat();
98 }
99 stringBuilder.Replace("#1", refDrama1);
100 stringBuilder.Replace("#2", refDrama2);
101 stringBuilder.Replace("#3", refDrama3);
102 stringBuilder.Replace("#4", refDrama4);
103 stringBuilder.Replace("#god", name);
104 stringBuilder.Replace("#player", EClass.player.title);
105 stringBuilder.Replace("#title", EClass.player.title);
106 stringBuilder.Replace("#zone", EClass._zone.Name);
107 stringBuilder.Replace("#guild_title", Guild.CurrentDrama.relation.TextTitle);
108 stringBuilder.Replace("#guild", Guild.CurrentDrama.Name);
109 stringBuilder.Replace("#race", EClass.pc.race.GetName());
110 stringBuilder.Replace("#pc", EClass.pc.NameSimple);
111 stringBuilder.Replace("#aka", EClass.pc.Aka);
112 stringBuilder.Replace("#bigdaddy", "bigdaddy".lang());
113 stringBuilder.Replace("#festival", EClass._zone.IsFestival ? (EClass._zone.id + "_festival").lang() : "_festival".lang());
114 stringBuilder.Replace("#brother2", (EClass.pc.IsMale ? "brother" : "sister").lang());
115 stringBuilder.Replace("#brother", Lang.GetList(EClass.pc.IsMale ? "bro" : "sis").RandomItem());
116 stringBuilder.Replace("#onii2", Lang.GetList(EClass.pc.IsMale ? "onii2" : "onee2").RandomItem());
117 stringBuilder.Replace("#onii", Lang.GetList(EClass.pc.IsMale ? "onii" : "onee").RandomItem());
118 stringBuilder.Replace("#gender", Lang.GetList("gendersDrama")[EClass.pc.bio.gender]);
119 stringBuilder.Replace("#he", ((EClass.pc.bio.gender == 2) ? "he" : "she").lang());
120 stringBuilder.Replace("#He", ((EClass.pc.bio.gender == 2) ? "he" : "she").lang().ToTitleCase());
121 return Convert(stringBuilder);
122 }
int gender
Definition: Biography.cs:29
static int Hire(Chara c)
Definition: CalcGold.cs:8
Biography bio
Definition: Card.cs:44
string Name
Definition: Card.cs:2125
string NameBraced
Definition: Chara.cs:512
string Aka
Definition: Chara.cs:214
Religion faith
Definition: Chara.cs:437
bool IsGameStarted
Definition: Core.cs:84
static DramaChoice lastChoice
Definition: DramaChoice.cs:5
string text
Definition: DramaChoice.cs:9
static Chara TG
Definition: DramaManager.cs:11
static Game game
Definition: EClass.cs:8
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
string Name
Definition: FACTION.cs:150
FactionRelation relation
Definition: FACTION.cs:126
static string refDrama1
Definition: GameLang.cs:6
static string refDrama2
Definition: GameLang.cs:8
static string refDrama4
Definition: GameLang.cs:12
static string refDrama3
Definition: GameLang.cs:10
ReligionManager religions
Definition: Game.cs:158
Definition: Guild.cs:2
static Guild CurrentDrama
Definition: Guild.cs:24
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114
Religion GetRandomReligion(bool onlyJoinable=true, bool includeMinor=false)
string Name
Definition: Religion.cs:30
virtual string Name
Definition: Spatial.cs:509
string id
Definition: Spatial.cs:13
virtual bool IsFestival
Definition: Zone.cs:206
bool IsPCFaction
Definition: Zone.cs:470

References EClass._zone, Chara.Aka, Card.bio, Convert(), EClass.core, Guild.CurrentDrama, EClass.game, Biography.gender, Lang.GetList(), ReligionManager.GetRandomReligion(), CalcGold.Hire(), Spatial.id, Zone.IsFestival, Core.IsGameStarted, Card.IsMale, Zone.IsPCFaction, DramaChoice.lastChoice, Card.Name, Faction.Name, Religion.Name, Spatial.Name, Card.NameSimple, EClass.pc, EClass.player, Chara.race, refDrama1, refDrama2, refDrama3, refDrama4, Faction.relation, Game.religions, DramaChoice.text, FactionRelation.TextTitle, DramaManager.TG, and Player.title.

Referenced by Card.ApplyTone(), Quest.Parse(), DramaActor.SetChoice(), and DramaActor.Talk().

◆ ConvertThirdPerson()

static string GameLang.ConvertThirdPerson ( string  text,
bool  thirdPerson 
)
inlinestatic

Definition at line 206 of file GameLang.cs.

207 {
208 string[] array = text.Split(' ');
209 StringBuilder stringBuilder = new StringBuilder();
210 bool flag = true;
211 string[] array2 = array;
212 foreach (string text2 in array2)
213 {
214 if (flag)
215 {
216 flag = false;
217 }
218 else
219 {
220 stringBuilder.Append(' ');
221 }
222 if (text2.Contains('/') && !text2.Contains('<'))
223 {
224 string[] array3 = text2.Split('/');
225 stringBuilder.Append(thirdPerson ? array3[1] : array3[0]);
226 }
227 else
228 {
229 stringBuilder.Append(text2);
230 }
231 }
232 stringBuilder.Replace("(s)", thirdPerson ? "s" : "");
233 stringBuilder.Replace("(es)", thirdPerson ? "es" : "");
234 return Convert(stringBuilder);
235 }

References Convert().

Referenced by Parse().

◆ Parse()

static string GameLang.Parse ( string  text,
bool  thirdPerson,
string  val1,
string  val2 = null,
string  val3 = null,
string  val4 = null 
)
inlinestatic

Definition at line 141 of file GameLang.cs.

142 {
143 StringBuilder stringBuilder = new StringBuilder(text);
144 if (val1 != null)
145 {
146 if (Lang.articlesToRemove.Count > 0)
147 {
148 string text2 = val1;
149 foreach (char[] item in Lang.articlesToRemove)
150 {
151 text2 = text2.TrimStart(item);
152 }
153 stringBuilder.Replace("-#1", text2);
154 }
155 stringBuilder.Replace("#1", val1 ?? "");
156 }
157 if (val2 != null)
158 {
159 if (Lang.articlesToRemove.Count > 0)
160 {
161 string text3 = val2;
162 foreach (char[] item2 in Lang.articlesToRemove)
163 {
164 text3 = text3.TrimStart(item2);
165 }
166 stringBuilder.Replace("-#2", text3);
167 }
168 stringBuilder.Replace("#2", val2);
169 }
170 if (val3 != null)
171 {
172 stringBuilder.Replace("#3", val3);
173 }
174 if (val4 != null)
175 {
176 stringBuilder.Replace("#4", val4);
177 }
178 if (int.TryParse(val1, out var result))
179 {
180 stringBuilder.Replace("#(s)", (result <= 1) ? "" : "_s".lang());
181 }
183 {
184 stringBuilder.Replace("#your2", Msg.thirdPerson2.your);
185 stringBuilder.Replace("#himself2", Msg.thirdPerson2.himself);
186 stringBuilder.Replace("#him2", Msg.thirdPerson2.him);
187 stringBuilder.Replace("#his2", Msg.thirdPerson2.his);
188 stringBuilder.Replace("#he2", Msg.thirdPerson2.he);
189 stringBuilder.Replace("(s2)", Msg.thirdPerson2.thirdperson ? "s" : "");
190 }
192 {
193 stringBuilder.Replace("#your", Msg.thirdPerson1.your);
194 stringBuilder.Replace("#himself", Msg.thirdPerson1.himself);
195 stringBuilder.Replace("#him", Msg.thirdPerson1.him);
196 stringBuilder.Replace("#his", Msg.thirdPerson1.his);
197 stringBuilder.Replace("#he", Msg.thirdPerson1.he);
198 }
200 {
201 return ConvertThirdPerson(stringBuilder.ToString(), thirdPerson);
202 }
203 return Convert(stringBuilder);
204 }
static string ConvertThirdPerson(string text, bool thirdPerson)
Definition: GameLang.cs:206
bool thirdperson
Definition: LangSetting.cs:42
static LangSetting setting
Definition: Lang.cs:54
static List< char[]> articlesToRemove
Definition: Lang.cs:44
Definition: Msg.cs:5
static ThirstPersonInfo thirdPerson2
Definition: Msg.cs:8
static ThirstPersonInfo thirdPerson1
Definition: Msg.cs:6

References ThirstPersonInfo.active, Lang.articlesToRemove, Convert(), ConvertThirdPerson(), ThirstPersonInfo.he, ThirstPersonInfo.him, ThirstPersonInfo.himself, ThirstPersonInfo.his, item, Lang.setting, LangSetting.thirdperson, ThirstPersonInfo.thirdperson, Msg.thirdPerson1, Msg.thirdPerson2, and ThirstPersonInfo.your.

Referenced by Chara.Die(), Msg.GetRawText(), Msg.Say(), and ActEffect.Wish().

Member Data Documentation

◆ refDrama1

string GameLang.refDrama1
static

Definition at line 6 of file GameLang.cs.

Referenced by ConvertDrama().

◆ refDrama2

string GameLang.refDrama2
static

Definition at line 8 of file GameLang.cs.

Referenced by ConvertDrama().

◆ refDrama3

string GameLang.refDrama3
static

Definition at line 10 of file GameLang.cs.

Referenced by ConvertDrama().

◆ refDrama4

string GameLang.refDrama4
static

Definition at line 12 of file GameLang.cs.

Referenced by ConvertDrama().


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