private CollisionEvent(object origin, IEntity triggeringEntity, IEntity affectedEntity, CollisionResult collisionResult) : base(origin, EventType.COLLISION_EVENT) { this.triggeringEntity = triggeringEntity; this.affectedEntity = affectedEntity; this.collisionResult = collisionResult; }
public static CollisionEvent Create(object origin, IEntity triggeringEntity, IEntity affectedEntity, CollisionResult collisionResult) { CollisionEvent returningEvent = EventManager.Instance.GetEventFromType<CollisionEvent>(EventType.COLLISION_EVENT); if (returningEvent == null) { returningEvent = EventManager.Instance.AddEventToPool(new CollisionEvent(origin, triggeringEntity, affectedEntity, collisionResult)); } else { returningEvent.triggeringEntity = triggeringEntity; returningEvent.affectedEntity = affectedEntity; returningEvent.collisionResult = collisionResult; returningEvent.origin = origin; } return returningEvent; }