예제 #1
0
 public void StartGame()
 {
     ClearSpace();
     Time.timeScale = 1.0f;
     UpdateScore();
     UpdateAmmo();
     StartCoroutine("SpawnWaves");
     isPause = false;
     player.Activate();
     //CloseMenu ();
 }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        // Disable/enable input loop
        if (!manager.IsPaused && controllable)
        {
            float horizontal = Input.GetAxis("Horizontal");
            float vertical   = Input.GetAxis("Vertical");
            float mouseX     = Input.GetAxis("Mouse X");
            float mouseY     = Input.GetAxis("Mouse Y");

            player.HorizontalValue = horizontal;

            player.VerticalValue = vertical;

            // Jump
            if (Input.GetButtonDown("Jump"))
            {
                player.Jump();
            }

            // Rotate on X
            if (mouseX != 0.0f)
            {
                player.RotateY = mouseX;
            }

            // Rotate on Y
            if (mouseY != 0.0f)
            {
                player.RotateX = mouseY;
            }

            // If player has gun. allow use of gun
            if (hasGun)
            {
                // Shoot projectile
                if (Input.GetButtonDown("Fire1"))
                {
                    gun.Shoot();
                }

                // Teleport to projectile
                if (Input.GetButtonDown("Fire2"))
                {
                    Vector3 targetPosition = new Vector3();
                    if (gun.GetTeleportTarget(out targetPosition))
                    {
                        player.Teleport(targetPosition);
                    }
                }
            }

            // Activate IInteractive objects
            if (Input.GetButtonDown("Activate"))
            {
                player.Activate();
            }
        }
    }
예제 #3
0
    private void StartGame()
    {
        foreach (EnemyController e in enemyControllers)
        {
            if (e == null)
            {
                continue;
            }
            Destroy(e.gameObject);
        }
        enemyControllers = new List <EnemyController>();
        waveManager.Reset();

        playerController.Activate(true);
        cameraManager.Activate(true);
        waveManager.Activate(true);
    }
예제 #4
0
        private void PlayState()
        {
            _gameSession.Play();
            _pathController.Play();

            _playerActivationTask = new WaitTask(this, _settings.ActivationTime, () => _player.Activate(true));
            _playerActivationTask.Start();

            NavigationManager.Instance.OpenScreen <PlayPage>();
        }
예제 #5
0
    public void Play()
    {
        if (costs.total > 100)
        {
            return;
        }
        gameObject.SetActive(false);
        GameObject     player = PlayerController.GetObject();
        CharacterState state  = player.GetComponent <CharacterState>();

        state.character = character;
        PlayerController.Activate();
        InputController.Activate();
        EnemiesController.CreateEnemy();
    }
 public void SwitchController(bool switchToMoSix)
 {
     _playerController = GetComponent <PlayerController>();
     _cursorController = GetComponent <CursorController>();
     if (switchToMoSix)
     {
         _playerController.Deactivate();
         _cursorController.Activate();
     }
     else
     {
         _playerController.Activate();
         _cursorController.Deactivate();
     }
 }
예제 #7
0
    public void SetLocalPlayer(int id)
    {
        switch (id)
        {
        case 0:
            localPlayer = players[0].GetComponent <MageController>();
            Debug.Log("Activating Mage local player");
            client.SendMessageToServer("CoordinatePlayerId" + "/" + id, true);
            if (playerFaceImage != null)
            {
                playerFaceImage.color  = new Color32(255, 255, 255, 255);
                playerFaceImage.sprite = decisionFaces["2Mage"].GetComponent <SpriteRenderer>().sprite;
            }
            break;

        case 1:
            Debug.Log("Activating Warrior local player");
            localPlayer = players[1].GetComponent <WarriorController>();
            client.SendMessageToServer("CoordinatePlayerId" + "/" + id, true);

            if (playerFaceImage != null)
            {
                playerFaceImage.color  = new Color32(255, 255, 255, 255);
                playerFaceImage.sprite = decisionFaces["2Warrior"].GetComponent <SpriteRenderer>().sprite;
            }
            break;

        case 2:
            Debug.Log("Activating Engineer local player");
            localPlayer = players[2].GetComponent <EngineerController>();
            client.SendMessageToServer("CoordinatePlayerId" + "/" + id, true);

            if (playerFaceImage != null)
            {
                playerFaceImage.color  = new Color32(255, 255, 255, 255);
                playerFaceImage.sprite = decisionFaces["2Engineer"].GetComponent <SpriteRenderer>().sprite;
            }
            break;
        }

        localPlayer.Activate(id);
        Camera.main.GetComponent <CameraController>().SetTarget(localPlayer.gameObject);
    }
