示例#1
0
    void AttackResult()
    {
        if (currentTurn == CURRENT_TURN.MONSTER)
        {
            if (defender.hp < 1)
            {
                battleProcess = BATTLE_PROCESS.PLAYER_LOSE;
            }
            else
            {
                battleProcess = MonsterSequentialAttack();
            }
            return;
        }
        else
        {
            if (defender.hp < 1)
            {
                monsters.RemoveAt(targetMonsterIndex);
                Destroy(defender.gameObject);
            }

            if (0 < monsters.Count)
            {
                battleProcess = BATTLE_PROCESS.MONSTER_TURN_ATTACK;
                return;
            }
        }

        battleProcess = BATTLE_PROCESS.PLAYER_WIN;
    }
示例#2
0
    void PlayerLose()
    {
        if (battleProcess != BATTLE_PROCESS.PLAYER_LOSE)
        {
            return;
        }

        string message = string.Format("{0}はモンスター討伐に失敗した", defender.CharacterName());

        StartCoroutine(BattleMenu.LetterDisplay(message));

        battleProcess = BATTLE_PROCESS.BATTLE_END;
    }
示例#3
0
    void PlayerWin()
    {
        if (battleProcess != BATTLE_PROCESS.PLAYER_WIN)
        {
            return;
        }

        string message = string.Format("{0}はモンスターを退治した", attacker.CharacterName());

        StartCoroutine(BattleMenu.LetterDisplay(message));

        battleProcess = BATTLE_PROCESS.BATTLE_END;
    }
示例#4
0
    public void PlayerTurnAttack(int monsterNum)
    {
        targetMonsterIndex = monsterNum;
        currentTurn        = CURRENT_TURN.PLAYER;
        playerAttackCount += 1;

        MonsterAction monsterAction = monsters[targetMonsterIndex].GetComponent <MonsterAction>();

        string playerName  = playerAction.CharacterName();
        string monsterName = monsterAction.CharacterName();

        battleMsseage = string.Format("{0}の{1}への攻撃", playerName, monsterName);
        attacker      = playerAction;
        defender      = monsterAction;
        battleProcess = BATTLE_PROCESS.ATTACKING_MESSAGE;
    }
示例#5
0
    void Start()
    {
        currentTurn = DetermineStartWith();
        if (currentTurn == CURRENT_TURN.PLAYER)
        {
            battleProcess = BATTLE_PROCESS.NO_BATTLE;
        }
        else
        {
            battleProcess = BATTLE_PROCESS.MONSTER_TURN_ATTACK;
        }

        basicCommandOpen = false;
        battleMenu       = GetComponent <BattleMenu>();
        playerAction     = GetComponent <PlayerAction>();
        playerAction.playerInfo.backFromBattle = false;
    }
示例#6
0
    public void MonsterTurnAttack()
    {
        currentTurn = CURRENT_TURN.MONSTER;

        battleMenu.ControllBasicCommandButtons(false);

        int monsterIndex = Random.Range(0, monsters.Count);

        MonsterAction monsterAction = monsters[monsterIndex].GetComponent <MonsterAction>();

        string monsterName = monsterAction.CharacterName();

        battleMsseage = string.Format("{0}の攻撃", monsterName);
        attacker      = monsterAction;
        defender      = playerAction;
        battleProcess = BATTLE_PROCESS.ATTACKING_MESSAGE;
    }
示例#7
0
    void DamageMessage()
    {
        defender.damageActionEnd = false;

        int    attack       = attacker.Attack();
        int    deffence     = defender.Defence();
        string defenderName = defender.CharacterName();

        damage       = Mathf.Abs(deffence - attack);
        defender.hp -= damage;

        if (currentTurn == CURRENT_TURN.MONSTER)
        {
            playerAction.playerInfo.statusInfo.hp = defender.hp;
        }

        string damageMessage = string.Format("{0}は{1}hpのダメージを受けた", defenderName, damage);

        StartCoroutine(BattleMenu.LetterDisplay(damageMessage));

        battleProcess = BATTLE_PROCESS.ATTACK_RESULT;
    }
示例#8
0
    void AttackingMessage()
    {
        StartCoroutine(BattleMenu.LetterDisplay(battleMsseage));

        battleProcess = BATTLE_PROCESS.MONSTER_ATTACK_MOVE;
    }
示例#9
0
 void MonsterAttackMove()
 {
     attacker.AttackAction();
     battleProcess = BATTLE_PROCESS.DAMAGE_REACTION;
 }
示例#10
0
 void DamageReaction()
 {
     defender.DamageAction();
     battleProcess = BATTLE_PROCESS.DAMAGED_MESSAGE;
 }
示例#11
0
 public void BattleEscape()
 {
     battleProcess = BATTLE_PROCESS.BATTLE_END;
 }