Esempio n. 1
0
    public void InitScenarioListObject(CampaignManagerUI _campaignManagerUI, int index, Scenario _scenario)
    {
        campaignManagerUI = _campaignManagerUI;
        scenario          = _scenario;

        indexText.text = index.ToString();
        nameText.text  = scenario.Name;

        selectScenarioBorder.SetActive(false);
    }
Esempio n. 2
0
    /// <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);
    }
Esempio n. 3
0
    /// <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);
        }
    }
Esempio n. 4
0
    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();
    }
Esempio n. 5
0
    /// <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>();
    }