public void Spawn()
    {
        if (!character)
        {
            // assign the colors/numbers etc for the player.
            var playerToken = new PlayerToken();
            playerToken.playerNumber = playerNumber;
            playerToken.playerColor  = playerColor;
            playerToken.playerName   = playerName;

            character = BoltNetwork.Instantiate(BoltPrefabs.PlayerMultiplayer, playerToken);

            if (IsServer)
            {
                character.TakeControl();
            }
            else
            {
                character.AssignControl(connection);
            }

            // move entity to random spawn position
            character.transform.position = GamemanagerNetwork.instance.RandomSpawnPoint();
        }
    }
Exemplo n.º 2
0
        public override void Connected(BoltConnection connection)
        {
            if (BoltNetwork.IsClient)
            {
                BoltConsole.Write("Connected Client: " + connection, Color.blue);
                infoPanel.gameObject.SetActive(false);
                string prevMatch = PreviousMatchName();
                BoltConsole.Write("Previous match if any: " + prevMatch);

                if (prevMatch != matchName)
                {
                    BoltConsole.Write("New Game");
                    ChangeTo(lobbyPanel);
                }
                else
                {
                    BoltConsole.Write("Joining previous match");
                    var returnPlayerEvnt = ReturnPlayerEvent.Create(Bolt.GlobalTargets.OnlyServer);
                    returnPlayerEvnt.Send();
                }
            }
            else if (BoltNetwork.IsServer)
            {
                BoltConsole.Write("Connected Server: " + connection, Color.blue);
                BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.CharacterSelectionEntity);
                entity.AssignControl(connection);
                int numPlayers     = gameStateEntity.GetComponent <NetworkGameState>().onPlayerJoined();
                var playerTurnEvnt = PlayerJoinedEvent.Create(Bolt.GlobalTargets.Everyone);
                playerTurnEvnt.numOfPlayers = numPlayers;
                playerTurnEvnt.Send();
            }
        }
Exemplo n.º 3
0
 public BoltEntity SpawnPlayer()
 {
     if (PlayerEntity == null)
     {
         if (SpawnManager.HasSpawnPoints)
         {
             PlayerEntity = BoltNetwork.Instantiate(BoltPrefabs.Player, SpawnManager.GetSpawnPoint(), Quaternion.identity);
         }
         else
         {
             PlayerEntity = BoltNetwork.Instantiate(BoltPrefabs.Player);
             PlayerEntity.gameObject.SetActive(false);
         }
         if (PlayerEntity.gameObject.activeSelf)
         {
             if (IsServer)
             {
                 PlayerEntity.TakeControl();
             }
             else
             {
                 PlayerEntity.AssignControl(Connection);
             }
         }
     }
     return(PlayerEntity);
 }
