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); } } }
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); } }
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) { }
public void AddFieldChangedListener(IFieldChanger changer, Action <IFieldChanger> func) { ChangeAction = func; Changer = changer; Entry.SettingChanged += (sender, args) => func.Invoke(changer); }