IEnumerator EventRoutine(float enemies_seed) { //Do enemies first //For each place //Walk for x/2 seconds //StopAt() place //yield return bv.ToggleMovementRoutine(0.5f,1); //yield return new WaitForSeconds(2); //yield return bv.ToggleMovementRoutine(0,1); for (int i = 0; i < current_event_adventure.stops.Length; i++) { current_place = i; Stop current_stop = current_event_adventure.stops[i]; GameManager.instance.TogglePlayersMovement(true); yield return(bv.ToggleMovementRoutine(0.5f, 1)); yield return(new WaitForSeconds(1 * current_stop.distance)); GameManager.instance.TogglePlayersMovement(false); yield return(bv.ToggleMovementRoutine(0, 1)); if (current_stop.enemies != null) { if (current_stop.enemies.Length > 0) { EnemyManager.instance.NewCombat(current_stop.enemies, true); } } yield return(current_event_adventure.ToggleStopRoutine(current_event_adventure.stops[i], 1, true)); yield return(new WaitForSeconds(15)); yield return(current_event_adventure.ToggleStopRoutine(current_event_adventure.stops[i], 1, false)); EnemyManager.instance.NewCombat(current_stop.enemies, false); } //GameManager.instance.TogglePlayersCombat(true); //yield return new WaitForSeconds(10); //GameManager.instance.TogglePlayersCombat(false); if (PhotonNetwork.IsMasterClient) { EndEncounter(); } else { RPC_EndEncounter(); } yield break; }