コード例 #1
0
    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);
            }
        }
    }
コード例 #2
0
    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
        }
    }