public void StartBattle(Utility.TreeNode <MapItem> location) { mMapState.SetCurrentLocation(location); State.CardsSetupState cardsSetupState = new State.CardsSetupState(true, true); cardsSetupState.mPlayerDeck = mCampaignState.mCurrentCollection.mDeck; cardsSetupState.mOpposingDeck = GenerateOpposingDeck(location.mItem.mDifficultyTier, State.StateHolder.StateManager.MetaDataLibrary); State.StateHolder.StateManager.SetPassedState(cardsSetupState); State.StateHolder.StateManager.MoveToNextScene(State.GameScene.CampaignCardGame); }
// Use this for initialization void Start() { State.CardsSetupState setupState = (State.CardsSetupState)State.StateHolder.StateManager.GetAndClearPassedState(); if (setupState == null) { mIsCampaignCardGame = false; } else { mIsCampaignCardGame = setupState.mIsCampaign; } TheCardGameState = State.StateHolder.StateManager.LoadCardGameState(); if (setupState == null || setupState.mNeedsInit) { TheCardGameState.Init(); TheCardGameState.GeneratePlayerDecks(setupState == null ? null : setupState.mPlayerDeck, setupState == null ? null : setupState.mOpposingDeck); TheCardGameState.NewMatch(); } TheTurnManager = new TurnManager(TheCardGameState, this); TheUIManager = this.gameObject.GetComponent <UI.CardGameUIManager>(); TheUIManager.SetUp(this, TheCardGameState, TheTurnManager.GetTurnInfo()); if (setupState == null || setupState.mNeedsInit) { TheTurnManager.NewMatch(); NewRound(); } if (mIsCampaignCardGame) { SaveGame(); } TheUIManager.UpdateUI(); }