Ejemplo n.º 1
0
    public void SwitchToCampaign(ScenarioState lastScenarioState)
    {
        scenarioManager.gameObject.SetActive(false);
        mapController.gameObject.SetActive(true);

        CurrentCampaign.player = lastScenarioState.player;
        CurrentCampaign.player.activeModifiers.Clear();
        CurrentCampaign.inventory = lastScenarioState.inventory;

        if (lastScenarioState.enemies.Count == 0)
        {
            CardData scenarioReward = lastScenarioState.scenarioReward;
            if (scenarioReward == null)
            {
                scenarioReward = GenerateRandomScenarioReward();
            }

            if (scenarioReward == upgradeCard)
            {
                simpleTextDisplay.ShowTextDisplay(ScenarioRewardText.UPGRADE_TITLE, ScenarioRewardText.UPGRADE_BODY);
                itemSlotPicker.DisplaySlotPickerForUpgrade();
            }
            else if (scenarioReward == healthCard)
            {
                simpleTextDisplay.ShowTextDisplay(ScenarioRewardText.HEALTH_TITLE, ScenarioRewardText.HEALTH_BODY);
                CurrentCampaign.player.ChangeHealthValue_Campaign(1);
            }
            else if (scenarioReward == goldRewardCard)
            {
                simpleTextDisplay.ShowTextDisplay(ScenarioRewardText.GOLD_TITLE, ScenarioRewardText.GOLD_BODY);
                CurrentCampaign.inventory.gold += (5 * DataRetriever.GetDepthGoldMultiplier());
            }
            else
            {
                simpleTextDisplay.ShowTextDisplay(ScenarioRewardText.NEW_CARD_TITLE, ScenarioRewardText.NEW_CARD_BODY);
                itemSlotPicker.OfferCard(scenarioReward);
            }
        }
        GameStateDelegates.OnCampaignStateUpdated(CurrentCampaign);
    }