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()); }
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; }
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; }
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; } }
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; } }