Пример #1
0
    private void BuildGame()
    {
        for (int i = 0; i < Gamepad.all.Count; i++)
        {
            GameObject clone = Instantiate(player, playersStartingPos[i], Quaternion.identity);
            PlayerKit  ipg   = clone.GetComponent <PlayerKit>();

            ipg.SetGamePad(Gamepad.all[i], playersRotation[i]);
            players.Add(Gamepad.all[i], clone);
            goPlayerList.Add(clone);

            ipg.primaryFireSprite = playerPrimaryFire[i];
            ipg.SetPrimaryFirePool(primaryFirePools[i]);

            Skinner       knife   = clone.GetComponent <Skinner>();
            List <Sprite> sprites = new List <Sprite> {
                playerSkins[i], playerShield[i]
            };
            knife.Init(sprites);

            clone.SetActive(false);
        }

        gr.SetPlayers(players);
    }
Пример #2
0
    private void FollowPlayer(PlayerKit player)
    {
        float step = speed * Time.fixedDeltaTime;

        gameObject.transform.position = Vector2.MoveTowards(gameObject.transform.position, player.GetTransform().position, step);
    }
Пример #3
0
    void Update()
    {
        if (stateHandeler == null)
        {
            return;
        }

        if (stateHandeler.currentState.ID == "Start")
        {
            CheckForPlayers();
        }

        if (stateHandeler.currentState.ID == "Lobby")
        {
            var elapse = lobbyTimer.RecordTime(Time.fixedDeltaTime);
            int ct     = (int)currentLobbyTime - (int)elapse;

            lobbyTimerText.text = ":" + ct;

            if (lobbyTimer.IsDone())
            {
                nextState = stateHandeler.StateChange();
            }
        }

        if (stateHandeler.currentState.ID == "SetUp")
        {
            if (!gameStartTimer.IsDone())
            {
                var elapse = gameStartTimer.RecordTime(Time.fixedDeltaTime);
                int ct     = (int)currentMathcStartTime - (int)elapse;
                launchText.text = ":" + ct;
            }

            if (gameStartTimer.IsDone() && !allPlayersReady)
            {
                allPlayersReady = true;
                player1Ready    = true;
                player2Ready    = true;

                var roll = Random.Range(0, 1);
                Debug.Log(roll);
                UnityEngine.InputSystem.Gamepad ag = roll > .5f ? Gamepad.all[0] : Gamepad.all[1];
                SetActivePlayer(ag);
                StartMatch();
            }

            var p1South = Gamepad.all[0].buttonSouth.ReadValue() > 0 ? true : false;
            var p2South = Gamepad.all[1].buttonSouth.ReadValue() > 0 ? true : false;

            if (p1South && !allPlayersReady)
            {
                allPlayersReady = true;
                player1Ready    = true;
                player2Ready    = true;

                SetActivePlayer(Gamepad.all[0]);
                StartMatch();
            }

            if (p2South && !allPlayersReady)
            {
                allPlayersReady = true;
                player1Ready    = true;
                player2Ready    = true;

                SetActivePlayer(Gamepad.all[1]);
                StartMatch();
            }
        }

        if (stateHandeler.currentState.ID == "Main")
        {
            UpdatePlayerStats();

            if (!matchTimer.IsDone())
            {
                var elapse = matchTimer.RecordTime(Time.fixedDeltaTime);
                int ct     = (int)currentMatchTimer - (int)elapse;
                matchTimerText.text = ":" + ct;

                var rte             = roundTimer.RecordTime(Time.fixedDeltaTime);
                var timeLeftInround = currentRoundTimer - rte;

                if (roundTimer.IsDone())
                {
                    if (activePlayer.id == player1.id)
                    {
                        player1.SetActiveTeam(false);
                        player2.SetActiveTeam(true);
                        activePlayer = player2;
                    }
                    else if (activePlayer.id == player2.id)
                    {
                        player2.SetActiveTeam(false);
                        player1.SetActiveTeam(true);
                        activePlayer = player1;
                    }
                    SetActivePlayer(activePlayer);
                    currentRoundTimer = roundTimerInSeconds;
                    roundTimer.SetTimer(roundTimerInSeconds);
                }

                //spawn mobs
            }
        }
    }
Пример #4
0
 private void SetActivePlayer(PlayerKit playerKit)
 {
     activePlayer = playerKit;
     activePlayer.SetActiveTeam(true);
     Debug.Log("Dood the new active is: " + activePlayer.id);
 }
Пример #5
0
 private void SetActivePlayer(UnityEngine.InputSystem.Gamepad gamepad)
 {
     activePlayer = players[gamepad].GetComponent <PlayerKit>();
     SetActivePlayer(activePlayer);
 }