void RegisterForCollision() { if (collisionCallback != null && EventListener.HasCallback(collisionCallback)) { EventListener.RemoveCallback(collisionCallback); } collisionCallback = EventListener.AddCallback(new EntityEventCallback(OnCollision, EEntityEvent.ENTITY_EVENT_COLLISION)); }
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."); } }
public bool HasCallback(EntityEventCallback callback) { return(callbacks.Contains(callback)); }
public EntityEventCallback AddCallback(EntityEventCallback callback) { Env.EntitySystem.AddEntityEventListener(owningEntity.Id, callback.Trigger, this); callbacks.Add(callback); return(callback); }