/// <summary> /// Set all passiveEffects by skills and items. /// </summary> public void SetPassiveEffect() { foreach (BattleCharacter bc in this.allyList) { bc.RememberCondition(); //PassiveEffect反映の条件保持 } //itemのpassiveEffect反映 foreach (BattlePassiveEffect effect in this.havePassiveItems) { this.passiveEffectFuncs.EffectFunc(effect, this.allyList); //itemは見方全体にのみ対象 } //skillのpassiveEffect反映 foreach (BattleCharacter bc in this.allyList) { for (int i = 0; i < bc.PC.HaveBattlePassiveSkillID.Length; i++) { if (bc.PC.UseAbleBattlePassiveSkillLV[i] > bc.PC.LV) { break; //解放されていないスキルは飛ばす } BattlePassiveSkill passiveSkill = this.passiveEffectFuncs.GetBattlePassiveSkill(bc.PC.HaveBattlePassiveSkillID[i]); if (passiveSkill.EffectIsOnlyFirst() && this.currentSituation != E_BattleSituation.SetParameterBeforeStartBattle) { break; //戦闘開始時のみ適用スキル } switch (passiveSkill.TargetType) { case E_TargetType.AllAlly: this.passiveEffectFuncs.EffectFunc(passiveSkill, this.allyList); break; case E_TargetType.Self: this.passiveEffectFuncs.EffectFunc(passiveSkill, new List <BattleCharacter>() { bc }); break; case E_TargetType _: Debug.Log("error"); break; } } } foreach (BattleCharacter bc in this.allyList) { bc.InitCondition(); //一応条件保持パラメータを初期化 } }
public virtual void SkillFunc(BattleCharacter target, BattlePassiveSkill skill) { }
public override void SkillFunc(BattleCharacter target, BattlePassiveSkill skill) { //Debug.Log("SampleBattlePassiveSkill発動/" + skill.EffectName); Debug.Log("スキルの説明:" + skill.Description); Debug.Log("効果対象:" + target.CharaClass.CharaName); }