Exemplo n.º 4
0
        public static void SpawnPlayerAtPosition(Player player, Vector3 position, Quaternion rotation)
        {
            //Make sure player controlled entities are destroyed.
            PlayerManager.Instance.DestroyPlayerControlledEntities(player);

            LoadOut loadOut = new LoadOut();

            loadOut.itemNames = new string[] { "Scout", "PlasmaFusor", "GrenadeLauncher", "ChainGun" };

            LoadOutToken loadOutToken = new LoadOutToken(loadOut);

            GameObject baseMech = DatabaseManager.Instance.PrefabDatabase.GetPrefabByName("BaseMech");
            BoltEntity entity   = BoltNetwork.Instantiate(baseMech, loadOutToken, position, rotation);

            if (entity != null)
            {
                Unit unit = entity.GetComponent <Unit>();
                unit.Setup(player.guid, player.teamId);
                unit.gameObject.AddComponent <AbilityVelocityRedirection>();

                if (player.connection == null)
                {
                    entity.TakeControl();
                }
                else
                {
                    entity.AssignControl(player.connection);
                }

                player.SetControlledEntity(entity);
            }
        }
 public override void SceneLoadRemoteDone(BoltConnection connection)
 {
     if (BoltNetwork.IsServer)
     {
         BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.Cube);
         entity.AssignControl(connection);
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// クライアントがシーンを読み込んだ時に報告されるコールバック
        /// リモート用のプレイヤーを生成
        /// </summary>
        /// <param name="connection"></param>
        public override void SceneLoadRemoteDone(BoltConnection connection)
        {
            // プレイヤー2を生成して、操作を接続先に任せます
            BoltEntity be = BoltNetwork.Instantiate(BoltPrefabs.Player2);

            be.transform.position = NetworkSceneManager.Instance.GetPlayerPosition(be.prefabId.Value);
            be.AssignControl(connection);
        }
Exemplo n.º 7
0
 public override void SceneLoadRemoteDone(BoltConnection connection)
 {
     if (BoltNetwork.isServer)
     {
         BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.Player, new Vector3(43, 1, 11), Quaternion.identity);
         entity.AssignControl(connection);
     }
 }
    protected virtual void SVSpawnPlayer(BoltConnection connection)
    {
        //Create a new player
        var        spawn     = spawnPositions.GetRandom();
        BoltEntity playerEnt = BoltNetwork.Instantiate(playerPrefab, spawn.transform.position, Quaternion.identity);

        playerEnt.AssignControl(connection);
        PlayerController player = playerEnt.GetComponent <PlayerController>();
    }
Exemplo n.º 9
0
 void SetControl(PlayerObject player, BoltEntity entity)
 {
     if (player.IsServer)
     {
         entity.TakeControl();
     }
     else
     {
         entity.AssignControl(player.connection);
     }
 }
Exemplo n.º 10
0
    public void InstantiatePlayer(BoltConnection connection)
    {
        Vector3    pos    = new Vector3(Random.Range(-16, 16), 0, Random.Range(-16, 16));
        BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.Player, pos, Quaternion.identity);

        playerList.Add(entity, connection);
        if (connection == null)
        {
            entity.TakeControl();
        }
        else
        {
            entity.AssignControl(connection);
        }
    }
Exemplo n.º 11
0
    public override void SceneLoadLocalDone(string map)
    {
        //instantiate the player
        BoltEntity  entity = BoltNetwork.Instantiate(BoltPrefabs.PlayerPrefab);
        PlayerState ps     = entity.GetComponent <PlayerState>();

        ps.Name = GameManager.instance.CurrentUserName; //set their name
        ps.Team = GameManager.instance.Lobby.GetTeamLookup()[GameManager.instance.CurrentUserName];
        if (!BoltNetwork.isServer)
        {
            entity.AssignControl(BoltNetwork.server);  //this line is completely useless and should be removed
        }
        DebugHUD.setValue("load state", "Scene loaded, unsynced");
        //the scene has now been loaded for this player, but we have not synchronized the players yet
    }
Exemplo n.º 12
0
        public Player(BoltConnection cn)
        {
            entity = BoltNetwork.Instantiate(BoltPrefabs.Player, new Vector3(20, 0, 20), Quaternion.identity);

            this.cn = cn;

            if (cn == null)
            {
                entity.TakeControl();
            }
            else
            {
                entity.AssignControl(cn);
            }
        }
Exemplo n.º 13
0
    public void Spawn()
    {
        if (!character)
        {
            character = BoltNetwork.Instantiate(BoltPrefabs.BoltPlayer, RandomPosition(), Quaternion.identity);

            if (IsServer)
            {
                character.TakeControl();
            }
            else
            {
                character.AssignControl(connection);
            }
        }

        character.transform.position = RandomPosition();
    }
    public void Spawn()
    {
        if (PlayerInstance.instance != null)
        {
            if (IsServer)
            {
                //character = BoltNetwork.Instantiate(BoltPrefabs.NetworkPlayer, RoundSystem.Instance.spawnRoom.position, Quaternion.identity);
                character.TakeControl();
            }
            else
            {
                //character = BoltNetwork.Instantiate(BoltPrefabs.NetworkPlayer_1, RoundSystem.Instance.spawnRoom.position, Quaternion.identity);
                character.AssignControl(connection);
            }
        }

        // teleport entity to a random spawn position
    }
