public void InitScenarioListObject(CampaignManagerUI _campaignManagerUI, int index, Scenario _scenario) { campaignManagerUI = _campaignManagerUI; scenario = _scenario; indexText.text = index.ToString(); nameText.text = scenario.Name; selectScenarioBorder.SetActive(false); }
/// <summary> /// /// Refreshes the display of the rule /// /// </summary> public void RefreshRuleDisplay(Rule _rule, LobbyUI _lobbyUI = null, GameplayUI _gameplayUI = null, CampaignManagerUI _campaignManagerUI = null) { rule = _rule; lobbyUI = _lobbyUI; gameplayUI = _gameplayUI; campaignManagerUI = _campaignManagerUI; nameText.text = rule.Name; descriptionText.text = rule.Description; descriptionArea.SetActive(false); }
/// <summary> /// /// Initialise the deck object. Updates the text properties of the object /// /// </summary> public void InitDeckListObject(DeckData _deckData, DeckListUI _deckListUI = null, LobbyDeckListUI _lobbyDeckListUI = null, CampaignDeckListUI _campaignDeckListUI = null, CampaignManagerUI _campaignManagerUI = null, bool hideCards = false) { //Need to pass in the deck list UI to handle certain click interactions on this object deckListUI = _deckListUI; lobbyDeckListUI = _lobbyDeckListUI; campaignDeckListUI = _campaignDeckListUI; campaignManagerUI = _campaignManagerUI; deckData = _deckData; deckId = deckData.Id.Value; nameText.text = deckData.Name; classBorder.color = GameManager.instance.colourManager.GetClassColour(deckData.DeckClass); var campaignText = deckData.IsCampaign ? $" - {deckData.CampaignTracker.GetCampaign().Name}" : ""; classText.text = $"{deckData.DeckClass}{campaignText}"; selectionIcon.SetActive(false); deckCardList.RefreshCardList(deckData, deckListUI, _hideCards: hideCards); deckResourceObjects = new List <DeckResourceDetailUI>(); GameManager.DestroyAllChildren(deckResourcesParent); foreach (var resource in deckData.PlayerResources) { var deckResourceObject = Instantiate(deckResourcePrefab, deckResourcesParent.transform); var deckResourceScript = deckResourceObject.GetComponent <DeckResourceDetailUI>(); deckResourceScript.InitDeckResourceDetail(resource); deckResourceObjects.Add(deckResourceScript); } if (campaignManagerUI == null) { deckDetailsArea.SetActive(false); } if (deckListUI != null || campaignDeckListUI != null) { deleteButton.SetActive(true); } if (lobbyDeckListUI != null || campaignManagerUI != null) { deleteButton.SetActive(false); } }
public void InitReserveForces(DeckData inputDeck, CampaignManagerUI _campaignManagerUI) { if (!inputDeck.IsCampaign) { throw new Exception("Deck is invalid to reserve- not a campaign deck"); } campaignManagerUI = _campaignManagerUI; numToReserve = inputDeck.CampaignTracker.NumToReserve; currentDeck = new DeckData(inputDeck); reserveDeck = new DeckData(); RefreshCardLists(); }
/// <summary> /// /// Initialise the container object /// /// </summary> public void InitCardContainer( CardData cardData, DeckListUI _deckListUI = null, CampaignManagerUI _campaignManagerUI = null, string cardName = "", float scalingFactor = defaultScalingFactor, LootGeneratorUI _lootGeneratorUI = null) { deckListUI = _deckListUI; campaignManagerUI = _campaignManagerUI; lootGeneratorUI = _lootGeneratorUI; isSelected = false; transform.parent.gameObject.GetComponent <RectTransform>().sizeDelta = new Vector2(cardSizex * scalingFactor, cardSizey * scalingFactor); //Object is instantiated on the parent of this object in order to prevent conflicts with click handling var newCardObj = GameManager.instance.libraryManager.CreateCardObject(cardData, gameObject.transform.parent, scalingFactor); newCardObj.name = cardName; //Sibling Index is set to 1 so that the click handler on card display doesn't interfere with the click handler on the container (which is only used when adding cards to a deck) newCardObj.transform.SetSiblingIndex(1); cardDisplay = newCardObj.GetComponent <CardDisplay>(); }