public void GetStatusValue() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(GameAsset.text); XmlNodeList setting_values = xmlDoc.GetElementsByTagName(playerlevelsSettingsTag); playerlevelsSettings = new List<PlayerLevelSettings>(); foreach (XmlNode setting_value in setting_values) { XmlNodeList status_contents = setting_value.ChildNodes; PlayerLevelSettings playerlevelSettings = new PlayerLevelSettings(); playerlevelSettings.statusValues = new Dictionary<string, string>(); foreach (XmlNode status_content in status_contents) { foreach (string tag_name in Enum.GetNames(typeof(TagNames))) { if (status_content.Name == tag_name) { playerlevelSettings.statusValues.Add(tag_name, status_content.InnerText); } } } playerlevelsSettings.Add(playerlevelSettings); } }
public static void Initialize(RepeatedField <ItemTemplate> templates) { foreach (ItemTemplate template in templates) { if (template.PlayerLevel != null) { PlayerLevelSettings settings = template.PlayerLevel; RepeatedField <float> multipliers = settings.CpMultiplier; for (int i = 0; i < multipliers.Count; i++) { double multiplier = multipliers[i]; LEVEL_CP_MULTIPLIER[i + 1.0F] = multiplier; double nextMultiplier = multipliers[Math.Min(multipliers.Count - 1, i + 1)]; double step = ((nextMultiplier * nextMultiplier) - (multiplier * multiplier)) / 2.0F; if (i >= 30) { step /= 2.0; } LEVEL_CP_MULTIPLIER[i + 1.5F] = Math.Sqrt((multiplier * multiplier) + step); } } } }