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++; }
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)); } } }
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); }
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++; }
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++; }
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++; }
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; }