コード例 #1
0
    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();
    }
コード例 #2
0
    // 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);
    }