Ejemplo n.º 1
0
 private void OnContextEntityComponentRemoved(FissureEntity changedEntity, BaseComponent removedComponent)
 {
     if (CompatibleComponents.Any(x => x == removedComponent.GetType()))
     {
         _entitiesToActOn.Remove(changedEntity);
     }
 }
Ejemplo n.º 2
0
        protected override void Execute(FissureEntity entity)
        {
            var msg = entity.GetComponent <ExampleComponent>();
            var num = entity.GetComponent <ExampleComponent2>();

            Console.WriteLine($"{msg.Message} : {num.Number}");
        }
Ejemplo n.º 3
0
 private void OnContextEntityRemoved(FissureEntity removedEntity)
 {
     if (_entitiesToActOn.Select(x => x.Id).Contains(removedEntity.Id))
     {
         _entitiesToActOn.Remove(removedEntity);
     }
 }
Ejemplo n.º 4
0
 private void OnContextEntityAdded(FissureEntity addedEntity)
 {
     if (addedEntity.Components.Select(x => x.GetType()).Intersect(CompatibleComponents).Count() == CompatibleComponents.Count)
     {
         //if (addedEntity.Components.Any(component => CompatibleComponents.Contains(component.GetType())))
         _entitiesToActOn.Add(addedEntity);
     }
 }
Ejemplo n.º 5
0
 private void OnContextEntityComponentAdded(FissureEntity changedEntity, BaseComponent addedComponent)
 {
     if (CompatibleComponents.Contains(addedComponent.GetType()) && changedEntity.Components
         .Select(x => x.GetType()).Intersect(CompatibleComponents).Count() ==
         CompatibleComponents.Count)
     {
         _entitiesToActOn.Add(changedEntity);
     }
 }
Ejemplo n.º 6
0
        public void DestroyEntity(ref FissureEntity entity)
        {
            if (HasEntity(entity.Id))
            {
                throw new EntityNotFoundException($"Cannot destroy Entity with the id {entity.Id} as it does not exist");
            }

            Entities.Remove(entity);
            OnEntityRemoved(entity);
            entity = null;
        }
Ejemplo n.º 7
0
        public FissureEntity CreateEntity(string entityId)
        {
            if (HasEntity(entityId))
            {
                throw new EntityAlreadyExistsException();
            }

            var newEntity = new FissureEntity(entityId);

            newEntity.ComponentAdded   += OnEntityComponentAdded;
            newEntity.ComponentRemoved += OnEntityComponentRemoved;

            Entities.Add(newEntity);
            OnEntityAdded(newEntity);
            return(newEntity);
        }
Ejemplo n.º 8
0
        protected override void Execute(FissureEntity entity)
        {
            var num = entity.GetComponent <ExampleComponent2>();

            Console.WriteLine(num.Number);
        }
Ejemplo n.º 9
0
 private void OnEntityComponentRemoved(FissureEntity entity, BaseComponent component)
 {
     EntityComponentRemoved?.Invoke(entity, component);
 }
Ejemplo n.º 10
0
 private void OnEntityRemoved(FissureEntity entity)
 {
     EntityRemoved?.Invoke(entity);
 }
Ejemplo n.º 11
0
 private void OnEntityAdded(FissureEntity entity)
 {
     EntityAdded?.Invoke(entity);
 }
Ejemplo n.º 12
0
 protected abstract void Execute(FissureEntity entity);
Ejemplo n.º 13
0
        protected override void Execute(FissureEntity entity)
        {
            var messageComponent = entity.GetComponent <ExampleComponent>();

            Console.WriteLine(messageComponent.Message);
        }