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); }