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 CreateSlotsPanels()
        {
            UpgradeSlotPanels = new List <UpgradeSlotPanel>();
            foreach (UpgradeSlot slot in CurrentSquadBuilderShip.Instance.UpgradeBar.GetUpgradeSlots())
            {
                //Skip for slots with empty upgrade
                if (!slot.IsEmpty && slot.InstalledUpgrade.GetType() == typeof(UpgradesList.EmptyUpgrade))
                {
                    continue;
                }

                GameObject prefab           = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
                Transform  contentTransform = GameObject.Find("UI/Panels/ShipSlotsPanel/Panel/Centered/ShipWithSlotsHolderPanel/").transform;
                GameObject newUpgradePanel  = MonoBehaviour.Instantiate(prefab, contentTransform);

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

                if (slot.InstalledUpgrade == null)
                {
                    script.Initialize("Slot:" + slot.Type.ToString(), slot, null, OpenSelectUpgradeMenu);
                    UpgradeSlotPanels.Add(new UpgradeSlotPanel(null, slot.Type, newUpgradePanel));
                }
                else
                {
                    //script.Initialize(slot.InstalledUpgrade.Name, slot, slot.InstalledUpgrade, RemoveInstalledUpgrade);
                    script.Initialize(slot.InstalledUpgrade.Name, slot, slot.InstalledUpgrade, RemoveUpgradeClicked);
                    UpgradeSlotPanels.Add(new UpgradeSlotPanel(slot.InstalledUpgrade, slot.Type, newUpgradePanel));
                }
            }
        }
        private void CreateSlotsPanels()
        {
            UpgradeSlotPanels = new List <UpgradeSlotPanel>();
            UpgradePanelSquadBuilder.WaitingToLoad = 0;

            List <UpgradeSlot> availableSlots = Global.SquadBuilder.CurrentShip.Instance.UpgradeBar.GetUpgradeSlots().OrderBy(s => s.Type).ToList();

            foreach (UpgradeSlot slot in availableSlots)
            {
                //Skip for slots with empty upgrade
                if (!slot.IsEmpty && slot.InstalledUpgrade.GetType() == typeof(UpgradesList.EmptyUpgrade))
                {
                    continue;
                }

                GameObject prefab           = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
                Transform  contentTransform = GameObject.Find("UI/Panels/ShipSlotsPanel/Panel/ShipWithSlotsHolderPanel/").transform;
                GameObject newUpgradePanel  = MonoBehaviour.Instantiate(prefab, contentTransform);

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

                if (slot.InstalledUpgrade == null)
                {
                    script.Initialize("Slot:" + slot.Type.ToString(), slot, null, SquadBuilderView.OpenSelectUpgradeMenu, compact: true);
                    UpgradeSlotPanels.Add(new UpgradeSlotPanel(null, slot.Type, newUpgradePanel));
                }
                else
                {
                    script.Initialize(slot.InstalledUpgrade.UpgradeInfo.Name, slot, slot.InstalledUpgrade, RemoveUpgradeClicked, compact: true);
                    UpgradeSlotPanels.Add(new UpgradeSlotPanel(slot.InstalledUpgrade, slot.Type, newUpgradePanel));
                }
            }
        }
Example #4
0
        private void ShowConfigurationUpgrade()
        {
            GameObject prefab          = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
            GameObject newUpgradePanel = MonoBehaviour.Instantiate(prefab, Panel.transform);

            newUpgradePanel.transform.localPosition = new Vector2(0, 0);
            PilotPanel.transform.localPosition      = new Vector2(Edition.Current.UpgradeCardCompactSize.x, 0);

            GenericUpgrade           upgrade = Ship.Instance.UpgradeBar.GetInstalledUpgrade(UpgradeType.Configuration);
            UpgradePanelSquadBuilder script  = newUpgradePanel.GetComponent <UpgradePanelSquadBuilder>();

            script.Initialize(upgrade.UpgradeInfo.Name, null, upgrade, compact: true);
        }
Example #5
0
        private static void ShowUpgradeOfPilot(GenericUpgrade upgrade, SquadBuilderShip ship)
        {
            GameObject prefab           = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
            Transform  contentTransform = ship.Panel.Panel.transform;
            GameObject newUpgradePanel  = MonoBehaviour.Instantiate(prefab, contentTransform);

            RectTransform contentRect = contentTransform.GetComponent <RectTransform>();

            newUpgradePanel.transform.localPosition = new Vector2(PILOT_CARD_WIDTH + DISTANCE_SMALL + (UPGRADE_CARD_WIDTH + DISTANCE_SMALL) * availableUpgradesCounter, 0);
            ship.Panel.Size = contentRect.sizeDelta;

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

            script.Initialize(upgrade.Name, null, upgrade);

            availableUpgradesCounter++;
        }
Example #6
0
        private void ShowUpgradeOfPilot(GenericUpgrade upgrade, SquadListShip ship)
        {
            GameObject prefab          = (GameObject)Resources.Load("Prefabs/SquadBuilder/UpgradePanel", typeof(GameObject));
            GameObject newUpgradePanel = MonoBehaviour.Instantiate(prefab, Panel.transform);

            float configurationOffset = (HasConfigurationInstalled) ? Edition.Current.UpgradeCardCompactSize.x : 0;

            newUpgradePanel.transform.localPosition = new Vector2(
                configurationOffset + SquadBuilderView.PILOT_CARD_WIDTH + (Edition.Current.UpgradeCardCompactSize.x * AvailableUpgradesCounter),
                0
                );

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

            script.Initialize(upgrade.UpgradeInfo.Name, null, upgrade, compact: true);

            AvailableUpgradesCounter++;
        }
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
        private 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 = Global.SquadBuilder.Database.AllUpgrades.Find(n => n.UpgradeNameCanonical == upgrade.UpgradeNameCanonical && n.UpgradeType == upgrade.UpgradeType).UpgradeTypeName;
            GenericUpgrade newUpgrade  = (GenericUpgrade)System.Activator.CreateInstance(Type.GetType(upgradeType));

            if (newUpgrade is IVariableCost && Edition.Current is SecondEdition)
            {
                (newUpgrade as IVariableCost).UpdateCost(Global.SquadBuilder.CurrentShip.Instance);
                if (newUpgrade.UpgradeInfo.Cost == int.MaxValue)
                {
                    newUpgrade.IsHidden = true;
                }
            }
            Edition.Current.AdaptUpgradeToRules(newUpgrade);

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

            script.Initialize(upgrade.UpgradeName, Global.SquadBuilder.CurrentUpgradeSlot, newUpgrade, SelectUpgradeClicked, true);
            newUpgradePanel.name = upgrade.UpgradeName;
        }