public void CycleNextEncounter() { this.currentEncounter = GetNextEncounter(); if (this.currentEncounter != null) { UnityAction callback = () => { UnityAction afterTransition = () => { if (this.currentEncounter.Data.EncounterType.ToString().Contains(GlobalStrings.ENCOUNTER_CREEP) && this.currentPlayer.PlayerVitals.Speed * 1.5f < this.currentEncounter.Data.Vitals.Speed) { this.CurrentTurn = PF_GamePlay.TurnStates.Enemy; gameplayController.EnemyAttackPlayer(true); this.gameplayController.playerController.EncounterBar.EnableEncounterOptions(this.currentEncounter.Data.EncounterType, this.currentEncounter.DisplayName, true); } else { this.CurrentTurn = PF_GamePlay.TurnStates.Player; //this.gameplayController.playerController.EncounterBar.EnableEncounterOptions(this.currentEncounter.Data.EncounterType, this.currentEncounter.DisplayName); this.gameplayController.playerController.TransitionActionBarIn(); } GameplayController.RaiseGameplayEvent(GlobalStrings.NEXT_ENCOUNTER_EVENT, PF_GamePlay.GameplayEventTypes.IntroEncounter); }; this.gameplayController.enemyController.currentEncounter.UpdateCurrentEncounter(this.currentEncounter); this.gameplayController.enemyController.nextController.UpdateNextEncounters(); this.gameplayController.enemyController.TransitionCurrentEncounterIn(afterTransition); }; this.gameplayController.enemyController.TransitionCurrentEncounterOut(callback); } }
public void StartTurn() { if (this.currentEncounter.Data.EncounterType == EncounterTypes.Hero || this.currentEncounter.Data.EncounterType == EncounterTypes.Store) { this.CurrentTurn = PF_GamePlay.TurnStates.Player; //this.gameplayController.playerController.EncounterBar.EnableEncounterOptions(this.currentEncounter.Data.EncounterType, this.currentEncounter.DisplayName); //this.gameplayController.playerController.TransitionEncounterBarIn(); } else { //compare speed to see who goes first // if the enemy's speed is 150% more than the player's the enemy ambushes the player and gets a free attack if (this.currentEncounter.Data.EncounterType.ToString().Contains(GlobalStrings.ENCOUNTER_CREEP) && (float)this.currentPlayer.PlayerVitals.Speed * 1.5f < (float)this.currentEncounter.Data.Vitals.Speed) { this.CurrentTurn = PF_GamePlay.TurnStates.Enemy; //GameplayController.RaiseGameplayEvent("Enemy Turn Begins", PF_GamePlay.GameplayEventTypes.EnemyTurnBegins); gameplayController.EnemyAttackPlayer(true); //this.gameplayController.playerController.EncounterBar.EnableEncounterOptions(this.currentEncounter.Data.EncounterType, this.currentEncounter.DisplayName, true); //this.gameplayController.playerController.TransitionEncounterBarIn(); } else { this.CurrentTurn = PF_GamePlay.TurnStates.Player; //this.gameplayController.playerController.EncounterBar.EnableEncounterOptions(this.currentEncounter.Data.EncounterType, this.currentEncounter.DisplayName); //this.gameplayController.playerController.TransitionEncounterBarIn(); } } }
public void ToggleTurn(PF_GamePlay.TurnStates forceTurn = PF_GamePlay.TurnStates.Null) { if (forceTurn != PF_GamePlay.TurnStates.Null) { if (forceTurn == PF_GamePlay.TurnStates.Player) { this.CurrentTurn = PF_GamePlay.TurnStates.Player; GameplayController.RaiseGameplayEvent(GlobalStrings.PLAYER_TURN_BEGIN_EVENT, PF_GamePlay.GameplayEventTypes.PlayerTurnBegins); } else if (forceTurn == PF_GamePlay.TurnStates.Enemy) { this.CurrentTurn = PF_GamePlay.TurnStates.Enemy; GameplayController.RaiseGameplayEvent(GlobalStrings.ENEMY_TURN_BEGIN_EVENT, PF_GamePlay.GameplayEventTypes.EnemyTurnBegins); } return; } if (this.CurrentTurn == PF_GamePlay.TurnStates.Player) { this.CurrentTurn = PF_GamePlay.TurnStates.Enemy; GameplayController.RaiseGameplayEvent(GlobalStrings.ENEMY_TURN_BEGIN_EVENT, PF_GamePlay.GameplayEventTypes.EnemyTurnBegins); } else if (this.CurrentTurn == PF_GamePlay.TurnStates.Enemy) { this.CurrentTurn = PF_GamePlay.TurnStates.Player; GameplayController.RaiseGameplayEvent(GlobalStrings.PLAYER_TURN_BEGIN_EVENT, PF_GamePlay.GameplayEventTypes.PlayerTurnBegins); } }