public void OnDrop(PointerEventData eventData) { if (eventData.pointerDrag.tag == "NotDeployment") { switch (currentWindowID) { #region Mechs case 0: dragged = UnitDisplayPanelController.draggedUnit; scriptOfDraggedUnit = dragged.GetComponent <UnitDisplayPanelController>(); dragged.transform.position = dropPosition; dragged.GetComponent <UnitDisplayPanelController>().returnPosition = transform; dragged.GetComponent <UnitDisplayPanelController>().ReturnToOrigin(); if (!mechs.Contains(scriptOfDraggedUnit.thisPanelUnit)) { mechs.Add(scriptOfDraggedUnit.thisPanelUnit); otherPanel.GetComponent <StoreController>().mechs.Remove(scriptOfDraggedUnit.thisPanelUnit); otherPanel.GetComponent <StoreController>().SetWindow(currentWindowID); otherPanel.GetComponent <StoreController>().SetWindow(currentWindowID); SetWindow(currentWindowID); } if (isStore == true) { GameController.controller.money = GameController.controller.money + scriptOfDraggedUnit.unitCost; } else if (isStoreScreen == true && isInventory == true) { GameController.controller.money = GameController.controller.money - scriptOfDraggedUnit.unitCost; } break; #endregion #region Vehicles case 1: dragged = UnitDisplayPanelController.draggedUnit; scriptOfDraggedUnit = dragged.GetComponent <UnitDisplayPanelController>(); dragged.transform.position = dropPosition; dragged.GetComponent <UnitDisplayPanelController>().ReturnToOrigin(); if (!vehicles.Contains(scriptOfDraggedUnit.thisPanelUnit)) { vehicles.Add(scriptOfDraggedUnit.thisPanelUnit); otherPanel.GetComponent <StoreController>().vehicles.Remove(scriptOfDraggedUnit.thisPanelUnit); otherPanel.GetComponent <StoreController>().SetWindow(currentWindowID); SetWindow(currentWindowID); } if (isStore == true) { GameController.controller.money = GameController.controller.money + scriptOfDraggedUnit.unitCost; } else if (isStoreScreen == true && isInventory == true) { GameController.controller.money = GameController.controller.money - scriptOfDraggedUnit.unitCost; } break; #endregion #region Pilots case 2: dragged = PilotDisplayPanelController.draggedPilot; scriptOfDraggedPilot = dragged.GetComponent <PilotDisplayPanelController>(); dragged.transform.position = dropPosition; dragged.GetComponent <PilotDisplayPanelController>().ReturnToOrigin(); if (!pilots.Contains(scriptOfDraggedPilot.thisPanelPilot)) { pilots.Add(scriptOfDraggedPilot.thisPanelPilot); otherPanel.GetComponent <StoreController>().pilots.Remove(scriptOfDraggedPilot.thisPanelPilot); otherPanel.GetComponent <StoreController>().SetWindow(currentWindowID); SetWindow(currentWindowID); } if (isStore == true) { GameController.controller.money = GameController.controller.money + scriptOfDraggedPilot.unitCost; } else if (isStoreScreen == true && isInventory == true) { GameController.controller.money = GameController.controller.money - scriptOfDraggedPilot.unitCost; } break; #endregion #region Consumables case 3: dragged = ConsumableDisplayPanelController.draggedConsumable; scriptOfDraggedConsumable = dragged.GetComponent <ConsumableDisplayPanelController>(); dragged.transform.position = dropPosition; dragged.transform.SetParent(this.transform); if (!consumables.Contains(scriptOfDraggedConsumable.thisPanelConsumable)) { consumables.Add(scriptOfDraggedConsumable.thisPanelConsumable); otherPanel.GetComponent <StoreController>().consumables.Remove(scriptOfDraggedConsumable.thisPanelConsumable); otherPanel.GetComponent <StoreController>().SetWindow(currentWindowID); SetWindow(currentWindowID); } if (isStore == true) { GameController.controller.money = GameController.controller.money + scriptOfDraggedPilot.unitCost; } else if (isStoreScreen == true && isInventory == true) { GameController.controller.money = GameController.controller.money - scriptOfDraggedPilot.unitCost; } break; #endregion } } else { if (eventData.pointerDrag.GetComponent <DeploymentIconDragController>().thisPilot != null) { pilots.Add(eventData.pointerDrag.GetComponent <DeploymentIconDragController>().thisPilot); eventData.pointerDrag.GetComponent <DeploymentIconDragController>().previousSlot.assignedPilot = null; Destroy(eventData.pointerDrag); SetWindow(currentWindowID); } else if (eventData.pointerDrag.GetComponent <DeploymentIconDragController>().thisUnit != null) { mechs.Add(eventData.pointerDrag.GetComponent <DeploymentIconDragController>().thisUnit); eventData.pointerDrag.GetComponent <DeploymentIconDragController>().previousSlot.assignedVehicle = null; Destroy(eventData.pointerDrag); SetWindow(currentWindowID); } } }
public void SetWindow(int windowID) { int count; currentWindowID = windowID; if (!isDeployment) { switch (windowID) { #region Mech List case 0: foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (UnitClass b in mechs) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(unitPanel, transform, false); } else { currentInstantiate = Instantiate(deploymentPanel, transform, false); } UnitDisplayPanelController currentPanelClass = currentInstantiate.GetComponent <UnitDisplayPanelController>(); currentPanelClass.canvasTopLayer = canvasTopLayer; currentPanelClass.thisPanelUnit = b; currentPanelClass.unitName = b.unitName; currentPanelClass.unitCost = b.purchaseCost; currentPanelClass.unitTonnage = b.weight; currentPanelClass.iconFileName = b.iconFileName; currentPanelClass.parentPanel = this; currentPanelClass.returnPosition = transform; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } break; #endregion #region Vehicle List case 1: foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (UnitClass b in vehicles) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(unitPanel, transform, false); } else { currentInstantiate = Instantiate(deploymentPanel, transform, false); } UnitDisplayPanelController currentPanelClass = currentInstantiate.GetComponent <UnitDisplayPanelController>(); currentPanelClass.canvasTopLayer = canvasTopLayer; currentPanelClass.thisPanelUnit = b; currentPanelClass.unitName = b.unitName; currentPanelClass.unitCost = b.purchaseCost; currentPanelClass.unitTonnage = b.weight; currentPanelClass.iconFileName = b.iconFileName; currentPanelClass.parentPanel = this; currentPanelClass.returnPosition = transform; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } break; #endregion #region Pilot List case 2: foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (PilotClass b in pilots) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(pilotPanel, transform, false); } else { currentInstantiate = Instantiate(deploymentPanel, transform, false); } PilotDisplayPanelController currentPilotPanelClass = currentInstantiate.GetComponent <PilotDisplayPanelController>(); currentPilotPanelClass.canvasTopLayer = canvasTopLayer; currentPilotPanelClass.thisPanelPilot = b; currentPilotPanelClass.pilotName = b.pilotName; currentPilotPanelClass.unitCost = b.purchaseCost; currentPilotPanelClass.unitRank = b.rank; currentPilotPanelClass.iconFileName = b.iconFileName; currentPilotPanelClass.parentPanel = this; currentPilotPanelClass.returnPosition = transform; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } break; #endregion #region Consumable List case 3: foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (ConsumableClass b in consumables) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(consumablePanel, transform, false); } ConsumableDisplayPanelController currentConsumablePanelClass = currentInstantiate.GetComponent <ConsumableDisplayPanelController>(); currentConsumablePanelClass.canvasTopLayer = canvasTopLayer; currentConsumablePanelClass.thisPanelConsumable = b; currentConsumablePanelClass.consumableName = b.consumableName; currentConsumablePanelClass.consumableCost = b.purchaseCost; currentConsumablePanelClass.iconFileName = b.iconFileName; currentConsumablePanelClass.parentPanel = this; currentConsumablePanelClass.returnPosition = transform; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } break; #endregion #region case4 case 4: foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (UnitClass b in mechs) { count++; currentInstantiate = Instantiate(unitPanel, transform, false); UnitDisplayPanelController currentPanelClass = currentInstantiate.GetComponent <UnitDisplayPanelController>(); currentPanelClass.thisPanelUnit = b; currentPanelClass.unitName = b.unitName; currentPanelClass.unitCost = b.purchaseCost; currentPanelClass.unitTonnage = b.weight; currentPanelClass.iconFileName = b.iconFileName; currentPanelClass.parentPanel = this; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } break; #endregion } } else { #region Deployment Mechs foreach (GameObject c in thisDisplayList) { Destroy(c); } thisDisplayList = new List <GameObject>(); count = 0; foreach (UnitClass b in mechs) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(unitPanel, transform, false); } else { currentInstantiate = Instantiate(deploymentPanel, transform, false); } UnitDisplayPanelController currentPanelClass = currentInstantiate.GetComponent <UnitDisplayPanelController>(); currentPanelClass.canvasTopLayer = canvasTopLayer; currentPanelClass.thisPanelUnit = b; currentPanelClass.unitName = b.unitName; currentPanelClass.unitCost = b.purchaseCost; currentPanelClass.unitTonnage = b.weight; currentPanelClass.iconFileName = b.iconFileName; currentPanelClass.parentPanel = this; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } #endregion #region Deployment Vehicles foreach (UnitClass b in vehicles) { count++; if (isDeployment == false) { currentInstantiate = Instantiate(unitPanel, transform, false); } else { currentInstantiate = Instantiate(deploymentPanel, transform, false); } UnitDisplayPanelController currentPanelClass = currentInstantiate.GetComponent <UnitDisplayPanelController>(); currentPanelClass.canvasTopLayer = canvasTopLayer; currentPanelClass.thisPanelUnit = b; currentPanelClass.unitName = b.unitName; currentPanelClass.unitCost = b.purchaseCost; currentPanelClass.unitTonnage = b.weight; currentPanelClass.iconFileName = b.iconFileName; currentPanelClass.parentPanel = this; thisDisplayList.Add(currentInstantiate); } if (count > maxPanelsOnScreen) { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (count * 100) + 10); } else { this.GetComponent <RectTransform>().sizeDelta = new Vector2(0, (maxPanelsOnScreen * 100) + 10); } #endregion } }