make-everything-static-and-globalデザインパターンを取り除きたいのですが、どうすればいいですか?
私は宇宙で小さなダンジョンクローラーを作っています。エンジンのバックエンドをより良くする方法についてのアドバイスを聞きたいです。基本的に、現在はすべてが管理者のがらくたに基づいています: BackgroundManager:AddBackground(image, parallax)クールな背景効果を作成するためのメソッドがあります。 ConfigManager:構成ファイルを読み取り/作成し、その構成ファイルから読み取ったデータも保持します。 DrawManager:持っているDraw(sprite)画面にコンテンツを描画する方法を、そして物事が好きSetView(view)、GetView()など EntityManager:すべてのアクティブなエンティティを保持し、エンティティを追加、削除、検索するためのメソッドを備えています。 DungeonManager(実際GridManagerと呼ばれるが、これは簡単にするためである):のようなメソッドがありGenerateDungeon()、PlaceEnemies()、PlaceFinish()など 現在、私はすべてのマネージャーをリストアップしているわけではないので、これは変化しなければならないと思います。私のゲームもスクリーンに基づいていますが、メインメニューなど、マネージャーが管理しているものの半分が必要ないため、面倒です(メインメニューには物理学/エンティティ/ダンジョンは必要ありません!) ここで、マネージャーを静的ではなく、ScreenMainGameにすべてのゲーム固有マネージャーのインスタンスを与えることを考えました。しかし、それはマネージャーに関連するものを呼び出したり取得したりするのを巨大な混乱にScreenMainGame.Draw()させます... ((ScreenMainGame)ScreenManager.CurrentScreen).GridManager.Draw() それは本当にいです。 それで、仲間のゲーム開発者は、この混乱を解決する方法を知っていますか?ありがたいです!