private void OnBodyChanged(CustomBodyDefinition skillDefinition, IFieldChanger changed)
        {
            CharacterBody body = SurvivorDef.bodyPrefab.GetComponent <CharacterBody>();

            changed.Apply(body);

            GameObject[] liveBodies = GameObject.FindGameObjectsWithTag("Player");
            foreach (var liveBody in liveBodies)
            {
                if (liveBody.name == SurvivorDef.bodyPrefab.name + "(Clone)")
                {
                    var liveChar = liveBody.GetComponent <CharacterBody>();
                    changed.Apply(liveChar);
                    liveChar.RecalculateStats();

                    Logger.LogInfo("Recalculated live body stats of " + SurvivorDef.name);
                }
            }
        }
Example #2
0
        private void OnSkillChanged(CustomSkillDefinition skillDef, IFieldChanger changed)
        {
            var def = SkillCatalog.GetSkillDef(skillDef.SkillIndex);

            changed.Apply(def);
            Logger.LogInfo("Skill '" + skillDef.CommonName + "' of Survivor '" + SurvivorDef.cachedName +
                           "' overwritten");

            foreach (var masterController in PlayerCharacterMasterController.instances)
            {
                var body = masterController.master.GetBody();
                foreach (var genericSkill in body.GetComponents <GenericSkill>())
                {
                    genericSkill.RecalculateValues();
                }

                Logger.LogInfo("Recalculated live skills of " + SurvivorDef.cachedName);
            }
        }
Example #3
0
        private void OnBodyChanged(CustomBodyDefinition skillDefinition, IFieldChanger changed)
        {
            var prefabBody = SurvivorDef.bodyPrefab.GetComponent <CharacterBody>();

            changed.Apply(prefabBody);
            Logger.LogInfo(SurvivorDef.cachedName + "'s body changed.");

            foreach (var masterController in PlayerCharacterMasterController.instances)
            {
                var body = masterController.master.GetBody();
                if (body.name != SurvivorDef.bodyPrefab.name + "(Clone)")
                {
                    continue;
                }
                changed.Apply(body);
                body.RecalculateStats();

                Logger.LogInfo("Recalculated live body stats of " + SurvivorDef.cachedName);
            }
        }
        private void OnSkillChanged(CustomSkillDefinition skillDef, IFieldChanger changed)
        {
            var def = SkillCatalog.GetSkillDef(skillDef.SkillIndex);

            changed.Apply(def);
            Logger.LogInfo("Skill '" + skillDef.CommonName + "' of Survivor '" + SurvivorDef.name +
                           "' overwritten");

            GameObject[] liveBodies = GameObject.FindGameObjectsWithTag("Player");
            foreach (var liveBody in liveBodies)
            {
                if (liveBody.name == SurvivorDef.bodyPrefab.name + "(Clone)")
                {
                    foreach (GenericSkill genericSkill in liveBody.GetComponents <GenericSkill>())
                    {
                        genericSkill.RecalculateValues();
                    }

                    Logger.LogInfo("Recalculated live skills of " + SurvivorDef.name);
                }
            }
        }
 private void InternalFieldChanged(IFieldChanger changer)
 {
     OnFieldChanged.Invoke(this, changer);
 }
 private void OnSkillChangedPlaceholder(CustomSkillDefinition skillDef, IFieldChanger changed)
 {
 }
 private void OnBodyChangedPlaceholder(CustomBodyDefinition skillDefinition, IFieldChanger changed)
 {
 }
Example #8
0
 public void AddFieldChangedListener(IFieldChanger changer, Action <IFieldChanger> func)
 {
     ChangeAction          = func;
     Changer               = changer;
     Entry.SettingChanged += (sender, args) => func.Invoke(changer);
 }