コード例 #1
0
    void Start()
    {
        T23_BroadcastLocal[] broadcastLocals = GetComponents <T23_BroadcastLocal>();
        for (int i = 0; i < broadcastLocals.Length; i++)
        {
            if (broadcastLocals[i].groupID == groupID)
            {
                broadcastLocal = broadcastLocals[i];
                break;
            }
        }

        if (!broadcastLocal)
        {
            T23_BroadcastGlobal[] broadcastGlobals = GetComponents <T23_BroadcastGlobal>();
            for (int i = 0; i < broadcastGlobals.Length; i++)
            {
                if (broadcastGlobals[i].groupID == groupID)
                {
                    broadcastGlobal = broadcastGlobals[i];
                    break;
                }
            }
        }
    }
コード例 #2
0
 private T23_BroadcastGlobal[] AddBroadcastGlobalArray(T23_BroadcastGlobal[] array, T23_BroadcastGlobal value)
 {
     T23_BroadcastGlobal[] new_array = new T23_BroadcastGlobal[array.Length + 1];
     array.CopyTo(new_array, 0);
     new_array[new_array.Length - 1] = value;
     return(new_array);
 }
コード例 #3
0
    public void EntryBuffer(T23_BroadcastGlobal broadcast, int bufferType)
    {
        if (bufferType == 0)
        {
            return;
        }

        for (int bidx = 0; bidx < broadcasts.Length; bidx++)
        {
            if (broadcast == broadcasts[bidx])
            {
                if (bufferType == 1)
                {
                    int exist = FindValueIntArray(broadcastIdx, bidx, 0);
                    if (exist != -1)
                    {
                        broadcastIdx = RemoveIntArray(broadcastIdx, exist);
                    }
                }

                broadcastIdx = AddIntArray(broadcastIdx, bidx);
            }
        }
        RequestSerialization();
    }
コード例 #4
0
 public void LinkBroadcast(T23_BroadcastGlobal broadcast)
 {
     if (broadcasts == null)
     {
         broadcasts    = new T23_BroadcastGlobal[1];
         broadcasts[0] = broadcast;
     }
     else
     {
         bool contains = false;
         for (int i = 0; i < broadcasts.Length; i++)
         {
             if (broadcasts[i] == broadcast)
             {
                 contains = true;
                 break;
             }
         }
         if (!contains)
         {
             broadcasts = AddBroadcastGlobalArray(broadcasts, broadcast);
         }
     }
     if (synced)
     {
         broadcast.SetSynced();
     }
 }
コード例 #5
0
    void Start()
    {
        T23_BroadcastLocal[] broadcastLocals = GetComponents <T23_BroadcastLocal>();
        for (int i = 0; i < broadcastLocals.Length; i++)
        {
            if (broadcastLocals[i].groupID == groupID)
            {
                broadcastLocal = broadcastLocals[i];
                break;
            }
        }

        if (!broadcastLocal)
        {
            T23_BroadcastGlobal[] broadcastGlobals = GetComponents <T23_BroadcastGlobal>();
            for (int i = 0; i < broadcastGlobals.Length; i++)
            {
                if (broadcastGlobals[i].groupID == groupID)
                {
                    broadcastGlobal = broadcastGlobals[i];
                    break;
                }
            }
        }

        if (Networking.IsOwner(gameObject))
        {
            syncReady = true;
            RequestSerialization();
        }
        else
        {
            SendCustomNetworkEvent(NetworkEventTarget.Owner, nameof(RequestFirstSync));
        }
    }
コード例 #6
0
    void Start()
    {
        T23_BroadcastLocal[] broadcastLocals = GetComponents <T23_BroadcastLocal>();
        for (int i = 0; i < broadcastLocals.Length; i++)
        {
            if (broadcastLocals[i].groupID == groupID)
            {
                broadcastLocal = broadcastLocals[i];
                break;
            }
        }

        if (broadcastLocal)
        {
            broadcastLocal.AddActions(this, priority);

            if (broadcastLocal.randomize)
            {
                randomMin = broadcastLocal.randomTotal;
                broadcastLocal.randomTotal += randomAvg;
                randomMax = broadcastLocal.randomTotal;
            }
        }
        else
        {
            T23_BroadcastGlobal[] broadcastGlobals = GetComponents <T23_BroadcastGlobal>();
            for (int i = 0; i < broadcastGlobals.Length; i++)
            {
                if (broadcastGlobals[i].groupID == groupID)
                {
                    broadcastGlobal = broadcastGlobals[i];
                    break;
                }
            }

            if (broadcastGlobal)
            {
                broadcastGlobal.AddActions(this, priority);

                if (broadcastGlobal.randomize)
                {
                    randomMin = broadcastGlobal.randomTotal;
                    broadcastGlobal.randomTotal += randomAvg;
                    randomMax = broadcastGlobal.randomTotal;
                }
            }
        }

#if UNITY_EDITOR
        // local simulation
        takeOwnership = false;
#endif

        this.enabled = false;
    }
コード例 #7
0
 public int GetSeed(T23_BroadcastGlobal broadcast)
 {
     for (int i = 0; i < broadcasts.Length; i++)
     {
         if (broadcasts[i] == broadcast)
         {
             return(seed + i);
         }
     }
     return(seed);
 }
コード例 #8
0
    public static T23_CommonBuffer GetAutoJoinCommonBuffer(T23_BroadcastGlobal broadcast)
    {
        var commonBuffers = GetAllCommonBuffers();

        foreach (var commonBuffer in commonBuffers)
        {
            if (commonBuffer.autoJoin)
            {
                broadcast.commonBuffer = commonBuffer;
                return(commonBuffer);
            }
        }
        return(null);
    }
コード例 #9
0
        void OnEnable()
        {
            body = target as T23_BroadcastGlobal;

            master = T23_Master.GetMaster(body, body.groupID, 0, true, body.title);
        }
コード例 #10
0
    void Start()
    {
        T23_BroadcastLocal[] broadcastLocals = GetComponents <T23_BroadcastLocal>();
        for (int i = 0; i < broadcastLocals.Length; i++)
        {
            if (broadcastLocals[i].groupID == groupID)
            {
                broadcastLocal = broadcastLocals[i];
                break;
            }
        }

        if (byValue)
        {
            if (positionUsePropertyBox && positionPropertyBox)
            {
                teleportPosition = positionPropertyBox.value_v3;
            }
            if (rotationUsePropertyBox && rotationPropertyBox)
            {
                teleportRotation = rotationPropertyBox.value_v3;
            }
        }
        if (broadcastLocal)
        {
            broadcastLocal.AddActions(this, priority);

            if (broadcastLocal.randomize)
            {
                randomMin = broadcastLocal.randomTotal;
                broadcastLocal.randomTotal += randomAvg;
                randomMax = broadcastLocal.randomTotal;
            }
        }
        else
        {
            T23_BroadcastGlobal[] broadcastGlobals = GetComponents <T23_BroadcastGlobal>();
            for (int i = 0; i < broadcastGlobals.Length; i++)
            {
                if (broadcastGlobals[i].groupID == groupID)
                {
                    broadcastGlobal = broadcastGlobals[i];
                    break;
                }
            }

            if (broadcastGlobal)
            {
                broadcastGlobal.AddActions(this, priority);

                if (broadcastGlobal.randomize)
                {
                    randomMin = broadcastGlobal.randomTotal;
                    broadcastGlobal.randomTotal += randomAvg;
                    randomMax = broadcastGlobal.randomTotal;
                }
            }
        }

        this.enabled = false;
    }