Example #1
0
        public CompanionManager(DialogueDriver dialogueDriver, HintDriver hintDriver, IMonitor monitor)
        {
            this.dialogueDriver     = dialogueDriver ?? throw new ArgumentNullException(nameof(dialogueDriver));
            this.hintDriver         = hintDriver ?? throw new ArgumentNullException(nameof(hintDriver));
            this.monitor            = monitor ?? throw new ArgumentNullException(nameof(monitor));
            this.PossibleCompanions = new Dictionary <string, CompanionStateMachine>();

            this.dialogueDriver.DialogueRequested += this.DialogueDriver_DialogueRequested;
            this.dialogueDriver.DialogueChanged   += this.DialogueDriver_DialogueChanged;
            this.hintDriver.CheckHint             += this.HintDriver_CheckHint;
        }
        public CompanionManager(IGameMaster gameMaster, DialogueDriver dialogueDriver, HintDriver hintDriver, CompanionDisplay hud, Config config, IMonitor monitor)
        {
            this.GameMaster         = gameMaster ?? throw new ArgumentNullException(nameof(gameMaster));
            this.dialogueDriver     = dialogueDriver ?? throw new ArgumentNullException(nameof(dialogueDriver));
            this.hintDriver         = hintDriver ?? throw new ArgumentNullException(nameof(hintDriver));
            this.Hud                = hud ?? throw new ArgumentNullException(nameof(hud));
            this.monitor            = monitor ?? throw new ArgumentNullException(nameof(monitor));
            this.PossibleCompanions = new Dictionary <string, CompanionStateMachine>();
            this.Config             = config ?? throw new ArgumentNullException(nameof(config));

            this.dialogueDriver.DialogueChanged += this.DialogueDriver_DialogueChanged;
            this.hintDriver.CheckHint           += this.HintDriver_CheckHint;
        }