internal static void CreateFirstExtraSkillFamily(GameObject targetPrefab) { ExtraSkillLocator skillLocator = targetPrefab.GetComponent <ExtraSkillLocator>(); if (!skillLocator) { skillLocator = targetPrefab.AddComponent <ExtraSkillLocator>(); } skillLocator.extraFirst = targetPrefab.AddComponent <GenericSkill>(); SkillFamily firstExtraFamily = ScriptableObject.CreateInstance <SkillFamily>(); firstExtraFamily.variants = new SkillFamily.Variant[0]; skillLocator.extraFirst._skillFamily = firstExtraFamily; TTGL_SurvivorPlugin.skillFamilies.Add(firstExtraFamily); }
internal static void AddFirstExtraSkill(GameObject targetPrefab, SkillDef skillDef) { ExtraSkillLocator skillLocator = targetPrefab.GetComponent <ExtraSkillLocator>(); if (skillLocator) { SkillFamily skillFamily = skillLocator.extraFirst.skillFamily; Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); skillFamily.variants[skillFamily.variants.Length - 1] = new SkillFamily.Variant { skillDef = skillDef, unlockableName = "", viewableNode = new ViewablesCatalog.Node(skillDef.skillNameToken, false, null) }; } }