private void CmdSpawnPlayer()
        {
            if (spawnSystem == null)
            {
                spawnSystem = FindObjectOfType <PlayerSpawnSystem>();

                if (spawnSystem == null)
                {
                    // If the spawn point is still null we need to give it a sec and try again
                    Invoke(nameof(SpawnPlayer), 0.1f);

                    return;
                }
            }

            var point = spawnSystem.GetSpawnPoint(netId);

            transform.position = point.position;
            transform.rotation = point.rotation;

            if (transform.position != point.position)
            {
                Invoke(nameof(SpawnPlayer), 0.1f);

                return;
            }

            var playerInstance = Instantiate(playerPrefab, transform.position, transform.rotation);

            NetworkServer.Spawn(playerInstance, connectionToClient);
        }
Esempio n. 2
0
 void Start()
 {
     if (healthTotal == 0)
     {
         Debug.LogError("Health total = null");
     }
     healthCurrent = healthTotal;
     spawn         = FindObjectOfType <PlayerSpawnSystem>();
 }
 public void ResetPlayers()
 {
     foreach (var team in teams)
     {
         foreach (var player in team.Value)
         {
             player.FootballPlayer.RpcSetPlayerLocation(PlayerSpawnSystem.GetRandomSpawnLocation(player.GamePlayer.Team));
         }
     }
 }
 private void Awake()
 {
     if (Singleton != null && Singleton != this)
     {
         Destroy(this.gameObject);
     }
     else
     {
         Singleton = this;
     }
 }
    public override void OnStartServer()
    {
        base.OnStartServer();

        teams = new Dictionary <Team, List <PlayerContainer> >
        {
            { Team.Red, new List <PlayerContainer>() },
            { Team.Blue, new List <PlayerContainer>() }
        };

        spawnSystem = FindObjectOfType <PlayerSpawnSystem>();
    }
    void Awake()
    {
        //Enfore singleton
        if (singleton != null)
        {
            Destroy(gameObject);
            return;
        }

        //Initialize singleton
        singleton = this;

        //Initialize systems
        scoreSystem       = GetComponent <ScoreSystem>();
        waveSystem        = GetComponent <WaveSystem>();
        playerSpawnSystem = GetComponent <PlayerSpawnSystem>();
        spectatorSystem   = GetComponent <SpectatorSystem>();

        IsReady = true;
    }
Esempio n. 7
0
    public override void ServerChangeScene(string newSceneName)
    {
        previousSceneName = SceneManager.GetActiveScene().name;
        if (newSceneName.StartsWith("Map"))
        {
            PlayerSpawnSystem.ClearSpawnPoints();
            if (previousSceneName == "Menu")
            {
                for (int i = RoomPlayers.Count - 1; i >= 0; i--)
                {
                    var conn = RoomPlayers[i].connectionToClient;
                    var gameplayerInstance = Instantiate(gamePlayerPrefab);
                    gameplayerInstance.SetDisplayName(RoomPlayers[i].DisplayName);
                    gameplayerInstance.SetTeam(RoomPlayers[i].Team);

                    NetworkServer.Destroy(conn.identity.gameObject);

                    NetworkServer.ReplacePlayerForConnection(conn, gameplayerInstance.gameObject);
                }
            }
        }
        if (newSceneName == "GameEnd" && previousSceneName.StartsWith("Map"))
        {
            NetworkServer.Destroy(playerSpawnSystemInstance);
            playerSpawnSystemInstance = null;
            NetworkServer.Destroy(publicUIInstance);
            publicUIInstance = null;
        }
        if (newSceneName == "Menu" && roundSystemInstance != null)
        {
            NetworkServer.Destroy(roundSystemInstance);
            roundSystemInstance  = null;
            roundSystemInstance2 = null;
        }

        base.ServerChangeScene(newSceneName);
    }
Esempio n. 8
0
 private void Awake()
 {
     PlayerSpawnSystem.AddSpawnPoint(transform);
 }
Esempio n. 9
0
 private void OnDestroy()
 {
     PlayerSpawnSystem.RemoveSpawnPoint(transform);
 }
 private void OnDestroy()
 {
     //removes spawnpoint from spawn system
     PlayerSpawnSystem.RemoveSpawnPoint(transform);
 }
 private void Awake()
 {
     //adds spawnpoint to spawn system
     PlayerSpawnSystem.AddSpawnPoint(transform);
 }
Esempio n. 12
0
 private void Awake()
 {
     PlayerSpawnSystem.AddSpawnPoint(transform);   //add to the list
 }
Esempio n. 13
0
 private void Awake() => PlayerSpawnSystem.AddSpawnPoint(transform, team);