示例#1
0
        public SyncedProperty(SyncedObject syncedObject, Int32 propertyId)
        {
            m_SyncedObject = syncedObject;
            m_PropertyId   = propertyId;

            syncedObject.AddProperty(this);
        }
示例#2
0
 public void RemoveObject(SyncedObject syncedObject)
 {
     for (LinkedListNode <HostedObject> node = m_HostedObjects.First; node != null; node = node.Next)
     {
         if (node.Value.Object == syncedObject)
         {
             m_HostedObjects.Remove(node);
             break;
         }
     }
 }
示例#3
0
        public void AddObject(SyncedObject syncedObject)
        {
            Int32 lastValue = -1;
            LinkedListNode <HostedObject> node;

            for (node = m_HostedObjects.First; node != null; node = node.Next)
            {
                Int32 curValue = node.Value.Id;

                if (2 <= curValue - lastValue)
                {
                    break;
                }

                lastValue = curValue;
            }

            Int32 newValue = lastValue + 1;

            if (null != node)
            {
                m_HostedObjects.AddBefore(node,
                                          new HostedObject(newValue, syncedObject)
                                          );
            }
            else
            {
                m_HostedObjects.AddLast(
                    new HostedObject(newValue, syncedObject)
                    );
            }

            syncedObject.ObjectId = newValue;

            if (null != m_Syncer)
            {
                syncedObject.ConnectSyncer(m_Syncer);
            }
        }
示例#4
0
    public void AddObject(SyncedObject syncedObject)
    {
        Int32 lastValue = -1;
        LinkedListNode<HostedObject> node;

        for (node = m_HostedObjects.First; node != null; node = node.Next)
        {
            Int32 curValue = node.Value.Id;

            if (2 <= curValue - lastValue)
            {
                break;
            }

            lastValue = curValue;
        }

        Int32 newValue = lastValue + 1;

        if (null != node)
        {
            m_HostedObjects.AddBefore(node,
                new HostedObject(newValue, syncedObject)
            );
        }
        else
        {
            m_HostedObjects.AddLast(
                new HostedObject(newValue, syncedObject)
            );
        }

        syncedObject.ObjectId = newValue;
        
        if(null != m_Syncer) syncedObject.ConnectSyncer(m_Syncer);
    }
示例#5
0
 public SyncedInt32(SyncedObject syncedObject, Int32 propertyId)
     : base(syncedObject, propertyId)
 {
 }
示例#6
0
 public SyncedBoolean(SyncedObject syncedObject, Int32 propertyId)
     : base(syncedObject, propertyId)
 {
 }
示例#7
0
 public HostedObject(Int32 id, SyncedObject obj)
 {
     Id     = id;
     Object = obj;
 }
示例#8
0
 public void RemoveObject(SyncedObject syncedObject)
 {
     for (LinkedListNode<HostedObject> node = m_HostedObjects.First; node != null; node = node.Next)
     {
         if (node.Value.Object == syncedObject)
         {
             m_HostedObjects.Remove(node);
             break;
         }
     }
 }
示例#9
0
 public SyncedInt32(SyncedObject syncedObject, Int32 propertyId)
 : base(syncedObject, propertyId)
 {
 }
示例#10
0
 public SyncedBoolean(SyncedObject syncedObject, Int32 propertyId)
     : base(syncedObject, propertyId)
 {
 }
示例#11
0
    public SyncedProperty(SyncedObject syncedObject, Int32 propertyId)
    {
        m_SyncedObject = syncedObject;
        m_PropertyId = propertyId;

        syncedObject.AddProperty(this);
    }
示例#12
0
 public HostedObject(Int32 id, SyncedObject obj)
 {
     Id = id;
     Object = obj;
 }