public static bool Prefix(SkillsManager __instance, ref string __result) { Dictionary <string, string> skillsData = new Dictionary <string, string>(); for (int i = 0; i < __instance.GetNumSkills(); i++) { Skill skill = __instance.GetSkillFromIndex(i); string data = ModUtils.ExecuteMethod <string>(skill, "Serialize"); skillsData.Add(SerializableSkill.GetSkillSaveKey(skill), data); } __result = Utils.SerializeObject(skillsData); return(false); }
public static bool Prefix(SkillsManager __instance, string text) { Dictionary <string, string> skillsData = Utils.DeserializeObject <Dictionary <string, string> >(text); foreach (var eachEntry in skillsData) { for (int i = 0; i < __instance.GetNumSkills(); i++) { Skill skill = __instance.GetSkillFromIndex(i); if (SerializableSkill.GetSkillSaveKey(skill) == eachEntry.Key) { ModUtils.ExecuteMethod(skill, "Deserialize", eachEntry.Value); break; } } } return(false); }