void RegisterForCollision()
        {
            if (collisionCallback != null && Entity.EventListener.HasCallback(collisionCallback))
            {
                Entity.EventListener.RemoveCallback(collisionCallback);
            }

            collisionCallback = Entity.EventListener.AddCallback(new EntityEventCallback(OnCollision, EEntityEvent.ENTITY_EVENT_COLLISION));
        }
示例#2
0
 public void RemoveCallback(EntityEventCallback listener)
 {
     if (callbacks.Contains(listener))
     {
         Env.EntitySystem.RemoveEntityEventListener(owningEntity.Id, listener.Trigger, this);
         callbacks.Remove(listener);
     }
     else
     {
         Log.Error("[EntityEventListener] Cannot remove callback as the specified callback was never registered.");
     }
 }
示例#3
0
 public bool HasCallback(EntityEventCallback callback)
 {
     return(callbacks.Contains(callback));
 }
示例#4
0
 public EntityEventCallback AddCallback(EntityEventCallback callback)
 {
     Env.EntitySystem.AddEntityEventListener(owningEntity.Id, callback.Trigger, this);
     callbacks.Add(callback);
     return(callback);
 }