예제 #8
0
 // Update is called once per frame
 void Update()
 {
     if (_controller.Active && _controller.CanControl)
     {
         if (Input.GetMouseButtonDown(0))
         {
             if (GetClickedObject())
             {
                 _controller.DisablePhysics();
                 StopAllCoroutines();
                 StartCoroutine("MoveToAbsorber");
             }
         }
         if (Input.GetAxisRaw("Dash") > 0.0f)
         {
             StopAllCoroutines();
             ExitAbsorber();
             _controller.EnablePhysics();
             _controller.Activate();
         }
     }
 }
예제 #9
0
    public void SetLocalPlayer(int id)
    {
        switch (id)
        {
        case 0:
            localPlayer = players[0].GetComponent <MageController>();
            Debug.Log("Activating Mage local player");
            break;

        case 1:
            Debug.Log("Activating Warrior local player");
            localPlayer = players[1].GetComponent <WarriorController>();
            break;

        case 2:
            Debug.Log("Activating Engineer local player");
            localPlayer = players[2].GetComponent <EngineerController>();
            break;
        }

        localPlayer.Activate(id);
        Camera.main.GetComponent <CameraController>().SetTarget(localPlayer.gameObject);
    }
예제 #10
0
    private IEnumerator StartGame()
    {
        _startCountdownText.text = "3";
        yield return(new WaitForSeconds(1.0f));

        _startCountdownText.text = "2";
        yield return(new WaitForSeconds(1.0f));

        _startCountdownText.text = "1";
        yield return(new WaitForSeconds(1.0f));

        _startCountdownText.text = "Start!";
        _hintText.text           = $"Build the {_type}!";
        _playerController.Activate();
        _gameStarted = true;
        yield return(new WaitForSeconds(1.0f));

        _startCountdownText.text = "";

        yield return(new WaitForSeconds(5.0f));

        _hintText.text = "";
    }
 void StartGame()
 {
     player.Activate();
     enemyController.Activate();
     CameraManager.ActiveCamera("TPSView");
 }
예제 #12
0
    void CutsceneInteraction(float hor, float vert, bool inter1, bool inter2)
    {
        if (changeDiag)
        {
            foreach (GameObject portrait in portraits)
            {
                portrait.SetActive(false);
            }

            if (failDiag)
            {
                portraits[currDiag.failportraits[diagIndex]].SetActive(true);
                textMesh.text = currDiag.faildiags[diagIndex];
                changeDiag    = false;
            }
            else
            {
                portraits[currDiag.portraits[diagIndex]].SetActive(true);
                textMesh.text = currDiag.diags[diagIndex];
                changeDiag    = false;
            }
        }

        if (checkItem)
        {
            if (selectedItem == currDiag.item)
            {
                Debug.Log("Right Item");
                menuPanel.SetActive(false);
                checkItem  = false;
                changeDiag = true;
                diagIndex++;
            }
            else
            {
                if (inter2)
                {
                    Debug.Log("Wrong Item");
                    menuPanel.SetActive(false);
                    failDiag   = true;
                    changeDiag = true;
                    diagIndex  = 0;
                    checkItem  = false;
                }
            }
            return;
        }



        if (inter1)
        {
            diagIndex++;

            if (failDiag)
            {
                if (diagIndex > currDiag.faildiags.Count - 1)
                {
                    Debug.Log("FAILED");
                    Deactivate();

                    plyr.Activate();
                    transform.position = GameObject.Find(plyr.nextSpawn).transform.position;
                }
                else
                {
                    changeDiag = true;
                }
                return;
            }


            if (!checkItem && !failDiag && currDiag.type == 1 && diagIndex == currDiag.itemTestDiag)
            {
                checkItem = true;
                loadMenu();
                mode = 1;
            }


            if (diagIndex > currDiag.diags.Count - 1)
            {
                Deactivate();
                var enemy = currDiag.gameObject.GetComponent <PlayerDetection>();
                if (enemy != null)
                {
                    enemy.pacify = true;
                    plyr.respawn = false;
                }
                plyr.Activate();
            }
            else
            {
                changeDiag = true;
            }
        }
    }