Example #1
0
        public void removeEntityListener(EntityListener listener)
        {
            for (int i = 0; i < entityListeners.size; i++)
            {
                EntityListenerData entityListenerData = entityListeners.get(i);
                if (entityListenerData.listener == listener)
                {
                    // Shift down bitmasks by one step
                    foreach (var mask in entityListenerMasks.Values)
                    {
                        //var mask = entry.value;
                        for (int k = i, n = mask.length(); k < n; k++)
                        {
                            if (mask.get(k + 1))
                            {
                                mask.set(k);
                            }
                            else
                            {
                                mask.clear(k);
                            }
                        }
                    }

                    entityListeners.removeIndex(i--);
                }
            }
        }
Example #2
0
        public void RegisterListener(IListener listener, Entity entity)
        {
            EntityListener entityListener = new EntityListener
            {
                Listener = listener,
                Entity   = entity
            };

            _eventDispatcher.AddListener(entityListener);
        }
Example #3
0
        public void addEntityListener(Family family, int priority, EntityListener listener)
        {
            registerFamily(family);

            int insertionIndex = 0;

            while (insertionIndex < entityListeners.size)
            {
                if (entityListeners.get(insertionIndex).priority <= priority)
                {
                    insertionIndex++;
                }
                else
                {
                    break;
                }
            }

            // Shift up bitmasks by one step
            foreach (var mask in entityListenerMasks.Values)
            {
                //var mask = entry.value;
                for (int k = mask.length(); k > insertionIndex; k--)
                {
                    if (mask.get(k - 1))
                    {
                        mask.set(k);
                    }
                    else
                    {
                        mask.clear(k);
                    }
                }
                mask.clear(insertionIndex);
            }

            entityListenerMasks[family].set(insertionIndex);

            EntityListenerData entityListenerData = new EntityListenerData();

            entityListenerData.listener = listener;
            entityListenerData.priority = priority;
            entityListeners.insert(insertionIndex, entityListenerData);
        }
Example #4
0
 public virtual void RemoveEntityListener(EntityListener entityListener)
 {
     this.entityListeners.Remove(entityListener);
 }
Example #5
0
 public void AddEntityListener(EntityListener entityListener)
 {
     this.entityListeners.Add(entityListener);
 }
Example #6
0
 /**
  * Removes an {@link EntityListener}
  */
 public void removeEntityListener(EntityListener listener)
 {
     familyManager.removeEntityListener(listener);
 }
Example #7
0
 /**
  * Adds an {@link EntityListener} for a specific {@link Family}. The listener will be notified every time an entity is
  * added/removed to/from the given family. The priority determines in which order the entity listeners will be called. Lower
  * value means it will get executed first.
  */
 public void addEntityListener(Family family, int priority, EntityListener listener)
 {
     familyManager.addEntityListener(family, priority, listener);
 }
Example #8
0
 /**
  * Adds an {@link EntityListener} for a specific {@link Family}.
  *
  * The listener will be notified every time an entity is added/removed to/from the given family.
  */
 public void addEntityListener(Family family, EntityListener listener)
 {
     addEntityListener(family, 0, listener);
 }
Example #9
0
 /**
  * Adds an {@link EntityListener}. The listener will be notified every time an entity is added/removed
  * to/from the engine. The priority determines in which order the entity listeners will be called. Lower
  * value means it will get executed first.
  */
 public void addEntityListener(int priority, EntityListener listener)
 {
     addEntityListener(empty, priority, listener);
 }
Example #10
0
 /**
  * Adds an {@link EntityListener}.
  *
  * The listener will be notified every time an entity is added/removed to/from the engine.
  */
 public void addEntityListener(EntityListener listener)
 {
     addEntityListener(empty, 0, listener);
 }
Example #11
0
 public void setListener(EntityListener listener)
 {
     this.listener = listener;
 }
Example #12
0
 public void AddEntityListener(EntityListener entityListener)
 {
     throw new NotSupportedException();
 }
Example #13
0
 public EntityManager(EntityListener listener)
 {
     this.listener     = listener;
     immutableEntities = new ImmutableArray <Entity> (entities);
 }