コード例 #1
0
 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);
     }
 }
コード例 #2
0
ファイル: PokemonCpUtils.cs プロジェクト: msx752/CoreBot
 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);
             }
         }
     }
 }