Exemplo n.º 15
0
        public void InstantiateEntity()
        {
            entity = BoltNetwork.Instantiate(BoltPrefabs.Player, new TestToken(), RandomSpawn(), Quaternion.identity);

            state.name = name;
            state.team = redPlayers.Count() >= bluePlayers.Count() ? TEAM_BLUE : TEAM_RED;

            if (isServer)
            {
                entity.TakeControl(new TestToken());
            }
            else
            {
                entity.AssignControl(connection, new TestToken());
            }

            Spawn();
        }
Exemplo n.º 16
0
        public void Spawn()
        {
            if (!character)
            {
                character = BoltNetwork.Instantiate(BoltPrefabs.Player);

                if (IsServer)
                {
                    character.TakeControl();
                }
                else
                {
                    character.AssignControl(connection);
                }
            }

            // teleport entity to a random spawn position
            character.transform.position = RandomPosition();
        }
Exemplo n.º 17
0
    public void Spawn()
    {
        //character = BoltNetwork.Instantiate (BoltPrefabs.PlayerObject3d);
        if (!character) {

            character = BoltNetwork.Instantiate (BoltPrefabs.PlayerObject3dWithColliders);
            if (MenuScript.hasPickedTeamOne) {
                //character.renderer.material.color = Color.red;
                teamId = 1;

                foreach (SkinnedMeshRenderer smr in character.GetComponentsInChildren<SkinnedMeshRenderer>())
                {
                    smr.material.mainTexture = Resources.Load<Texture>("Textures/Layer_lambert1_u1_v2_Diffuse_merged_wNoise_Fish");
                    smr.material.SetTexture(1, Resources.Load<Texture>("Textures/Layer_lambert1_u1_v2_Diffuse_merged_wNoise_Fish_normal"));
                }
            } else if (MenuScript.hasPickedTeamTwo) {
                // character.renderer.material.color = Color.green;
                teamId = 2;

                foreach (SkinnedMeshRenderer smr in character.GetComponentsInChildren<SkinnedMeshRenderer>())
                {
                    smr.material.mainTexture = Resources.Load<Texture>("Textures/Layer_lambert1_u1_v2_Diffuse_merged_wNoise_Banana");
                    smr.material.SetTexture(1, Resources.Load<Texture>("Textures/Layer_lambert1_u1_v2_Diffuse_merged_wNoise_Banana_normal"));
                }
            }
            if (isServer) {
                //character = BoltNetwork.Instantiate (BoltPrefabs.PlayerObject3d);
                character.TakeControl ();
                //Coconut.Instantiate ();
            } else if (isClient) {
                //	character = BoltNetwork.Instantiate (BoltPrefabs.PlayerObject3d);
                character.AssignControl (connection);
                GameObject.FindWithTag ("nut").GetComponent<Coconut> ().entity.AssignControl (connection);
            }
        }

        // teleport entity to a random spawn position
        if (MenuScript.hasPickedTeamOne == true) {
            character.transform.position = SpawnRandomPositionTeamOne ();
        } else if (MenuScript.hasPickedTeamTwo == true) {
            character.transform.position = SpawnRandomPositionTeamTwo();
        }
    }
Exemplo n.º 18
0
    public void Spawn()
    {
        if (!character)
        {
            character = BoltNetwork.Instantiate(BoltPrefabs.SpaceCadet);
            PlanetManager.Instance.PhysicsObjects.Add(character.gameObject.GetComponent <PhysicsObject>());
            if (IsServer)
            {
                character.TakeControl();
            }
            else
            {
                character.AssignControl(connection);
            }
        }

        // teleport entity to a spawn position
        character.transform.position = new Vector3(0, 0, 0);
    }
