У меня есть игрок class, NPC class, BattleManager class и игра class.
Класс игрока хранит/получает/устанавливает статистику игрока, такую как здоровье, выносливость, уровень, опыт. NPC похож, но для NPC. В игре class создаются экземпляры игрока class и NPC class. Игровое стекло имеет два игровых состояния: боевое и небоевое.
Когда игрок находится в бою, GameState переходит в режим боя, когда бой заканчивается, он переключается в режим без боя.
Что я пытаюсь сделать, так это заставить BattleManager class управлять битвами между NPC и игроком, однако, поскольку игрок и объект NPC создаются в классе Game, мне нужно знать, как передать этот объект или получить к нему доступ из BattleManager без создания экземпляра. новенький.
Может ли кто-нибудь предложить общий поток того, как это может работать? Я знаю, что это неправильно, но есть ли способ сделать что-то вроде Game.Player.Health -= damage;? Например, внутри игрока class есть public int Health get/set, как я могу редактировать здоровье из других классов, когда класс Player создан в классе Game? Есть ли способ обойти Player object или просто получить доступ к экземпляру объекта, созданному в классе Game, из других классов?
TakeDamage. Цепочка ответственности также охватывается некоторыми шаблонами проектирования. - person Andre Calil   schedule 27.07.2012public event BattleStarted ITSONиpublic delegate void BattleStarted(object sended, BattleStartedEventArgs e)иclass BattleStartedEventArgs : EventArgs { public Player One {get;set;} public NPC Two [get;set;} }- person   schedule 27.07.2012