/// <summary>
        /// Create a data holder without a LThing object.
        /// </summary>
        /// <param name="collisionGroup">The collision group of the object</param>
        /// <param name="name">The name of the object, excluding an ID</param>
        /// <param name="owner">The collision object this data holder is attached to</param>
        public CollisionObjectDataHolder(CollisionObject owner, PonykartCollisionGroups collisionGroup, string name)
        {
            this.Owner = owner;
            this.CollisionGroup = collisionGroup;
            this.Name = name;

            this.ID = IDs.Random;
        }
Esempio n. 2
0
 /// <summary>
 /// Is this bit flag set?
 /// </summary>
 /// <param name="other">The flag to test for</param>
 public static bool HasFlag(this PonykartCollisionGroups pcg, PonykartCollisionGroups other)
 {
     return (pcg & other) == other;
 }
 public static void AddCollisionObject(this DynamicsWorld world, CollisionObject obj, PonykartCollisionGroups collisionGroup, PonykartCollidesWithGroups collidesWith)
 {
     world.AddCollisionObject(obj, collisionGroup.ToBullet(), collidesWith.ToBullet());
 }
 public static void AddRigidBody(this DynamicsWorld world, RigidBody body, PonykartCollisionGroups collisionGroup, PonykartCollidesWithGroups collidesWith)
 {
     world.AddRigidBody(body, collisionGroup.ToBullet(), collidesWith.ToBullet());
 }
 /// <summary>
 /// Hooks up an event handler to a collision event.
 /// 
 /// The order of the two groups do not matter, as it will add them to both [a,b] and [b,a].
 /// 
 /// For example, to listen for the player colliding with the wall, you want to use Groups.PlayerID and Groups.WallID.
 /// </summary>
 /// <param name="handler">The method that will run when the event is fired</param>
 public void AddEvent(PonykartCollisionGroups firstType, PonykartCollisionGroups secondType, CollisionReportEvent handler)
 {
     AddEvent((int) firstType, (int) secondType, handler);
 }