Beispiel #1
0
    public void SpawnPrefab(Vector3 pos, Quaternion rotation, bool takeLocalControl)
    {
        // Start this...
        enabled = true;

        PrefabInstance = null;

        netSpawnAtTime  = VNetSessionTime.Inst.GetServerTime() + VNetManager.Inst.PrefabSpawnDelay;
        spawnPos        = pos;
        spawnRot        = rotation;
        spawnOwnerID    = takeLocalControl ? VNet.Inst.GetUID() : VNetCommon.NET_CLIENT_INVALID_UID;
        spawnObjectGUID = VNetUtils.GenerateUID();

        // create a message and send it out

        VNetMessageSpawnPrefab spawn = new VNetMessageSpawnPrefab();

        spawn.transformUID    = netIdentifier;
        spawn.localControlUID = spawnOwnerID;
        spawn.time            = netSpawnAtTime;
        spawn.localPosition   = pos;
        spawn.localRotation   = rotation;
        spawn.objectGUID      = spawnObjectGUID;
        VNet.Inst.SendToLobby(spawn, true);
    }
Beispiel #2
0
 public void SpawnNetPrefab(VNetMessageSpawnPrefab message)
 {
     netSpawnAtTime  = message.time;
     spawnPos        = message.localPosition;
     spawnRot        = message.localRotation;
     spawnOwnerID    = message.localControlUID;
     spawnObjectGUID = message.objectGUID;
     enabled         = true;
 }
Beispiel #3
0
    public void OnSpawnPrefabMessage(VNetMessageSpawnPrefab message)
    {
        if (m_spawnPrefabs.ContainsKey(message.transformUID) == false)
        {
            return;
        }

        VNetSpawnPrefab pref = m_spawnPrefabs [message.transformUID];

        pref.SpawnNetPrefab(message);
    }
Beispiel #4
0
    public override VNetMessage Clone()
    {
        VNetMessageSpawnPrefab clone = (VNetMessageSpawnPrefab)base.Clone();

        clone.transformUID    = transformUID;
        clone.time            = time;
        clone.localPosition   = localPosition;
        clone.localRotation   = localRotation;
        clone.localControlUID = localControlUID;
        clone.objectGUID      = objectGUID;
        return(clone);
    }