Exemplo n.º 1
0
 public static bool IsRecordableCard(Entity entity)
 {
     var tagSet = entity.GetTags();
     int tagValue;
     if (tagSet.TryGetValue((int)GAME_TAG.CANT_PLAY, out tagValue))
         return false;
     if (tagSet.TryGetValue((int)GAME_TAG.REVEALED, out tagValue) && tagValue == 0)
         return false;
     if (tagSet.TryGetValue((int)GAME_TAG.CARDTYPE, out tagValue))
     {
         var cardType = (TAG_CARDTYPE)tagValue;
         return cardType != TAG_CARDTYPE.HERO && cardType != TAG_CARDTYPE.HERO_POWER;
     }
     return true;
 }
Exemplo n.º 2
0
        internal void AddEntity(Entity mEntity)
        {
            _entities.Add(mEntity);

            foreach (var tag in mEntity.GetTags())
            {
                if (!_taggedEntities.ContainsKey(tag)) _taggedEntities.Add(tag, new HashSet<Entity>());
                _taggedEntities[tag].Add(mEntity);
            }

            foreach (var component in mEntity.GetComponents())
            {
                var componentType = component.GetType();

                if (!_componentEntities.ContainsKey(componentType))
                {
                    _componentEntities.Add(componentType, new HashSet<Entity>());
                    _components.Add(componentType, new HashSet<Component>());
                }

                _componentEntities[componentType].Add(mEntity);
                _components[componentType].Add(component);
            }
        }
Exemplo n.º 3
0
		private static void SaveEntity(Entity entity, BinaryWriter writer)
		{
			SaveArray(entity.GetComponentsForSaving(), writer);
			SaveArray(entity.GetTags(), writer);
			SaveEntityBehaviors(entity, writer);
			if (entity is DrawableEntity)
				SaveDrawableEntityDrawBehaviors(entity as DrawableEntity, writer);
		}
Exemplo n.º 4
0
        internal void RemoveEntity(Entity mEntity)
        {
            _entities.Remove(mEntity);

            foreach (var tag in mEntity.GetTags()) _taggedEntities[tag].Remove(mEntity);
            foreach (var component in mEntity.GetComponents())
            {
                var componentType = component.GetType();
                _componentEntities[componentType].Remove(mEntity);
                _components[componentType].Remove(component);
            }
        }
Exemplo n.º 5
0
		private static bool IsAvatarAvailable(AvatarSlot avatarSlot, Entity avatar)
		{
			return avatar.GetTags().Contains(avatarSlot.AvatarName.ToString());
		}