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; }
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; }
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; }
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; }
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; }
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; }
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; }
void AttackingMessage() { StartCoroutine(BattleMenu.LetterDisplay(battleMsseage)); battleProcess = BATTLE_PROCESS.MONSTER_ATTACK_MOVE; }
void MonsterAttackMove() { attacker.AttackAction(); battleProcess = BATTLE_PROCESS.DAMAGE_REACTION; }
void DamageReaction() { defender.DamageAction(); battleProcess = BATTLE_PROCESS.DAMAGED_MESSAGE; }
public void BattleEscape() { battleProcess = BATTLE_PROCESS.BATTLE_END; }