Example #1
0
        private static void ShowAvailableUpgrade(UpgradeRecord upgrade)
        {
            GameObject prefab           = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
            Transform  contentTransform = GameObject.Find("UI/Panels/SelectUpgradePanel/Panel/Scroll View/Viewport/Content").transform;
            GameObject newUpgradePanel  = MonoBehaviour.Instantiate(prefab, contentTransform);

            string         upgradeType = AllUpgrades.Find(n => n.UpgradeName == upgrade.UpgradeName).UpgradeTypeName;
            GenericUpgrade newUpgrade  = (GenericUpgrade)System.Activator.CreateInstance(Type.GetType(upgradeType));

            Edition.Current.AdaptUpgradeToRules(newUpgrade);
            if (newUpgrade is IVariableCost && Edition.Current is SecondEdition)
            {
                (newUpgrade as IVariableCost).UpdateCost(CurrentSquadBuilderShip.Instance);
            }

            UpgradePanelSquadBuilder script = newUpgradePanel.GetComponent <UpgradePanelSquadBuilder>();

            script.Initialize(upgrade.UpgradeName, CurrentUpgradeSlot, newUpgrade, SelectUpgradeClicked, true);

            int column = availableUpgradesCounter;

            newUpgradePanel.transform.localPosition = new Vector3(DISTANCE_MEDIUM + (Edition.Current.UpgradeCardSize.x + DISTANCE_MEDIUM) * column, Edition.Current.UpgradeCardSize.y / 2, 0);

            availableUpgradesCounter++;
        }
Example #2
0
    private static void GeneratePlayerShipConfigurations(PlayerNo playerNo)
    {
        foreach (Transform shipPanel in GetShipsPanel(playerNo))
        {
            if (shipPanel.name == "AddShipPanel")
            {
                continue;
            }
            string pilotNameFull = shipPanel.Find("GroupShip/DropdownPilot").GetComponent <Dropdown>().captionText.text;
            string pilotNameId   = AllPilots[pilotNameFull];

            List <string> upgradesList = new List <string>();

            foreach (Transform upgradePanel in shipPanel.transform.Find("GroupUpgrades"))
            {
                string upgradeName = upgradePanel.GetComponent <Dropdown>().captionText.text;
                if (AllUpgrades.ContainsKey(upgradeName))
                {
                    upgradesList.Add(AllUpgrades[upgradeName]);
                }
            }

            int shipCost = int.Parse(shipPanel.Find("Panel/CostPanel").GetComponentInChildren <Text>().text);

            Global.AddShip(pilotNameId, upgradesList, playerNo, shipCost);
        }
    }
Example #3
0
    private static string GetUpgradeTooltipImage(GameObject panel)
    {
        string upgradeKey = panel.GetComponent <Dropdown>().captionText.text;

        if (AllUpgrades.ContainsKey(upgradeKey))
        {
            Upgrade.GenericUpgrade upgrade = (Upgrade.GenericUpgrade)Activator.CreateInstance(Type.GetType(AllUpgrades[upgradeKey]));
            return(upgrade.ImageUrl);
        }
        return(null);
    }
Example #4
0
    private static string GetNameOfUpgrade(SquadBuilderUpgrade upgrade)
    {
        string result      = "";
        string upgradeName = upgrade.Panel.transform.GetComponent <Dropdown>().captionText.text;

        if (AllUpgrades.ContainsKey(upgradeName))
        {
            result = AllUpgrades[upgradeName];
        }
        return(result);
    }
Example #5
0
    private static string GetUpgradeTooltipImage(GameObject panel)
    {
        string upgradeKey = panel.GetComponent <Dropdown>().captionText.text;

        if (AllUpgrades.Find(n => n.UpgradeNameWithCost == upgradeKey) == null)
        {
            return(null);
        }

        if (AllUpgrades.Find(n => n.UpgradeNameWithCost == upgradeKey).UpgradeTypeName != null)
        {
            GenericUpgrade upgrade = (GenericUpgrade)Activator.CreateInstance(Type.GetType(AllUpgrades.Find(n => n.UpgradeNameWithCost == upgradeKey).UpgradeTypeName));
            return(upgrade.ImageUrl);
        }
        return(null);
    }
