Exemple #1
0
 /// <summary>
 /// Starts a battle with an enemy character.
 /// </summary>
 /// <param name="playerParty">Player's party of monsters.</param>
 /// <param name="battlerParty">Battler's party of monsters.</param>
 public void StartCharBattle(MonsterParty playerParty, MonsterParty battlerParty)
 {
     _playerParty  = playerParty;
     _battlerParty = battlerParty;
     _isCharBattle = true;
     _player       = playerParty.GetComponent <PlayerController>();
     _battler      = battlerParty.GetComponent <BattlerController>();
     StartCoroutine(SetupBattle());
 }
Exemple #2
0
        /// <summary>
        /// Start a battle with enemy character.
        /// </summary>
        /// <param name="battler">Character to do battle with.</param>
        public void StartCharBattle(BattlerController battler)
        {
            _state = GameState.Battle;
            _battleSystem.gameObject.SetActive(true);
            _worldCamera.gameObject.SetActive(false);

            _battler = battler;
            var playerParty  = _playerController.GetComponent <MonsterParty>();
            var battlerParty = battler.GetComponent <MonsterParty>();

            _battleSystem.StartCharBattle(playerParty, battlerParty);
        }
Exemple #3
0
        private void EndBattle(BattleResult result, bool isCharBattle)
        {
            _state = GameState.World;
            if (_battler != null && result == BattleResult.Won)
            {
                _battler.SetBattlerState(BattlerState.Defeated);
                _battler = null;
            }
            else if (_battler != null && result == BattleResult.Lost)
            {
                //TODO - handle a loss
            }
            else
            {
                //TODO - handle error
            }

            _battleSystem.gameObject.SetActive(false);
            _worldCamera.gameObject.SetActive(true);
        }
Exemple #4
0
 /// <summary>
 /// Starts an encounter with a character after LoS collider is triggered.
 /// </summary>
 /// <param name="battler">Character that was encountered.</param>
 public void StartCharEncounter(BattlerController battler)
 {
     _state = GameState.Cutscene;
     StartCoroutine(battler.TriggerBattle(_playerController));
 }