Beispiel #1
0
    public override void FinishEncounter(bool passed)
    {
        Investigator active = GameManager.SingleInstance.App.Model.encounterMenuModel.currentInvestigator;
        Location     l      = active.currentLocation;
        Clue         c      = l.cluesOnLocation[0];

        if (passed)
        {
            // Gain this Clue
            GameManager.SingleInstance.App.Controller.locationController.MoveClueFromLocation(c, l);
            active.GainClue(c);
            GameManager.SingleInstance.App.Model.clueModel.ClueClaimed(c);

            GameManager.SingleInstance.App.Controller.queueController.CreateCallBackQueue(ResearchClueClaimed); // Create Queue
            GameManager.SingleInstance.App.Model.eventModel.ResearchClueClaimedEvent();                         // Populate Queue
            GameManager.SingleInstance.App.Controller.queueController.StartCallBackQueue();                     // Start Queue
        }
        else
        {
            // Move this Clue to the nearest sea space
            List <Location> nearestSeaSpaces = GameManager.SingleInstance.App.Controller.locationController.FindNearestSpaceOfType(l, LocationType.Sea);
            // Send this to menu to pick from closest locations
            GameManager.SingleInstance.App.Controller.locationController.MoveClueFromLocation(c, l);
            GameManager.SingleInstance.App.Controller.locationController.MoveClueToLocation(c, nearestSeaSpaces[0]);

            GameManager.SingleInstance.App.Controller.encounterMenuController.CompleteEncounter(); // End Encounter
        }
    }
Beispiel #2
0
    public override void FinishEncounter(bool passed)
    {
        Investigator active = GameManager.SingleInstance.App.Model.encounterMenuModel.currentInvestigator;

        if (passed)
        {
            // Gain this Clue
            Location l = active.currentLocation;
            Clue     c = l.cluesOnLocation[0];

            GameManager.SingleInstance.App.Controller.locationController.MoveClueFromLocation(c, l);
            active.GainClue(c);
            GameManager.SingleInstance.App.Model.clueModel.ClueClaimed(c);

            GameManager.SingleInstance.App.Controller.queueController.CreateCallBackQueue(ResearchClueClaimed); // Create Queue
            GameManager.SingleInstance.App.Model.eventModel.ResearchClueClaimedEvent();                         // Populate Queue
            GameManager.SingleInstance.App.Controller.queueController.StartCallBackQueue();                     // Start Queue
        }
        else
        {
            // Gain a Detained Condition

            GameManager.SingleInstance.App.Controller.encounterMenuController.CompleteEncounter(); // End Encounter
        }
    }
Beispiel #3
0
    public override void FinishEncounter(bool passed)
    {
        Investigator active = GameManager.SingleInstance.App.Model.encounterMenuModel.currentInvestigator;

        if (passed)
        {
            // Gain this Clue and 1 additional Clue
            Location l = active.currentLocation;
            Clue     c = l.cluesOnLocation[0];

            GameManager.SingleInstance.App.Controller.locationController.MoveClueFromLocation(c, l);
            active.GainClue(c);
            GameManager.SingleInstance.App.Model.clueModel.ClueClaimed(c);

            GameManager.SingleInstance.App.Controller.queueController.CreateCallBackQueue(ResearchClueClaimed); // Create Queue
            GameManager.SingleInstance.App.Model.eventModel.ResearchClueClaimedEvent();                         // Populate Queue
            GameManager.SingleInstance.App.Controller.queueController.StartCallBackQueue();                     // Start Queue
        }
        else
        {
            // Lose 1 Sanity
            active.SetIncomingDamage(1);
            GameManager.SingleInstance.App.Controller.queueController.CreateCallBackQueue(LoseSanity); // Create Queue
            GameManager.SingleInstance.App.Model.eventModel.LoseSanityEvent(active, 1);                // Populate Queue
            GameManager.SingleInstance.App.Controller.queueController.StartCallBackQueue();            // Start Queue
        }
    }