コード例 #1
0
        public void Update(IPlayer player, List <IBlock> blockList, List <IEnemy> enemiesList, List <IItem> itemsList)
        {
            foreach (IBlock block in blockList)
            {
                if (myCollisionDetector.IsColliding(player.GetRectangle(), block.GetRectangle()))
                {
                    theCollision = myCollisionDetector.CreateCollision(player.GetRectangle(), block.GetRectangle());
                    playerBlockHandler.HandleCollision(player, block, theCollision);
                }
            }

            foreach (IItem item in itemsList)
            {
                if (myCollisionDetector.IsColliding(player.GetRectangle(), item.GetRectangle()))
                {
                    theCollision = myCollisionDetector.CreateCollision(player.GetRectangle(), item.GetRectangle());
                    playerItemHandler.HandleCollision(player, item, theCollision);
                }
            }

            foreach (IEnemy enemy in enemiesList)
            {
                if (myCollisionDetector.IsColliding(player.GetRectangle(), enemy.GetRectangle()))
                {
                    theCollision = myCollisionDetector.CreateCollision(player.GetRectangle(), enemy.GetRectangle());
                    playerEnemyHandler.HandleCollision(player, enemy, theCollision);
                }
            }
        }