16 return EClass.sources.researches.map[this.id];
26 return this.source.GetName() + ((this.source.maxLv == 1) ?
"" : (
" " + this.rank.ToString()));
42 public bool IsComplete
46 return this.exp == this.MaxExp;
53 this.branch = _branch;
57 public void GainExp(
int a)
60 if (this.exp > this.MaxExp)
62 this.exp = this.MaxExp;
67 public int GetSortVal(UIList.SortMode m)
77 public void WriteNote(UINote n)
80 n.AddHeader(this.Name,
null);
81 n.AddText(
string.Concat(
new string[]
86 Mathf.Clamp(this.exp * 100 / this.MaxExp, 0, 100).ToString(),
88 }), FontColor.DontChange);
89 n.AddText(
"vMaxRank".lang() + this.source.maxLv.ToString(), FontColor.DontChange);
90 n.AddHeader(
"researchEffect",
null);
96 public void OnComplete()
98 this.ParseReward(
null);
102 public void ParseReward(UINote n =
null)
104 bool flag = n ==
null;
105 string reward = this.source.reward;
106 if (reward.IsEmpty())
110 string[] array = reward.Split(Environment.NewLine.ToCharArray());
111 string text = array[0];
112 foreach (
string text2
in array)
114 if (text2.Split(
',', StringSplitOptions.None)[0].ToInt() <=
this.rank)
119 List<string> list = text.Split(
',', StringSplitOptions.None).ToList<
string>();
121 foreach (
string text3
in list)
123 string[] array3 = text3.Split(
'/', StringSplitOptions.None);
125 string a = array3[0];
132 if (a ==
"department")
134 text4 =
"rewardDepartment".lang(this.source.GetName(),
null,
null,
null,
null);
140 text4 =
"rewardElement".lang(
EClass.sources.elements.alias[array3[1]].GetName(), array3[2],
null,
null,
null);
143 this.branch.AddFeat(element.id, element.Value);
149 text4 =
"rewardPolicy".lang(
EClass.sources.elements.alias[array3[1]].GetName(),
null,
null,
null,
null);
152 this.branch.policies.AddPolicy(array3[1]);
158 text4 =
"rewardRecipe".lang(
EClass.sources.cards.map[array3[1]].GetName(),
null,
null,
null,
null);
161 EClass.player.recipes.Add(array3[1],
true);
166 n.AddText(text4, FontColor.DontChange);