示例#1
0
    public void OnPlayerJoin(PlayerInput input)
    {
        PlayerConfiguration configuration = new PlayerConfiguration();

        settings.players.Add(configuration);

        Transform random = spawnSpots[Random.Range(0, spawnSpots.Count)];

        spawnSpots.Remove(random);

        GameObject go = Instantiate(settings.playerPrefab, random.position, random.rotation, transform);

        SelectionHud hud   = input.transform.parent.GetComponentInChildren <SelectionHud>();
        PlayerMover  mover = go.GetComponent <PlayerMover>();

        mover.PlayerIndex = input.playerIndex;

        _playerJoined.Add(hud, go);

        hud.SetInfo(this, settings, configuration, input);

        _onTimerTriggered    += hud.OnTimerTrigger;
        _onTimerValueChanged += hud.OnTimerValueChanged;

        Leader leader = go.GetComponent <Leader>();

        leader.SetConfiguration(configuration);
        _leaders.Add(leader);

        _inputs.Add(input);
        TimerIsOn = false;
    }
        private void Awake()
        {
            var index = playerInput.playerIndex;

            PlayerMover[] movers = FindObjectsOfType <PlayerMover>();
            _mover = movers.FirstOrDefault(x => x.PlayerIndex == index);

            if (_mover == null)
            {
                Debug.Log("Destroy");
                Destroy(transform.parent);
                return;
            }

            _hud = transform.parent.GetComponentInChildren <SelectionHud>();

            camera.SetTarget(_mover.transform);
        }
示例#3
0
    public void RemovePlayer(SelectionHud hud)
    {
        var pair = _playerJoined[hud];

        if (pair != null)
        {
            hud.OnLeave();
            Destroy(pair.gameObject);

            _onTimerTriggered    -= hud.OnTimerTrigger;
            _onTimerValueChanged -= hud.OnTimerValueChanged;

            Destroy(hud.transform.parent.parent.gameObject);
            _playerJoined.Remove(hud);
        }

        if (_playerJoined.Count < 1)
        {
            SceneManager.LoadScene("Menu");
        }
    }