public int DoCollision(ObjCollisionProfile prof, ObjectGuid guid, PhysicsObj target) { var wo = WorldObject; if (wo == null) { return(-1); } var targetWO = target.WeenieObj.WorldObject; if (targetWO == null) { return(-1); } // no collision with self if (wo.Guid.Equals(targetWO.Guid)) { return(-1); } /*Console.WriteLine("ObjCollisionProfile"); * Console.WriteLine("Source: " + WorldObject.Name); * Console.WriteLine("Target: " + obj.WeenieObj.WorldObject.Name);*/ wo.OnCollideObject(targetWO); return(0); }
public void InqCollisionProfile(ObjCollisionProfile prof) { if (WorldObject == null) { return; } prof.WCID = ID; prof.ItemType = WorldObject.ItemType; if (WorldObject is Creature) { prof.Flags |= ObjCollisionProfileFlags.Creature; } if (WorldObject is Player) { prof.Flags |= ObjCollisionProfileFlags.Player; } if (WorldObject.Attackable) { prof.Flags |= ObjCollisionProfileFlags.Attackable; } if (WorldObject is Door) { prof.Flags |= ObjCollisionProfileFlags.Door; } }