Example #1
0
 private CollisionEvent(object origin, IEntity triggeringEntity, IEntity affectedEntity, CollisionResult collisionResult)
     : base(origin, EventType.COLLISION_EVENT)
 {
     this.triggeringEntity = triggeringEntity;
     this.affectedEntity = affectedEntity;
     this.collisionResult = collisionResult;
 }
Example #2
0
        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;
        }