示例#1
0
    //攻撃を実行
    void Attack(BattleRouletteSlotID slotID)
    {
        enemyData.Attacked(slotID, playerData);

        playerAttackGauge.SetValueGradually(playerData.ChargedAttack);
        playerMagicGauge.SetValueGradually(playerData.ChargedMagic);

        enemyLife.SetEnemyLifeGradually(enemyData.CurrentHp, enemyData.hp);

        if (enemyData.IsDead)
        {
            isEndBattle = true;
        }

        switch (slotID)
        {
        case BattleRouletteSlotID.NormalAttack:
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.Critical:
            TryOpenAchievement(AchievementData.Type.CriticalHit);
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.None:
            TryOpenAchievement(AchievementData.Type.Miss);
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.FilreMagic:
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.IceMagic:
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.ThunderMagic:
            effectController.AttackEffect(enemyData, slotID);
            break;

        case BattleRouletteSlotID.Charge:
            effectController.AttackEffect(enemyData, slotID);
            break;

        default:
            break;
        }

        if (enemyData.IsWeakNess(slotID))
        {
            TryOpenAchievement(AchievementData.Type.WeakNess);
        }
    }