Exemplo n.º 1
0
 private void OnEntityRemoved(EntityChangeData changeData)
 {
     if (ListningToEntites.Contains(changeData.Entity))
     {
         ListningToEntites.Add(changeData.Entity);
         EntityChanges.Enqueue(changeData);
     }
 }
Exemplo n.º 2
0
 private void OnDBRemoved(EntityChangeData changeData)
 {
     if (ListningToEntites.Contains(changeData.Entity))
     {
         if (IncludeDBTypeIndexFilter.Contains(EntityManager.DataBlobTypes[changeData.Datablob.GetType()]))
         {
             ListningToEntites.Remove(changeData.Entity);
         }
         EntityChanges.Enqueue(changeData);
     }
 }
Exemplo n.º 3
0
 private void OnDBAdded(EntityChangeData changeData)
 {
     if (ListningToEntites.Contains(changeData.Entity))
     {
         ListningToEntites.Add(changeData.Entity);
         EntityChanges.Enqueue(changeData);
     }
     else
     {
         if (IncludeDBTypeIndexFilter.Contains(EntityManager.DataBlobTypes[changeData.Datablob.GetType()]))
         {
             bool include = false;
             foreach (var includeitem in IncludeDBTypeIndexFilter)
             {
                 if (!changeData.Entity.HasDataBlob(includeitem))
                 {
                     include = false;
                     break;
                 }
                 else
                 {
                     include = true;
                 }
             }
             if (include && _ownerDB.OwnedEntities.ContainsKey(changeData.Entity.Guid))
             {
                 ListningToEntites.Add(changeData.Entity);
                 EntityChangeData addedChange = new EntityChangeData()
                 {
                     ChangeType = EntityChangeData.EntityChangeType.EntityAdded,
                     Entity     = changeData.Entity
                 };
                 EntityChanges.Enqueue(addedChange);
                 //EntityChanges.Enqueue(changeData);
             }
         }
     }
 }