コード例 #1
0
 public void Perform(Marian marian, Item item)
 {
     var aabb = marian.BoundingBox.Bounds;
     var aabbItem = item.BoundingBox.Bounds;
     if (aabbItem.Intersects(aabb))
     {
         item.PickUp(marian);
     }
 }
コード例 #2
0
        public DynamicCollisionDetectionEngine(Marian marian)
        {
            this.marian = marian;

            npcs = new List<Npc>();
            items = new List<Item>();

            collisionDetection = new DynamicCollisionDetection();

            marian.Move += marian_Move;
        }
コード例 #3
0
 public void Perform(Marian marian, Npc npc)
 {
     var aabb = marian.BoundingBox.Bounds;
     var aabbNpc = npc.BoundingBox.Bounds;
     if (aabbNpc.Intersects(aabb))
     {
         if (!marian.Invulnerable)
         {
             marian.Die();
         }
     }
 }
コード例 #4
0
ファイル: LevelManager.cs プロジェクト: bevacqua/MarianX
        private void InitializeMarian()
        {
            if (marian == null)
            {
                marian = new Marian();
                marian.Move += game.ViewportManager.CharacterMove;
            }

            var collisionDetection = marian.Movement.CollisionDetection as IGameContent;
            if (collisionDetection != null)
            {
                game.AddContent(collisionDetection);
            }

            game.DynamicCollisionDetection = new DynamicCollisionDetectionEngine(marian);
        }
コード例 #5
0
ファイル: Item.cs プロジェクト: bevacqua/MarianX
 public abstract void PickUp(Marian marian);
コード例 #6
0
ファイル: Jail.cs プロジェクト: bevacqua/MarianX
 public override void PickUp(Marian marian)
 {
     marian.BreakOut();
 }