void MasterUpdate() { if (!playerDied) //if player isn't currently dead, update it { playerInput.PlayerInputUpdate(); player.UpdatePlayer(ref currentFramePlayerPos, ref currentFramePlayerBounds, ref currentFramePlayerVelocity, ref lastFramePlayerVelocity); //AI updates here } else if (Input.GetButtonDown("Jump")) //need input manager or something { LevelRestartEvent?.Invoke(); //invoke level restart so all subscribed entities are reset //cameraController.SetCameraPosition(playerSpawner.transform.position); playerDied = false; } //cameraController.UpdateCameraPosition(currentFramePlayerPos, lastFramePlayerVelocity);//update camera position //AIManager.UpdateAIManager(currentFramePlayerBounds); //projectileManager.UpdateActiveProjectiles(); }
// Restart the level public void OnRestart() { WinWindow.SetActive(false); ScoreTextbox.color = HasNotStarted; HasStarted = false; // Destroy all the old enemies for (int i = 0; i < ParentEnemy.childCount; ++i) { Destroy(ParentEnemy.GetChild(i).gameObject); } // Add a new prefab Transform enemy = Instantiate(EnemyPrefab); enemy.parent = ParentEnemy; LevelRestartEvent?.Invoke(this, EventArgs.Empty); // Set default play state the game SetIsPlaying(false); }