Esempio n. 1
0
    /// <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(); //一応条件保持パラメータを初期化
        }
    }
Esempio n. 2
0
 public virtual void SkillFunc(BattleCharacter target, BattlePassiveSkill skill)
 {
 }
Esempio n. 3
0
 public override void SkillFunc(BattleCharacter target, BattlePassiveSkill skill)
 {
     //Debug.Log("SampleBattlePassiveSkill発動/" + skill.EffectName);
     Debug.Log("スキルの説明:" + skill.Description);
     Debug.Log("効果対象:" + target.CharaClass.CharaName);
 }