示例#1
0
    private IEnumerator SendObjectsToClient_Coroutine(NetPeer peer, NetDataWriter writer)
    {
        Dictionary <int, GameObject> .Enumerator enumerator = spawnedObjects.GetEnumerator();

        while (enumerator.MoveNext())
        {
            int        instanceID = enumerator.Current.Key;
            GameObject obj        = enumerator.Current.Value;
            int        maxAmount  = spawnedObjects.Count;

            WorldObject objWorld = obj.GetComponent <WorldObject>();

            if (obj != null && objWorld != null)
            {
                Packet02CreateWorldObject createObject = new Packet02CreateWorldObject(instanceID, objWorld.UNIQUE_ID, obj.transform.position, obj.transform.eulerAngles, maxAmount);
                // Create and send data
                createObject.Serialize(writer);
                peer.Send(writer, DeliveryMethod.ReliableUnordered);
            }

            yield return(null);
        }

        enumerator.Dispose();
        yield return(0);
    }