예제 #1
0
 private GameStructs.AwakenedSkill[] GetWeaponAwakenedSkills(Int64 BaseAddress)
 {
     GameStructs.AwakenedSkill[] AwakenedSkills = new GameStructs.AwakenedSkill[5];
     // Awakened skills slots are determined by their index, their value is a short that
     // holds their awakened skill ID
     for (int AwakIndex = 0; AwakIndex < 5; AwakIndex++)
     {
         GameStructs.AwakenedSkill dummy = new GameStructs.AwakenedSkill()
         {
             ID = Scanner.READ_SHORT(BaseAddress + 0x8C + (AwakIndex * sizeof(short)))
         };
         AwakenedSkills[AwakIndex] = dummy;
     }
     return(AwakenedSkills);
 }
예제 #2
0
        static string BuildAwakeningSkillsStructure(GameStructs.AwakenedSkill[] AwakenedSkills)
        {
            StringBuilder[] Structure = new StringBuilder[5];
            for (int AwakIndex = 0; AwakIndex < 5; AwakIndex++)
            {
                GameStructs.AwakenedSkill awakened = AwakenedSkills[AwakIndex];

                if (Structure[AwakIndex] == null)
                {
                    Structure[AwakIndex] = new StringBuilder();
                }

                Structure[AwakIndex].Append(HoneyGearData.SelectSingleNode($"//Honey/Weapons/Awakening/Skill[@ID='{awakened.ID}']/@HoneyID")?.Value);
            }

            StringBuilder JoinedResult = new StringBuilder();

            foreach (StringBuilder SubBuilder in Structure)
            {
                JoinedResult.Append(SubBuilder?.ToString() + ";");
            }
            JoinedResult.Remove(JoinedResult.Length - 1, 1);
            return(JoinedResult.ToString());
        }