Exemplo n.º 19
0
    public void Spawn()
    {
        if (!character)
        {
            character = BoltNetwork.Instantiate(BoltPrefabs.Player);

            if (IsServer)
            {
                character.TakeControl();
            }
            else
            {
                character.AssignControl(connection);
            }
        }

        // TODO: Get spawn point from the current map
        character.transform.position = RandomPosition();
        behavior = character.GetComponent <PlayerBehavior>();
    }
Exemplo n.º 20
0
    public void Spawn()
    {
        if (!character)
        {
            if (IsServer)
            {
                character = BoltNetwork.Instantiate(BoltPrefabs.Player1);
                character.TakeControl();

                Player newPlayer = character.GetComponent <Player>();
                newPlayer.Respawn(0);
            }
            else
            {
                character = BoltNetwork.Instantiate(BoltPrefabs.Player2);
                character.AssignControl(connection);

                Player newPlayer = character.GetComponent <Player>();
                newPlayer.Respawn(1);
            }
        }
    }
Exemplo n.º 21
0
    // This spawns the player character and
    // correctly assigns control of it to the connection
    public void Spawn(CustomisationToken token)
    {
        if (!character)
        {
            character = BoltNetwork.Instantiate(BoltPrefabs.Player, token);
        }

        // Server takes control of the char it spawns;
        // client is GIVEN control of the char it spawns.
        if (isServer)
        {
            BoltConsole.Write("Server taking control...");
            character.TakeControl();
        }
        else
        {
            BoltConsole.Write("Assigning control to " + connection);
            character.AssignControl(connection);
        }

        // Just gives a random position.
        character.transform.position = RandomPosition();
    }
Exemplo n.º 22
0
        public void Spawn()
        {
            var point = SpawnPoint.Get();

            if (!character)
            {
                character = BoltNetwork.Instantiate(BoltPrefabs.Newtorked_Sample_Controller, point.transform.position, Quaternion.identity);

                if (IsServer)
                {
                    character.TakeControl();
                }
                else
                {
                    character.AssignControl(connection);
                }
            }

            // teleport entity to a random spawn position
            var retroController = character.GetComponent <RetroController>();

            retroController.TeleportTo(point.transform.position, true);
        }
Exemplo n.º 23
0
        public override void Connected(BoltConnection connection)
        {
            if (BoltNetwork.IsClient)
            {
                BoltConsole.Write("Connected Client: " + connection, Color.blue);

                infoPanel.gameObject.SetActive(false);
                ChangeTo(lobbyPanel);
            }
            else if (BoltNetwork.IsServer)
            {
                BoltConsole.Write("Connected Server: " + connection, Color.blue);

                BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.PlayerInfo);

                LobbyPhotonPlayer lobbyPlayer = entity.GetComponent <LobbyPhotonPlayer>();
                lobbyPlayer.connection = connection;

                connection.UserData = lobbyPlayer;
                connection.SetStreamBandwidth(1024 * 1024);

                entity.AssignControl(connection);
            }
        }
    public override void SceneLoadRemoteDone(BoltConnection connection)
    {
        BoltEntity player = BoltNetwork.Instantiate(BoltPrefabs.EthanServerAuth);

        player.AssignControl(connection);
    }
    public override void SceneLoadRemoteDone(BoltConnection connection, IProtocolToken token)
    {
        BoltEntity player = BoltNetwork.Instantiate(BoltPrefabs.EthanServerAuth, new Vector3(0, -1f, 0), Quaternion.identity);

        player.AssignControl(connection);
    }
Exemplo n.º 26
0
    public override void SceneLoadRemoteDone(BoltConnection connection)
    {
        BoltEntity player = BoltNetwork.Instantiate(BoltPrefabs.ClickToMovePlayer);

        player.AssignControl(connection);
    }
Exemplo n.º 27
0
    public override void OnEvent(SpawnPlayerEvent evnt)
    {
        BoltEntity entity = BoltNetwork.Instantiate(BoltPrefabs.Player, new Vector3(0, 1, 0), Quaternion.identity);

        entity.AssignControl(evnt.RaisedBy);
    }