Exemplo n.º 1
0
        public void Link_LinksCorrectly()
        {
            //Arrange
            var entity   = new Entity("valid");
            var entities = new Entities()
            {
                entity
            };
            var entityGroup = new EntityGroup("group");

            entityGroup.AddEntity(new Entity("invalid"), "0");
            entityGroup.AddEntity(entity, "1");
            var entityGroups = new EntityGroups()
            {
                entityGroup
            };
            var linker = new EntityGroupsLinker(entityGroups);

            //Act
            entityGroups = linker.Link(entities);

            //Assert
            Assert.AreEqual(1, entityGroups.Single().EntitySubscriptions.Where(s => s.Entity.Name == "valid").Count());
            Assert.AreEqual(0, entityGroups.Single().EntitySubscriptions.Where(s => s.Entity.Name == "invalid").Count());
        }
Exemplo n.º 2
0
        void UdgOnGridLoad()
        {
            users = StorageManager.Instance.CreateOrGet("Users");
            roles = StorageManager.Instance.CreateOrGet("UserRoles");
            UserRole admin = roles.AddEntity<UserRole>(new UserRole { RoleName = "Administrator" });
            UserRole power = roles.AddEntity<UserRole>(new UserRole { RoleName = "PowerUser" });
            for (int i = 0; i < 10; i++)
            {
                users.AddEntity<User>(new User
                {
                    Username = "******" + i,
                    Password = "******" + i,
                    RoleId = i % 2 == 0 ? admin.ObjectKey : power.ObjectKey
                });
            }

            udg.Gv.DataSource = roles.GetEntities<UserRole>(); //users.GetEntities<User>();
            udg.Gv.CellClick += Gv_CellClick;
        }
Exemplo n.º 3
0
 private void udg_OnGridLoad()
 {
     articles = StorageManager.Instance.CreateOrGet("Articles");
     tags = StorageManager.Instance.CreateOrGet("Tags");
     var ts = new Tag[3];
     ts[0] = tags.AddEntity<Tag>(new Tag {Name = "news"});
     ts[1] = tags.AddEntity<Tag>(new Tag {Name = "adv"});
     ts[2] = tags.AddEntity<Tag>(new Tag {Name = "depth"});
     for (int i = 0; i < 10; i++)
     {
         Article a = articles.AddEntity<Article>(new Article {Caption = "cap_" + i, Content = "content_" + i});
         for (int j = 0; j <= i%3; j++)
         {
             a.Tags.AddJoint(ts[j].ObjectKey);
         }
     }
     articles.Link();
     udg.Gv.DataSource = articles.GetEntities<Article>();
     udg.Gv.CellClick += GvDetails_CellClick;
 }
Exemplo n.º 4
0
        private void InternalShowEntity(int entityId, string entityAssetName, string entityGroupName, object entityInstance, bool isNewInstance, float duration, object userData)
        {
            try
            {
                EntityGroup entityGroup = (EntityGroup)GetEntityGroup(entityGroupName);
                if (entityGroup == null)
                {
                    throw new GameFrameworkException(string.Format("Entity group '{0}' is invalid.", entityGroupName));
                }

                IEntity entity = m_EntityHelper.CreateEntity(entityInstance, entityGroup, userData);
                if (entity == null)
                {
                    throw new GameFrameworkException("Can not create entity in helper.");
                }

                EntityInfo entityInfo = new EntityInfo(entity);
                m_EntityInfos.Add(entityId, entityInfo);
                entityInfo.Status = EntityStatus.WillInit;
                entity.OnInit(entityId, entityGroup, isNewInstance, userData);
                entityInfo.Status = EntityStatus.Inited;
                entityGroup.AddEntity(entity);
                entityInfo.Status = EntityStatus.WillShow;
                entity.OnShow(userData);
                entityInfo.Status = EntityStatus.Showed;

                if (m_ShowEntitySuccessEventHandler != null)
                {
                    m_ShowEntitySuccessEventHandler(this, new ShowEntitySuccessEventArgs(entityAssetName, entity, duration, userData));
                }
            }
            catch (Exception exception)
            {
                if (m_ShowEntityFailureEventHandler != null)
                {
                    m_ShowEntityFailureEventHandler(this, new ShowEntityFailureEventArgs(entityId, entityAssetName, entityGroupName, exception.ToString(), userData));
                    return;
                }

                throw;
            }
        }
Exemplo n.º 5
0
        private void InternalShowEntity(int entityId, string entityAssetName, EntityGroup entityGroup, object entityInstance, bool isNewInstance, float duration, object userData)
        {
            try
            {
                IEntity entity = m_EntityHelper.CreateEntity(entityInstance, entityGroup, userData);
                if (entity == null)
                {
                    throw new GameFrameworkException("Can not create entity in helper.");
                }

                EntityInfo entityInfo = EntityInfo.Create(entity);
                m_EntityInfos.Add(entityId, entityInfo);
                entityInfo.Status = EntityStatus.WillInit;
                entity.OnInit(entityId, entityAssetName, entityGroup, isNewInstance, userData);
                entityInfo.Status = EntityStatus.Inited;
                entityGroup.AddEntity(entity);
                entityInfo.Status = EntityStatus.WillShow;
                entity.OnShow(userData);
                entityInfo.Status = EntityStatus.Showed;

                if (m_ShowEntitySuccessEventHandler != null)
                {
                    ShowEntitySuccessEventArgs showEntitySuccessEventArgs = ShowEntitySuccessEventArgs.Create(entity, duration, userData);
                    m_ShowEntitySuccessEventHandler(this, showEntitySuccessEventArgs);
                    ReferencePool.Release(showEntitySuccessEventArgs);
                }
            }
            catch (Exception exception)
            {
                if (m_ShowEntityFailureEventHandler != null)
                {
                    ShowEntityFailureEventArgs showEntityFailureEventArgs = ShowEntityFailureEventArgs.Create(entityId, entityAssetName, entityGroup.Name, exception.ToString(), userData);
                    m_ShowEntityFailureEventHandler(this, showEntityFailureEventArgs);
                    ReferencePool.Release(showEntityFailureEventArgs);
                    return;
                }

                throw;
            }
        }