Example #6
0
        private static void ShowAvailableUpgrades(UpgradeSlot slot)
        {
            availableUpgradesCounter = 0;

            List <UpgradeRecord> filteredUpgrades = AllUpgrades.Where(n => n.Instance.hasType(slot.Type) && n.Instance.IsAllowedForShip(CurrentSquadBuilderShip.Instance) && n.Instance.HasEnoughSlotsInShip(CurrentSquadBuilderShip.Instance)).ToList();
            int filteredUpgradesCount             = filteredUpgrades.Count;

            Transform contentTransform = GameObject.Find("UI/Panels/SelectUpgradePanel/Panel/Scroll View/Viewport/Content").transform;

            DestroyChildren(contentTransform);
            contentTransform.localPosition = new Vector3(0, contentTransform.localPosition.y, contentTransform.localPosition.z);
            contentTransform.GetComponent <RectTransform>().sizeDelta = new Vector2(filteredUpgradesCount * (UPGRADE_CARD_WIDTH + DISTANCE_MEDIUM) + 2 * DISTANCE_MEDIUM, 0);

            foreach (UpgradeRecord upgrade in filteredUpgrades)
            {
                ShowAvailableUpgrade(upgrade);
            }
        }
Example #7
0
        private static void ShowAvailableUpgrade(UpgradeRecord upgrade)
        {
            GameObject prefab           = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
            Transform  contentTransform = GameObject.Find("UI/Panels/SelectUpgradePanel/Panel/Scroll View/Viewport/Content").transform;
            GameObject newUpgradePanel  = MonoBehaviour.Instantiate(prefab, contentTransform);

            string         upgradeType = AllUpgrades.Find(n => n.UpgradeName == upgrade.UpgradeName).UpgradeTypeName;
            GenericUpgrade newUpgrade  = (GenericUpgrade)System.Activator.CreateInstance(Type.GetType(upgradeType));

            UpgradePanelSquadBuilder script = newUpgradePanel.GetComponent <UpgradePanelSquadBuilder>();

            script.Initialize(upgrade.UpgradeName, CurrentUpgradeSlot, newUpgrade, SelectUpgradeClicked, true);

            int column = availableUpgradesCounter;

            newUpgradePanel.transform.localPosition = new Vector3(DISTANCE_MEDIUM + (UPGRADE_CARD_WIDTH + DISTANCE_MEDIUM) * column, UPGRADE_CARD_HEIGHT / 2, 0);

            availableUpgradesCounter++;
        }
Example #8
0
    // Update Costs

    private static void UpdateShipCost(PlayerNo playerNo, GameObject panel)
    {
        int totalShipCost = 0;

        string pilotKey = panel.transform.Find("GroupShip/DropdownPilot").GetComponent <Dropdown>().captionText.text;

        Ship.GenericShip shipContainer = (Ship.GenericShip)Activator.CreateInstance(Type.GetType(AllPilots[pilotKey]));
        totalShipCost += shipContainer.Cost;

        foreach (Transform upgradePanel in panel.transform.Find("GroupUpgrades"))
        {
            string upgradeName = upgradePanel.transform.GetComponent <Dropdown>().captionText.text;

            if (AllUpgrades.ContainsKey(upgradeName))
            {
                Upgrade.GenericUpgrade upgradeContainer = (Upgrade.GenericUpgrade)Activator.CreateInstance(System.Type.GetType(AllUpgrades[upgradeName]));
                totalShipCost += upgradeContainer.Cost;
            }
        }

        panel.transform.Find("Panel/CostPanel").GetComponentInChildren <Text>().text = totalShipCost.ToString();
        UpdateSquadCost(playerNo);
    }