private static void Postfix() { Logger.Log("The Long Dark version: '{0}'", GameManager.GetVersionString()); SerializableSkill.MaybeRegisterInIl2Cpp(); try { BlueprintMapper.MapBlueprints(); } catch (System.Exception e) { Logger.LogError("Blueprint Mapping failed: " + e); } try { SkillsMapper.MapSkills(); } catch (System.Exception e) { Logger.LogError("Skills Mapping failed: " + e); } // //Need to be called after GameManager is initialized // if (!ModExisting.IsInitialized()) //ModExisting only needs to be initialized at the start of the game { ModExisting.Initialize(); } AlternativeToolManager.ProcessList(); }
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); }