예제 #1
0
        NetworkIdentity SpawnObject(bool localPlayer)
        {
            const uint netId = 1000;

            GameObject go = new GameObject();

            _createdObjects.Add(go);

            NetworkIdentity identity = go.AddComponent <NetworkIdentity>();

            SpawnMessage msg = new SpawnMessage
            {
                netId         = netId,
                isLocalPlayer = localPlayer,
                isOwner       = localPlayer,
            };

            // ApplySpawnPayload applies the message (sets netId etc.)
            NetworkClient.ApplySpawnPayload(identity, msg);

            // isLocalPlayer is set in OnStartLocalPlayer.
            // that function is only called by ApplySpawnPayload if isSpawnFinished.
            // spawn finished isn't set.
            // so let's set local player manually instead.
            identity.isLocalPlayer = localPlayer;

            if (localPlayer)
            {
                Assert.That(NetworkClient.localPlayer, Is.EqualTo(identity));
            }

            return(identity);
        }