Exemplo n.º 1
0
 public void arsenalLeftClick(CargoItemSlot cargoItemSlot)
 {
     if (cargoItemSlot.CargoItem is TurretDescription)
     {
         unequipTurret((TurretDescription)cargoItemSlot.CargoItem, cargoItemSlot.slotId);
     }
 }
Exemplo n.º 2
0
    /*private void equipTurretToUpgrader(CargoItemSlot cargoItemSlot)
     * {
     *  TurretDescritpion turretToEquip = cargoItemSlot.CargoItem as TurretDescritpion;
     *  if(turretToEquip != null)
     *  {
     *      equipTurretToUpgrader(turretToEquip);
     *  }
     * }
     *
     * public void equipTurretToUpgrader(TurretDescritpion turret)
     * {
     *  upgraderPanel.addTurret(turret);
     *
     *  upgraderPanel.turretName.text = turret.name;
     *  upgraderPanel.damageValue.text = "" + turret.actualDamage;
     *  upgraderPanel.healthValue.text = "" + turret.actualHealth;
     *  upgraderPanel.shotBySalveValue.text = turret.actualShotsPerSalve + " x " + turret.actualNbrOfSalve;
     *  upgraderPanel.cooldownValue.text = "" + turret.actualCooldown;
     *  upgraderPanel.speedValue.text = "" + turret.actualSpeed;
     *
     *  upgraderPanel.turretType.text = "" + turret.turretType;
     *  upgraderPanel.projectileType.text = "" + turret.projectileType;
     *  upgraderPanel.modifierType.text = "" + turret.modifierPrimaryType;
     * }*/

    public void cargoLeftClick(CargoItemSlot cargoItemSlot)
    {
        if (cargoItemSlot.CargoItem is TurretDescription)
        {
            equipTurretToArsenal((TurretDescription)cargoItemSlot.CargoItem);
        }
    }
Exemplo n.º 3
0
 private void beginDrag(CargoItemSlot cargoItemSlot)
 {
     if (cargoItemSlot.CargoItem != null && !cargoItemSlot.isUsed && !cargoItemSlot.isLocked)
     {
         draggedSlot                      = cargoItemSlot;
         dragableImage.sprite             = cargoItemSlot.turretImage.sprite;
         dragableImage.transform.position = Input.mousePosition;
         dragableImage.enabled            = true;
         dragableImage.SetNativeSize();
     }
 }
Exemplo n.º 4
0
    private void drop(CargoItemSlot dropCargoItemSlot)
    {
        if (draggedSlot != null)
        {
            TurretDescription dragItem = draggedSlot.CargoItem as TurretDescription;       //item dragged by the player
            TurretDescription dropItem = dropCargoItemSlot.CargoItem as TurretDescription; //item present or not in the cargoItemSlot

            int slotIdDraggedItem = -1;

            //We want to know the slotId of the dragged item, and if its a cargo or an arsenal slot
            if (dragItem.slotName == SlotName.Arsenal) //Turret Slot
            {
                //Get slotId of the turret to unequip from arsenal
                slotIdDraggedItem = dragItem.arsenalId;
            }
            else if (dragItem.slotName == SlotName.Cargo) //Cargo Slot
            {
                //Get slotId of the turret to unequip from cargo
                slotIdDraggedItem = dragItem.cargoId;
            }
            //Debug.Log(slotIdDraggedItem);


            //Case 1 : drop item in empty arsenal slot (OK)
            if (dropCargoItemSlot is TurretSlot && dragItem != null && dropItem == null)
            {
                if (dragItem is TurretDescription)           //if dragged is a turret
                {
                    if ((draggedSlot as TurretSlot) != null) //if dragged item come from arsenal (OK)
                    {
                        //Switch turrets
                        dragItem.unequipTurret(this, draggedSlot.slotId);
                        dragItem.equipTurret(this, dropCargoItemSlot.slotId); //equip dragTurret in arsenal slot

                        //Switch hidders
                        (draggedSlot as TurretSlot).hidderEmpty.SetActive(true);
                        (dropCargoItemSlot as TurretSlot).hidderEmpty.SetActive(false);

                        //Switch visual
                        dropCargoItemSlot.CargoItem = draggedSlot.CargoItem;
                        draggedSlot.CargoItem       = null;

                        //Update id
                        (dropCargoItemSlot as TurretSlot).cargoId = (draggedSlot as TurretSlot).cargoId;
                        (draggedSlot as TurretSlot).cargoId       = -1;

                        //Update price
                        (dropCargoItemSlot as TurretSlot).updateUpgradePrice(dragItem.actualUpgradePriceScraps, dragItem.actualUpgradePriceEnergyCore);
                        (draggedSlot as TurretSlot).updateUpgradePrice(dropItem.actualUpgradePriceScraps, dropItem.actualUpgradePriceEnergyCore);
                    }
                    else //if dragged item come from cargo
                    {
                        dragItem.equipTurret(this, dropCargoItemSlot.slotId);

                        //Switch hidders
                        (dropCargoItemSlot as TurretSlot).hidderEmpty.SetActive(false);
                        draggedSlot.isUsed = true;
                        draggedSlot.manageHidders();

                        //Switch visual
                        dropCargoItemSlot.CargoItem = draggedSlot.CargoItem;

                        //Update id
                        (dropCargoItemSlot as TurretSlot).cargoId = draggedSlot.slotId;

                        //Update price
                        (dropCargoItemSlot as TurretSlot).updateUpgradePrice(dragItem.actualUpgradePriceScraps, dragItem.actualUpgradePriceEnergyCore);
                    }
                }
            }

            //Case 2 : drop item in occupied arsenal slot (OK)
            if (dropCargoItemSlot is TurretSlot && dragItem != null && dropItem != null && draggedSlot != dropCargoItemSlot)
            {
                if (dragItem is TurretDescription)           //if dragged is a turret
                {
                    if ((draggedSlot as TurretSlot) != null) //if dragged item come from arsenal (OK)
                    {
                        dragItem.unequipTurret(this, draggedSlot.slotId);
                        dropItem.unequipTurret(this, dropCargoItemSlot.slotId);

                        dragItem.equipTurret(this, dropCargoItemSlot.slotId);
                        dropItem.equipTurret(this, draggedSlot.slotId);

                        //Switch items
                        CargoItem draggedItem = draggedSlot.CargoItem;
                        draggedSlot.CargoItem       = dropCargoItemSlot.CargoItem;
                        dropCargoItemSlot.CargoItem = draggedItem;

                        //Update price
                        (dropCargoItemSlot as TurretSlot).updateUpgradePrice(dragItem.actualUpgradePriceScraps, dragItem.actualUpgradePriceEnergyCore);
                        (draggedSlot as TurretSlot).updateUpgradePrice(dropItem.actualUpgradePriceScraps, dropItem.actualUpgradePriceEnergyCore);
                    }
                    else if (!draggedSlot.isUsed)                               //if dragged item come from cargo and its not an already used turret (OK)
                    {
                        dropItem.unequipTurret(this, dropCargoItemSlot.slotId); //unequip turret in arsenal slot
                        dragItem.equipTurret(this, dropCargoItemSlot.slotId);   //equip dragTurret in arsenal slot

                        //Send dropItem item back to its cargo slot
                        cargo.itemSlots[(dropCargoItemSlot as TurretSlot).cargoId].isUsed = false;
                        cargo.itemSlots[draggedSlot.slotId].isUsed = true;
                        cargo.itemSlots[(dropCargoItemSlot as TurretSlot).cargoId].manageHidders();
                        cargo.itemSlots[draggedSlot.slotId].manageHidders();

                        //Change item in arsenal slot
                        dropCargoItemSlot.CargoItem = draggedSlot.CargoItem;

                        //Set slot id in arsenal slot according to the new turret
                        (dropCargoItemSlot as TurretSlot).cargoId = draggedSlot.slotId;

                        //Update price
                        (dropCargoItemSlot as TurretSlot).updateUpgradePrice(dragItem.actualUpgradePriceScraps, dragItem.actualUpgradePriceEnergyCore);

                        dropItem.cargoId = dropCargoItemSlot.slotId;
                    }
                }
            }

            /*//Case 3 : drop item in empty cargo slot (OK)
             * if (!(dropCargoItemSlot is TurretSlot) && dragItem != null && dropItem == null)
             * {
             *  Debug.Log("Case 3");
             *  if (dragItem is TurretDescritpion) //if dragged is a turret
             *  {
             *      if ((dragItem as TurretDescritpion).slotName == SlotName.Arsenal) //if dragged item come from arsenal (OK)
             *      {
             *          dragItem.unequipTurret(this, slotIdDraggedItem);
             *          dragItem.cargoId = dropCargoItemSlot.slotId; ;
             *      }
             *      else if ((dragItem as TurretDescritpion).slotName == SlotName.Cargo) //if dragged item come from cargo (OK)
             *      {
             *          dragItem.cargoId = dropCargoItemSlot.slotId;
             *      }
             *  }
             * }*/

            /*//Case 4 : drop item in occupied cargo slot (OK)
             * if (!(dropCargoItemSlot is TurretSlot) && dragItem != null && dropItem != null)
             * {
             *  Debug.Log("Case 4");
             *  if (dragItem is TurretDescritpion) //if dragged is a turret
             *  {
             *      if ((dragItem as TurretDescritpion).slotName == SlotName.Arsenal) //if dragged item come from arsenal (OK)
             *      {
             *          dragItem.unequipTurret(this, slotIdDraggedItem); //unequip drag Turret from arsenal slot
             *          dropItem.equipTurret(this, slotIdDraggedItem); //equip drop Turret from cargo in arsenal slot
             *
             *          dragItem.cargoId = dropCargoItemSlot.slotId;
             *      }
             *      else if ((dragItem as TurretDescritpion).slotName == SlotName.Cargo) //if dragged item come from cargo (OK)
             *      {
             *          dragItem.cargoId = dropCargoItemSlot.slotId;
             *          dropItem.cargoId = slotIdDraggedItem;
             *      }
             *  }
             * }*/

            //Case 4 : drop item in occupied cargo slot (Ok)
            if (!(dropCargoItemSlot is TurretSlot) && dragItem != null && dropItem != null)
            {
                if (dragItem is TurretDescription && (draggedSlot as TurretSlot) != null)                            //if dragged is a turret
                {
                    if ((draggedSlot as TurretSlot).cargoId == dropCargoItemSlot.slotId && dropCargoItemSlot.isUsed) //if cargo slot is the origin slot of the dragged item, then the turret become empty
                    {
                        dragItem.unequipTurret(this, draggedSlot.slotId);                                            //unequip drag Turret from arsenal slot

                        //Switch hidder
                        cargo.itemSlots[(draggedSlot as TurretSlot).cargoId].isUsed = false;
                        cargo.itemSlots[(draggedSlot as TurretSlot).cargoId].manageHidders();
                        (draggedSlot as TurretSlot).hidderEmpty.SetActive(true);

                        //Set slot id in arsenal slot to empty
                        (draggedSlot as TurretSlot).cargoId = -1;

                        //Empty arsenal slot
                        draggedSlot.CargoItem = null;

                        //Update price
                        (draggedSlot as TurretSlot).updateUpgradePrice(-1, -1);
                    }
                    else if (!dropCargoItemSlot.isUsed)
                    {
                        dragItem.unequipTurret(this, draggedSlot.slotId); //unequip drag Turret from arsenal slot
                        dropItem.equipTurret(this, draggedSlot.slotId);   //equip drop Turret from cargo in arsenal slot

                        //Switch hidder
                        cargo.itemSlots[(draggedSlot as TurretSlot).cargoId].isUsed = false;
                        cargo.itemSlots[(draggedSlot as TurretSlot).cargoId].manageHidders();
                        dropCargoItemSlot.isUsed = true;
                        dropCargoItemSlot.manageHidders();

                        //Change item in arsenal slot
                        draggedSlot.CargoItem = dropCargoItemSlot.CargoItem;

                        //Set slot id in arsenal slot according to the new turret
                        (draggedSlot as TurretSlot).cargoId = dropCargoItemSlot.slotId;

                        //Update price
                        (draggedSlot as TurretSlot).updateUpgradePrice(dropItem.actualUpgradePriceScraps, dropItem.actualUpgradePriceEnergyCore);
                    }

                    dragItem.cargoId = dropCargoItemSlot.slotId;
                }
            }

            /*
             * if (dragItem is TurretDescritpion)
             * {
             *  Debug.Log("DragItem");
             *  if (dragItem != null) dragItem.unequipTurret(this);
             *  if (dropItem != null) dragItem.equipTurret(this, dropCargoItemSlot.slotId);
             * }
             * if (dropItem is TurretDescritpion)
             * {
             *  Debug.Log("DropItem");
             *  if (dragItem != null) dragItem.equipTurret(this, dropCargoItemSlot.slotId);
             *  if (dropItem != null) dragItem.unequipTurret(this);
             * }*/

            //Reverse items positions

            /*CargoItem draggedItem = draggedSlot.CargoItem;
             * draggedSlot.CargoItem = dropCargoItemSlot.CargoItem;
             * dropCargoItemSlot.CargoItem = draggedItem;*/
        }
    }
Exemplo n.º 5
0
 private void drag(CargoItemSlot cargoItemSlot)
 {
     Debug.Log(Input.mousePosition);
     dragableImage.transform.position = Input.mousePosition;
 }
Exemplo n.º 6
0
 private void endDrag(CargoItemSlot cargoItemSlot)
 {
     dragableImage.enabled = false;
 }