Ejemplo n.º 1
0
    public void SetEquipmentStatus()
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        //Reset Power of Current Weapon & Armor
        player.GetComponent <StatusC>().addAtk       = 0;
        player.GetComponent <StatusC>().addDef       = 0;
        player.GetComponent <StatusC>().addMatk      = 0;
        player.GetComponent <StatusC>().addMdef      = 0;
        player.GetComponent <StatusC>().weaponAtk    = 0;
        player.GetComponent <StatusC>().weaponMatk   = 0;
        player.GetComponent <StatusC>().addHPpercent = 0;
        player.GetComponent <StatusC>().addMPpercent = 0;
        //Set New Variable of Weapon
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[weaponEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[weaponEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[weaponEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[weaponEquip].magicDefense;
        //Set New Variable of Armor
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[armorEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[armorEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[armorEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[armorEquip].magicDefense;

        player.GetComponent <StatusC>().CalculateStatus();
    }
Ejemplo n.º 2
0
    public void UseItem(int slot)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        int       id       = itemSlot[slot];

        if (dataItem.usableItem[id].unusable)
        {
            return;
        }
        GetComponent <StatusC>().Heal(dataItem.usableItem[id].hpRecover, dataItem.usableItem[id].mpRecover);
        GetComponent <StatusC>().atk  += dataItem.usableItem[id].atkPlus;
        GetComponent <StatusC>().def  += dataItem.usableItem[id].defPlus;
        GetComponent <StatusC>().matk += dataItem.usableItem[id].matkPlus;
        GetComponent <StatusC>().mdef += dataItem.usableItem[id].mdefPlus;
        if (dataItem.usableItem[id].sendMsg != "")
        {
            SendMessage(dataItem.usableItem[id].sendMsg, SendMessageOptions.DontRequireReceiver);
        }
        itemQuantity[slot]--;
        if (itemQuantity[slot] <= 0)
        {
            itemSlot[slot]     = 0;
            itemQuantity[slot] = 0;
        }
        AutoSortItem();
    }
Ejemplo n.º 3
0
    //private string hover = "";

    void  Start()
    {
        if (!player)
        {
            player = this.gameObject;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        //Reset Power of Current Weapon & Armor
        player.GetComponent <StatusC>().addAtk     = 0;
        player.GetComponent <StatusC>().addDef     = 0;
        player.GetComponent <StatusC>().addMatk    = 0;
        player.GetComponent <StatusC>().addMdef    = 0;
        player.GetComponent <StatusC>().weaponAtk  = 0;
        player.GetComponent <StatusC>().weaponMatk = 0;
        //Set New Variable of Weapon
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[weaponEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[weaponEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[weaponEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[weaponEquip].magicDefense;
        //Set New Variable of Armor
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[armorEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[armorEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[armorEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[armorEquip].magicDefense;
        player.GetComponent <StatusC>().CalculateStatus();
    }
Ejemplo n.º 4
0
    void  AssignMecanimAnimation(int id)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if (dataItem.equipment[id].EquipmentType == 0)
        {
            int watk = (int)dataItem.equipment[id].whileAttack;
            player.GetComponent <AttackTriggerC>().WhileAttackSet(watk);
            //Assign Attack Speed
            player.GetComponent <AttackTriggerC>().attackSpeed = dataItem.equipment[id].attackSpeed;
            player.GetComponent <AttackTriggerC>().atkDelay1   = dataItem.equipment[id].attackDelay;
            //Set Weapon Type ID to Mecanim Animator and Set New Idle
            player.GetComponent <PlayerMecanimAnimationC>().SetWeaponType(dataItem.equipment[id].weaponType, dataItem.equipment[id].idleAnimation.name);

            int allPrefab = dataItem.equipment[id].attackCombo.Length;
            player.GetComponent <AttackTriggerC>().attackCombo = new AnimationClip[allPrefab];

            //Set Attack Animation
            int a = 0;
            if (allPrefab > 0)
            {
                while (a < allPrefab)
                {
                    player.GetComponent <AttackTriggerC>().attackCombo[a] = dataItem.equipment[id].attackCombo[a];
                    a++;
                }
            }
        }
    }
Ejemplo n.º 5
0
    // Token: 0x060003A6 RID: 934 RVA: 0x00014818 File Offset: 0x00012C18
    public void UnEquip(int id)
    {
        ItemDataC component = this.database.GetComponent <ItemDataC>();

        if (!this.player)
        {
            this.player = base.gameObject;
        }
        bool flag;

        if (component.equipment[id].model && this.weapon.Length > 0 && this.weapon[0] != null)
        {
            flag = this.AddEquipment(this.weaponEquip);
        }
        else
        {
            flag = this.AddEquipment(this.armorEquip);
        }
        if (!flag)
        {
            if (component.equipment[id].model && this.weapon.Length > 0 && this.weapon[0] != null)
            {
                this.weaponEquip = 0;
                this.player.GetComponent <AttackTriggerC>().attackPrefab = this.fistPrefab.transform;
                if (this.weapon.Length > 0 && this.weapon[0] != null)
                {
                    int num  = this.weapon.Length;
                    int num2 = 0;
                    if (num > 0)
                    {
                        while (num2 < num && this.weapon[num2])
                        {
                            this.weapon[num2].SetActive(false);
                            num2++;
                        }
                    }
                }
            }
            else
            {
                this.armorEquip = 0;
            }
            this.player.GetComponent <StatusC>().addAtk      = 0;
            this.player.GetComponent <StatusC>().addDef      = 0;
            this.player.GetComponent <StatusC>().addMatk     = 0;
            this.player.GetComponent <StatusC>().addMdef     = 0;
            this.player.GetComponent <StatusC>().weaponAtk   = 0;
            this.player.GetComponent <StatusC>().weaponMatk  = 0;
            this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.weaponEquip].attack;
            this.player.GetComponent <StatusC>().addDef     += component.equipment[this.weaponEquip].defense;
            this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.weaponEquip].magicAttack;
            this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.weaponEquip].magicDefense;
            this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.armorEquip].attack;
            this.player.GetComponent <StatusC>().addDef     += component.equipment[this.armorEquip].defense;
            this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.armorEquip].magicAttack;
            this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.armorEquip].magicDefense;
        }
    }
Ejemplo n.º 6
0
    void Start()
    {
        originalRect = windowRect;
        dataItem     = database.GetComponent <ItemDataC>();

        /*itemQuantity = player.GetComponent<Inventory>().itemQuantity;
         * cash = player.GetComponent<Inventory>().cash;
         * itemSlot = player.GetComponent<Inventory>().itemSlot;
         * equipment = player.GetComponent<Inventory>().equipment;*/
    }
Ejemplo n.º 7
0
    // Token: 0x060003AE RID: 942 RVA: 0x000167D8 File Offset: 0x00014BD8
    private void AssignWeaponAnimation(int id)
    {
        ItemDataC        component  = this.database.GetComponent <ItemDataC>();
        PlayerAnimationC component2 = this.player.GetComponent <PlayerAnimationC>();

        if (!component2)
        {
            this.AssignMecanimAnimation(id);
            return;
        }
        if (component.equipment[id].attackCombo.Length > 0 && component.equipment[id].attackCombo[0] != null && component.equipment[id].EquipmentType == ItemDataC.Equip.EqType.Weapon)
        {
            int num = component.equipment[id].attackCombo.Length;
            this.player.GetComponent <AttackTriggerC>().attackCombo = new AnimationClip[num];
            int i = 0;
            if (num > 0)
            {
                while (i < num)
                {
                    this.player.GetComponent <AttackTriggerC>().attackCombo[i] = component.equipment[id].attackCombo[i];
                    this.player.GetComponent <AttackTriggerC>().mainModel.GetComponent <Animation>()[component.equipment[id].attackCombo[i].name].layer = 15;
                    i++;
                }
            }
            int whileAttack = (int)component.equipment[id].whileAttack;
            this.player.GetComponent <AttackTriggerC>().WhileAttackSet(whileAttack);
            this.player.GetComponent <AttackTriggerC>().attackSpeed = component.equipment[id].attackSpeed;
            this.player.GetComponent <AttackTriggerC>().atkDelay1   = component.equipment[id].attackDelay;
        }
        if (component.equipment[id].idleAnimation)
        {
            this.player.GetComponent <PlayerAnimationC>().idle = component.equipment[id].idleAnimation;
        }
        if (component.equipment[id].runAnimation)
        {
            component2.run = component.equipment[id].runAnimation;
        }
        if (component.equipment[id].rightAnimation)
        {
            component2.right = component.equipment[id].rightAnimation;
        }
        if (component.equipment[id].leftAnimation)
        {
            component2.left = component.equipment[id].leftAnimation;
        }
        if (component.equipment[id].backAnimation)
        {
            component2.back = component.equipment[id].backAnimation;
        }
        if (component.equipment[id].jumpAnimation)
        {
            this.player.GetComponent <PlayerAnimationC>().jump = component.equipment[id].jumpAnimation;
        }
        component2.AnimationSpeedSet();
    }
Ejemplo n.º 8
0
    void  AssignWeaponAnimation(int id)
    {
        ItemDataC        dataItem   = database.GetComponent <ItemDataC>();
        PlayerAnimationC playerAnim = player.GetComponent <PlayerAnimationC>();

        //Assign All Attack Combo Animation of the weapon from Database
        if (dataItem.equipment[id].attackCombo.Length > 0 && dataItem.equipment[id].attackCombo[0] != null && dataItem.equipment[id].EquipmentType == 0)
        {
            int allPrefab = dataItem.equipment[id].attackCombo.Length;
            player.GetComponent <AttackTriggerC>().attackCombo = new AnimationClip[allPrefab];

            int a = 0;
            if (allPrefab > 0)
            {
                while (a < allPrefab)
                {
                    player.GetComponent <AttackTriggerC>().attackCombo[a] = dataItem.equipment[id].attackCombo[a];
                    player.GetComponent <AttackTriggerC>().mainModel.animation[dataItem.equipment[id].attackCombo[a].name].layer = 15;
                    a++;
                }
            }
            int watk = (int)dataItem.equipment[id].whileAttack;
            player.GetComponent <AttackTriggerC>().WhileAttackSet(watk);
            //Assign Attack Speed
            player.GetComponent <AttackTriggerC>().attackSpeed = dataItem.equipment[id].attackSpeed;
            player.GetComponent <AttackTriggerC>().atkDelay1   = dataItem.equipment[id].attackDelay;
        }

        if (dataItem.equipment[id].idleAnimation)
        {
            player.GetComponent <PlayerAnimationC>().idle = dataItem.equipment[id].idleAnimation;
        }
        if (dataItem.equipment[id].runAnimation)
        {
            playerAnim.run = dataItem.equipment[id].runAnimation;
        }
        if (dataItem.equipment[id].rightAnimation)
        {
            playerAnim.right = dataItem.equipment[id].rightAnimation;
        }
        if (dataItem.equipment[id].leftAnimation)
        {
            playerAnim.left = dataItem.equipment[id].leftAnimation;
        }
        if (dataItem.equipment[id].backAnimation)
        {
            playerAnim.back = dataItem.equipment[id].backAnimation;
        }
        if (dataItem.equipment[id].jumpAnimation)
        {
            player.GetComponent <PlayerAnimationC>().jump = dataItem.equipment[id].jumpAnimation;
        }
        playerAnim.AnimationSpeedSet();
    }
Ejemplo n.º 9
0
    // Token: 0x060003A3 RID: 931 RVA: 0x0001425C File Offset: 0x0001265C
    public void UseItem(int id)
    {
        ItemDataC component = this.database.GetComponent <ItemDataC>();

        this.player.GetComponent <StatusC>().Heal(component.usableItem[id].hpRecover, component.usableItem[id].mpRecover);
        this.player.GetComponent <StatusC>().atk  += component.usableItem[id].atkPlus;
        this.player.GetComponent <StatusC>().def  += component.usableItem[id].defPlus;
        this.player.GetComponent <StatusC>().matk += component.usableItem[id].matkPlus;
        this.player.GetComponent <StatusC>().mdef += component.usableItem[id].mdefPlus;
        this.AutoSortItem();
    }
Ejemplo n.º 10
0
    void  Start()
    {
        if (!player)
        {
            player = GameObject.FindWithTag("Player");
        }
        itemdb  = itemDatabase.GetComponent <ItemDataC>();
        craftdb = craftingDatabase.GetComponent <CraftingDataC>();

        GetCraftingData();
        //uiPage = 1;
    }
Ejemplo n.º 11
0
    public void  UseItem(int id)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        player.GetComponent <StatusC>().Heal(dataItem.usableItem[id].hpRecover, dataItem.usableItem[id].mpRecover);
        player.GetComponent <StatusC>().atk  += dataItem.usableItem[id].atkPlus;
        player.GetComponent <StatusC>().def  += dataItem.usableItem[id].defPlus;
        player.GetComponent <StatusC>().matk += dataItem.usableItem[id].matkPlus;
        player.GetComponent <StatusC>().mdef += dataItem.usableItem[id].mdefPlus;

        AutoSortItem();
    }
Ejemplo n.º 12
0
    void SettingEquipmentStatus()
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        StatusC   stat     = GetComponent <StatusC>();

        //Reset Power of Current Weapon & Armor
        //Set New Variable of Weapon
        stat.weaponAtk  = dataItem.equipment[weaponEquip].attack;
        stat.addDef     = dataItem.equipment[weaponEquip].defense;
        stat.weaponMatk = dataItem.equipment[weaponEquip].magicAttack;
        stat.addMdef    = dataItem.equipment[weaponEquip].magicDefense;
        stat.addHP      = dataItem.equipment[weaponEquip].hpBonus;
        stat.addMP      = dataItem.equipment[weaponEquip].mpBonus;
        //Set New Variable of Armor
        stat.weaponAtk  += dataItem.equipment[armorEquip].attack;
        stat.addDef     += dataItem.equipment[armorEquip].defense;
        stat.weaponMatk += dataItem.equipment[armorEquip].magicAttack;
        stat.addMdef    += dataItem.equipment[armorEquip].magicDefense;
        stat.addHP      += dataItem.equipment[armorEquip].hpBonus;
        stat.addMP      += dataItem.equipment[armorEquip].mpBonus;
        //Set New Variable of Accessory
        stat.weaponAtk  += dataItem.equipment[accessoryEquip].attack;
        stat.addDef     += dataItem.equipment[accessoryEquip].defense;
        stat.weaponMatk += dataItem.equipment[accessoryEquip].magicAttack;
        stat.addMdef    += dataItem.equipment[accessoryEquip].magicDefense;
        stat.addHP      += dataItem.equipment[accessoryEquip].hpBonus;
        stat.addMP      += dataItem.equipment[accessoryEquip].mpBonus;
        //Status Resist
        stat.eqResist.poisonResist  = dataItem.equipment[weaponEquip].statusResist.poisonResist + dataItem.equipment[armorEquip].statusResist.poisonResist + dataItem.equipment[accessoryEquip].statusResist.poisonResist;
        stat.eqResist.stunResist    = dataItem.equipment[weaponEquip].statusResist.stunResist + dataItem.equipment[armorEquip].statusResist.stunResist + dataItem.equipment[accessoryEquip].statusResist.stunResist;
        stat.eqResist.silenceResist = dataItem.equipment[weaponEquip].statusResist.silenceResist + dataItem.equipment[armorEquip].statusResist.silenceResist + dataItem.equipment[accessoryEquip].statusResist.silenceResist;
        stat.eqResist.webResist     = dataItem.equipment[weaponEquip].statusResist.webResist + dataItem.equipment[armorEquip].statusResist.webResist + dataItem.equipment[accessoryEquip].statusResist.webResist;

        stat.hiddenStatus.doubleJump = false;
        if (dataItem.equipment[weaponEquip].canDoubleJump)
        {
            stat.hiddenStatus.doubleJump = true;
        }
        if (dataItem.equipment[armorEquip].canDoubleJump)
        {
            stat.hiddenStatus.doubleJump = true;
        }
        if (dataItem.equipment[accessoryEquip].canDoubleJump)
        {
            stat.hiddenStatus.doubleJump = true;
        }
        stat.hiddenStatus.autoGuard  = dataItem.equipment[weaponEquip].autoGuard + dataItem.equipment[armorEquip].autoGuard + dataItem.equipment[accessoryEquip].autoGuard;
        stat.hiddenStatus.drainTouch = dataItem.equipment[weaponEquip].drainTouch + dataItem.equipment[armorEquip].drainTouch + dataItem.equipment[accessoryEquip].drainTouch;
        stat.hiddenStatus.mpReduce   = dataItem.equipment[weaponEquip].mpReduce + dataItem.equipment[armorEquip].mpReduce + dataItem.equipment[accessoryEquip].mpReduce;

        stat.CalculateStatus();
    }
Ejemplo n.º 13
0
    public void UnEquip(int id)
    {
        bool      full     = false;
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if ((int)dataItem.equipment[id].EquipmentType == 0)
        {
            full = AddEquipment(weaponEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 1)
        {
            full = AddEquipment(armorEquip);
        }
        else
        {
            full = AddEquipment(accessoryEquip);
        }
        if (!full)
        {
            if ((int)dataItem.equipment[id].EquipmentType == 0)
            {
                weaponEquip = 0;
                GetComponent <AttackTriggerC>().attackPrefab = fistPrefab.transform;
                if (weapon.Length > 0 && weapon[0] != null)
                {
                    int allWeapon = weapon.Length;
                    int a         = 0;
                    if (allWeapon > 0)
                    {
                        while (a < allWeapon && weapon[a])
                        {
                            weapon[a].SetActive(false);
                            //Destroy(weapon[a].gameObject);
                            a++;
                        }
                    }
                }
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 1)
            {
                armorEquip = 0;
            }
            else
            {
                accessoryEquip = 0;
            }
            //Reset Power of Current Weapon & Armor
            SettingEquipmentStatus();
        }
    }
Ejemplo n.º 14
0
    public void UnEquip(int id)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        bool      full     = false;

        if (!player)
        {
            player = this.gameObject;
        }
        if (dataItem.equipment[id].model && weapon.Length > 0)
        {
            full = AddEquipment(weaponEquip);
        }
        else
        {
            full = AddEquipment(armorEquip);
        }
        if (!full)
        {
            if (dataItem.equipment[id].model && weapon.Length > 0)
            {
                weaponEquip = 0;
                player.GetComponent <AttackTriggerC>().attackPrefab = fistPrefab.transform;
                if (weapon.Length > 0 && weapon[0])
                {
                    int allWeapon = weapon.Length;
                    int a         = 0;
                    if (allWeapon > 0)
                    {
                        while (a < allWeapon && weapon[a])
                        {
                            //weapon[a].SetActiveRecursively(false);
                            weapon[a].SetActive(false);
                            //Destroy(weapon[a].gameObject);
                            a++;
                        }
                    }
                }
            }
            else
            {
                armorEquip = 0;
            }
            SetEquipmentStatus();
        }
    }
Ejemplo n.º 15
0
    // Token: 0x060003A1 RID: 929 RVA: 0x00014034 File Offset: 0x00012434
    private void Start()
    {
        if (!this.player)
        {
            this.player = base.gameObject;
        }
        ItemDataC component = this.database.GetComponent <ItemDataC>();

        this.player.GetComponent <StatusC>().addAtk      = 0;
        this.player.GetComponent <StatusC>().addDef      = 0;
        this.player.GetComponent <StatusC>().addMatk     = 0;
        this.player.GetComponent <StatusC>().addMdef     = 0;
        this.player.GetComponent <StatusC>().weaponAtk   = 0;
        this.player.GetComponent <StatusC>().weaponMatk  = 0;
        this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.weaponEquip].attack;
        this.player.GetComponent <StatusC>().addDef     += component.equipment[this.weaponEquip].defense;
        this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.weaponEquip].magicAttack;
        this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.weaponEquip].magicDefense;
        this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.armorEquip].attack;
        this.player.GetComponent <StatusC>().addDef     += component.equipment[this.armorEquip].defense;
        this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.armorEquip].magicAttack;
        this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.armorEquip].magicDefense;
        this.player.GetComponent <StatusC>().CalculateStatus();
    }
Ejemplo n.º 16
0
    // Token: 0x060003B0 RID: 944 RVA: 0x00016AE0 File Offset: 0x00014EE0
    private void AssignMecanimAnimation(int id)
    {
        ItemDataC component = this.database.GetComponent <ItemDataC>();

        if (component.equipment[id].EquipmentType == ItemDataC.Equip.EqType.Weapon)
        {
            int whileAttack = (int)component.equipment[id].whileAttack;
            this.player.GetComponent <AttackTriggerC>().WhileAttackSet(whileAttack);
            this.player.GetComponent <AttackTriggerC>().attackSpeed = component.equipment[id].attackSpeed;
            this.player.GetComponent <AttackTriggerC>().atkDelay1   = component.equipment[id].attackDelay;
            this.player.GetComponent <PlayerMecanimAnimationC>().SetWeaponType(component.equipment[id].weaponType, component.equipment[id].idleAnimation.name);
            int num = component.equipment[id].attackCombo.Length;
            this.player.GetComponent <AttackTriggerC>().attackCombo = new AnimationClip[num];
            int i = 0;
            if (num > 0)
            {
                while (i < num)
                {
                    this.player.GetComponent <AttackTriggerC>().attackCombo[i] = component.equipment[id].attackCombo[i];
                    i++;
                }
            }
        }
    }
Ejemplo n.º 17
0
    //-----------Item Window-------------
    void ItemWindow(int windowID)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if (menu && itemMenu)
        {
            //GUI.Box ( new Rect(260,140,280,385), "Items");
            //Close Window Button
            if (GUI.Button(new Rect(250, 2, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //Items Slot
            if (GUI.Button(new Rect(30, 115, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[0]].icon, dataItem.usableItem[itemSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[0]].description)))
            {
                if (!dataItem.usableItem[itemSlot[0]].unusable)
                {
                    UseItem(itemSlot[0]);
                    if (itemQuantity[0] > 0)
                    {
                        itemQuantity[0]--;
                    }
                    if (itemQuantity[0] <= 0)
                    {
                        itemSlot[0]     = 0;
                        itemQuantity[0] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[0] > 0)
            {
                GUI.Label(new Rect(70, 150, 20, 20), itemQuantity[0].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(90, 115, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[1]].icon, dataItem.usableItem[itemSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[1]].description)))
            {
                if (!dataItem.usableItem[itemSlot[1]].unusable)
                {
                    UseItem(itemSlot[1]);
                    if (itemQuantity[1] > 0)
                    {
                        itemQuantity[1]--;
                    }
                    if (itemQuantity[1] <= 0)
                    {
                        itemSlot[1]     = 0;
                        itemQuantity[1] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[1] > 0)
            {
                GUI.Label(new Rect(130, 150, 20, 20), itemQuantity[1].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(150, 115, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[2]].icon, dataItem.usableItem[itemSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[2]].description)))
            {
                if (!dataItem.usableItem[itemSlot[2]].unusable)
                {
                    UseItem(itemSlot[2]);
                    if (itemQuantity[2] > 0)
                    {
                        itemQuantity[2]--;
                    }
                    if (itemQuantity[2] <= 0)
                    {
                        itemSlot[2]     = 0;
                        itemQuantity[2] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[2] > 0)
            {
                GUI.Label(new Rect(190, 150, 20, 20), itemQuantity[2].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(210, 115, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[3]].icon, dataItem.usableItem[itemSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[3]].description)))
            {
                if (!dataItem.usableItem[itemSlot[3]].unusable)
                {
                    UseItem(itemSlot[3]);
                    if (itemQuantity[3] > 0)
                    {
                        itemQuantity[3]--;
                    }
                    if (itemQuantity[3] <= 0)
                    {
                        itemSlot[3]     = 0;
                        itemQuantity[3] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[3] > 0)
            {
                GUI.Label(new Rect(250, 150, 20, 20), itemQuantity[3].ToString());                   //Quantity
            }

            //-----------------------------
            if (GUI.Button(new Rect(30, 175, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[4]].icon, dataItem.usableItem[itemSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[4]].description)))
            {
                if (!dataItem.usableItem[itemSlot[4]].unusable)
                {
                    UseItem(itemSlot[4]);
                    if (itemQuantity[4] > 0)
                    {
                        itemQuantity[4]--;
                    }
                    if (itemQuantity[4] <= 0)
                    {
                        itemSlot[4]     = 0;
                        itemQuantity[4] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[4] > 0)
            {
                GUI.Label(new Rect(70, 210, 20, 20), itemQuantity[4].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(90, 175, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[5]].icon, dataItem.usableItem[itemSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[5]].description)))
            {
                if (!dataItem.usableItem[itemSlot[5]].unusable)
                {
                    UseItem(itemSlot[5]);
                    if (itemQuantity[5] > 0)
                    {
                        itemQuantity[5]--;
                    }
                    if (itemQuantity[5] <= 0)
                    {
                        itemSlot[5]     = 0;
                        itemQuantity[5] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[5] > 0)
            {
                GUI.Label(new Rect(130, 210, 20, 20), itemQuantity[5].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(150, 175, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[6]].icon, dataItem.usableItem[itemSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[6]].description)))
            {
                if (!dataItem.usableItem[itemSlot[6]].unusable)
                {
                    UseItem(itemSlot[6]);
                    if (itemQuantity[6] > 0)
                    {
                        itemQuantity[6]--;
                    }
                    if (itemQuantity[6] <= 0)
                    {
                        itemSlot[6]     = 0;
                        itemQuantity[6] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[6] > 0)
            {
                GUI.Label(new Rect(190, 210, 20, 20), itemQuantity[6].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(210, 175, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[7]].icon, dataItem.usableItem[itemSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[7]].description)))
            {
                if (!dataItem.usableItem[itemSlot[7]].unusable)
                {
                    UseItem(itemSlot[7]);
                    if (itemQuantity[7] > 0)
                    {
                        itemQuantity[7]--;
                    }
                    if (itemQuantity[7] <= 0)
                    {
                        itemSlot[7]     = 0;
                        itemQuantity[7] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[7] > 0)
            {
                GUI.Label(new Rect(250, 210, 20, 20), itemQuantity[7].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(30, 235, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[8]].icon, dataItem.usableItem[itemSlot[8]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[8]].description)))
            {
                if (!dataItem.usableItem[itemSlot[8]].unusable)
                {
                    UseItem(itemSlot[8]);
                    if (itemQuantity[8] > 0)
                    {
                        itemQuantity[8]--;
                    }
                    if (itemQuantity[8] <= 0)
                    {
                        itemSlot[8]     = 0;
                        itemQuantity[8] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[8] > 0)
            {
                GUI.Label(new Rect(70, 270, 20, 20), itemQuantity[8].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(90, 235, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[9]].icon, dataItem.usableItem[itemSlot[9]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[9]].description)))
            {
                if (!dataItem.usableItem[itemSlot[9]].unusable)
                {
                    UseItem(itemSlot[9]);
                    if (itemQuantity[9] > 0)
                    {
                        itemQuantity[9]--;
                    }
                    if (itemQuantity[9] <= 0)
                    {
                        itemSlot[9]     = 0;
                        itemQuantity[9] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[9] > 0)
            {
                GUI.Label(new Rect(130, 270, 20, 20), itemQuantity[9].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(150, 235, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[10]].icon, dataItem.usableItem[itemSlot[10]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[10]].description)))
            {
                if (!dataItem.usableItem[itemSlot[10]].unusable)
                {
                    UseItem(itemSlot[10]);
                    if (itemQuantity[10] > 0)
                    {
                        itemQuantity[10]--;
                    }
                    if (itemQuantity[10] <= 0)
                    {
                        itemSlot[10]     = 0;
                        itemQuantity[10] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[10] > 0)
            {
                GUI.Label(new Rect(190, 270, 20, 20), itemQuantity[10].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(210, 235, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[11]].icon, dataItem.usableItem[itemSlot[11]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[11]].description)))
            {
                if (!dataItem.usableItem[itemSlot[11]].unusable)
                {
                    UseItem(itemSlot[11]);
                    if (itemQuantity[11] > 0)
                    {
                        itemQuantity[11]--;
                    }
                    if (itemQuantity[11] <= 0)
                    {
                        itemSlot[11]     = 0;
                        itemQuantity[11] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[11] > 0)
            {
                GUI.Label(new Rect(250, 270, 20, 20), itemQuantity[11].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(30, 295, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[12]].icon, dataItem.usableItem[itemSlot[12]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[12]].description)))
            {
                if (!dataItem.usableItem[itemSlot[12]].unusable)
                {
                    UseItem(itemSlot[12]);
                    if (itemQuantity[12] > 0)
                    {
                        itemQuantity[12]--;
                    }
                    if (itemQuantity[12] <= 0)
                    {
                        itemSlot[12]     = 0;
                        itemQuantity[12] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[12] > 0)
            {
                GUI.Label(new Rect(70, 330, 20, 20), itemQuantity[12].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(90, 295, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[13]].icon, dataItem.usableItem[itemSlot[13]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[13]].description)))
            {
                if (!dataItem.usableItem[itemSlot[13]].unusable)
                {
                    UseItem(itemSlot[13]);
                    if (itemQuantity[13] > 0)
                    {
                        itemQuantity[13]--;
                    }
                    if (itemQuantity[13] <= 0)
                    {
                        itemSlot[13]     = 0;
                        itemQuantity[13] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[13] > 0)
            {
                GUI.Label(new Rect(130, 330, 20, 20), itemQuantity[13].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(150, 295, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[14]].icon, dataItem.usableItem[itemSlot[14]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[14]].description)))
            {
                if (!dataItem.usableItem[itemSlot[14]].unusable)
                {
                    UseItem(itemSlot[14]);
                    if (itemQuantity[14] > 0)
                    {
                        itemQuantity[14]--;
                    }
                    if (itemQuantity[14] <= 0)
                    {
                        itemSlot[14]     = 0;
                        itemQuantity[14] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[14] > 0)
            {
                GUI.Label(new Rect(190, 330, 20, 20), itemQuantity[14].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(210, 295, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[15]].icon, dataItem.usableItem[itemSlot[15]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[15]].description)))
            {
                if (!dataItem.usableItem[itemSlot[15]].unusable)
                {
                    UseItem(itemSlot[15]);
                    if (itemQuantity[15] > 0)
                    {
                        itemQuantity[15]--;
                    }
                    if (itemQuantity[15] <= 0)
                    {
                        itemSlot[15]     = 0;
                        itemQuantity[15] = 0;
                        AutoSortItem();
                    }
                }
            }
            if (itemQuantity[15] > 0)
            {
                GUI.Label(new Rect(250, 330, 20, 20), itemQuantity[15].ToString());                   //Quantity
            }
            GUI.Label(new Rect(20, 355, 150, 50), "$ " + cash.ToString());
            GUI.Box(new Rect(20, 30, 240, 60), GUI.tooltip);
            //---------------------------
        }

        //---------------Equipment Tab----------------------------
        if (menu && equipMenu)
        {
            //Close Window Button
            if (GUI.Button(new Rect(250, 2, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //Weapon
            GUI.Label(new Rect(20, 130, 150, 50), "Weapon");
            if (GUI.Button(new Rect(100, 115, 50, 50), new GUIContent(dataItem.equipment[weaponEquip].icon, dataItem.equipment[weaponEquip].itemName + "\n" + "\n" + dataItem.equipment[weaponEquip].description)))
            {
                if (!allowWeaponUnequip || weaponEquip == 0)
                {
                    return;
                }
                UnEquip(weaponEquip);
            }
            //Armor
            GUI.Label(new Rect(20, 190, 150, 50), "Armor");
            if (GUI.Button(new Rect(100, 175, 50, 50), new GUIContent(dataItem.equipment[armorEquip].icon, dataItem.equipment[armorEquip].itemName + "\n" + "\n" + dataItem.equipment[armorEquip].description)))
            {
                if (!allowArmorUnequip || armorEquip == 0)
                {
                    return;
                }
                UnEquip(armorEquip);
            }


            //--------Equipment Slot---------
            if (GUI.Button(new Rect(30, 235, 50, 50), new GUIContent(dataItem.equipment[equipment[0]].icon, dataItem.equipment[equipment[0]].itemName + "\n" + "\n" + dataItem.equipment[equipment[0]].description)))
            {
                EquipItem(equipment[0], 0);
            }

            if (GUI.Button(new Rect(90, 235, 50, 50), new GUIContent(dataItem.equipment[equipment[1]].icon, dataItem.equipment[equipment[1]].itemName + "\n" + "\n" + dataItem.equipment[equipment[1]].description)))
            {
                EquipItem(equipment[1], 1);
            }

            if (GUI.Button(new Rect(150, 235, 50, 50), new GUIContent(dataItem.equipment[equipment[2]].icon, dataItem.equipment[equipment[2]].itemName + "\n" + "\n" + dataItem.equipment[equipment[2]].description)))
            {
                EquipItem(equipment[2], 2);
            }

            if (GUI.Button(new Rect(210, 235, 50, 50), new GUIContent(dataItem.equipment[equipment[3]].icon, dataItem.equipment[equipment[3]].itemName + "\n" + "\n" + dataItem.equipment[equipment[3]].description)))
            {
                EquipItem(equipment[3], 3);
            }
            //-----------------------------
            if (GUI.Button(new Rect(30, 295, 50, 50), new GUIContent(dataItem.equipment[equipment[4]].icon, dataItem.equipment[equipment[4]].itemName + "\n" + "\n" + dataItem.equipment[equipment[4]].description)))
            {
                EquipItem(equipment[4], 4);
            }

            if (GUI.Button(new Rect(90, 295, 50, 50), new GUIContent(dataItem.equipment[equipment[5]].icon, dataItem.equipment[equipment[5]].itemName + "\n" + "\n" + dataItem.equipment[equipment[5]].description)))
            {
                EquipItem(equipment[5], 5);
            }

            if (GUI.Button(new Rect(150, 295, 50, 50), new GUIContent(dataItem.equipment[equipment[6]].icon, dataItem.equipment[equipment[6]].itemName + "\n" + "\n" + dataItem.equipment[equipment[6]].description)))
            {
                EquipItem(equipment[6], 6);
            }

            if (GUI.Button(new Rect(210, 295, 50, 50), new GUIContent(dataItem.equipment[equipment[7]].icon, dataItem.equipment[equipment[7]].itemName + "\n" + "\n" + dataItem.equipment[equipment[7]].description)))
            {
                EquipItem(equipment[7], 7);
            }
            GUI.Label(new Rect(20, 355, 150, 50), "$ " + cash.ToString());
            GUI.Box(new Rect(20, 30, 240, 60), GUI.tooltip);
        }
        GUI.DragWindow(new Rect(0, 0, 10000, 10000));
    }
Ejemplo n.º 18
0
    public void  UnEquip(int id)
    {
        bool      full     = false;
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if (!player)
        {
            player = this.gameObject;
        }
        if (dataItem.equipment[id].model && weapon.Length > 0 && weapon[0] != null)
        {
            full = AddEquipment(weaponEquip);
        }
        else
        {
            full = AddEquipment(armorEquip);
        }
        if (!full)
        {
            if (dataItem.equipment[id].model && weapon.Length > 0 && weapon[0] != null)
            {
                weaponEquip = 0;
                player.GetComponent <AttackTriggerC>().attackPrefab = fistPrefab.transform;
                if (weapon.Length > 0 && weapon[0] != null)
                {
                    int allWeapon = weapon.Length;
                    int a         = 0;
                    if (allWeapon > 0)
                    {
                        while (a < allWeapon && weapon[a])
                        {
                            weapon[a].SetActive(false);
                            //Destroy(weapon[a].gameObject);
                            a++;
                        }
                    }
                }
            }
            else
            {
                armorEquip = 0;
            }
            //Reset Power of Current Weapon & Armor
            player.GetComponent <StatusC>().addAtk     = 0;
            player.GetComponent <StatusC>().addDef     = 0;
            player.GetComponent <StatusC>().addMatk    = 0;
            player.GetComponent <StatusC>().addMdef    = 0;
            player.GetComponent <StatusC>().weaponAtk  = 0;
            player.GetComponent <StatusC>().weaponMatk = 0;
            //Set New Variable of Weapon
            player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[weaponEquip].attack;
            player.GetComponent <StatusC>().addDef     += dataItem.equipment[weaponEquip].defense;
            player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[weaponEquip].magicAttack;
            player.GetComponent <StatusC>().addMdef    += dataItem.equipment[weaponEquip].magicDefense;
            //Set New Variable of Armor
            player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[armorEquip].attack;
            player.GetComponent <StatusC>().addDef     += dataItem.equipment[armorEquip].defense;
            player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[armorEquip].magicAttack;
            player.GetComponent <StatusC>().addMdef    += dataItem.equipment[armorEquip].magicDefense;
        }
    }
 void Start()
 {
     db = database.GetComponent <ItemDataC>();
 }
Ejemplo n.º 20
0
    // Token: 0x060003A4 RID: 932 RVA: 0x00014338 File Offset: 0x00012738
    public void EquipItem(int id, int slot)
    {
        GameObject gameObject = new GameObject();

        if (id == 0)
        {
            return;
        }
        if (!this.player)
        {
            this.player = base.gameObject;
        }
        ItemDataC component = this.database.GetComponent <ItemDataC>();
        int       id2;

        if (component.equipment[id].EquipmentType == ItemDataC.Equip.EqType.Weapon)
        {
            id2 = this.weaponEquip;
            this.weaponEquip = id;
            if (component.equipment[id].attackPrefab)
            {
                this.player.GetComponent <AttackTriggerC>().attackPrefab = component.equipment[id].attackPrefab.transform;
            }
            if (component.equipment[id].model && this.weapon.Length > 0 && this.weapon[0] != null)
            {
                int num  = this.weapon.Length;
                int num2 = 0;
                if (num > 0 && component.equipment[id].assignAllWeapon)
                {
                    while (num2 < num && this.weapon[num2])
                    {
                        this.weapon[num2].SetActive(true);
                        gameObject = UnityEngine.Object.Instantiate <GameObject>(component.equipment[id].model, this.weapon[num2].transform.position, this.weapon[num2].transform.rotation);
                        gameObject.transform.parent = this.weapon[num2].transform.parent;
                        UnityEngine.Object.Destroy(this.weapon[num2].gameObject);
                        this.weapon[num2] = gameObject;
                        num2++;
                    }
                }
                else if (num > 0)
                {
                    while (num2 < num && this.weapon[num2])
                    {
                        if (num2 == 0)
                        {
                            this.weapon[num2].SetActive(true);
                            gameObject = UnityEngine.Object.Instantiate <GameObject>(component.equipment[id].model, this.weapon[num2].transform.position, this.weapon[num2].transform.rotation);
                            gameObject.transform.parent = this.weapon[num2].transform.parent;
                            UnityEngine.Object.Destroy(this.weapon[num2].gameObject);
                            this.weapon[num2] = gameObject;
                        }
                        else
                        {
                            this.weapon[num2].SetActive(false);
                        }
                        num2++;
                    }
                }
            }
        }
        else
        {
            id2             = this.armorEquip;
            this.armorEquip = id;
        }
        if (slot <= this.equipment.Length)
        {
            this.equipment[slot] = 0;
        }
        this.AssignWeaponAnimation(id);
        this.player.GetComponent <StatusC>().addAtk      = 0;
        this.player.GetComponent <StatusC>().addDef      = 0;
        this.player.GetComponent <StatusC>().addMatk     = 0;
        this.player.GetComponent <StatusC>().addMdef     = 0;
        this.player.GetComponent <StatusC>().weaponAtk   = 0;
        this.player.GetComponent <StatusC>().weaponMatk  = 0;
        this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.weaponEquip].attack;
        this.player.GetComponent <StatusC>().addDef     += component.equipment[this.weaponEquip].defense;
        this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.weaponEquip].magicAttack;
        this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.weaponEquip].magicDefense;
        this.player.GetComponent <StatusC>().weaponAtk  += component.equipment[this.armorEquip].attack;
        this.player.GetComponent <StatusC>().addDef     += component.equipment[this.armorEquip].defense;
        this.player.GetComponent <StatusC>().weaponMatk += component.equipment[this.armorEquip].magicAttack;
        this.player.GetComponent <StatusC>().addMdef    += component.equipment[this.armorEquip].magicDefense;
        this.player.GetComponent <StatusC>().CalculateStatus();
        this.AutoSortEquipment();
        this.AddEquipment(id2);
    }
Ejemplo n.º 21
0
    //-----------Item Window-------------
    public void ItemWindow(int windowID)
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if (menu && itemMenu)
        {
            //GUI.Box ( new Rect(260,140,280,385), "Items");
            //Close Window Button
            if (GUI.Button(new Rect(390, 8, 70, 70), "X"))
            {
                OnOffMenu();
            }
            //Items Slot
            if (GUI.Button(new Rect(30, 30, 75, 75), dataItem.usableItem[itemSlot[0 + page]].icon))
            {
                UseItem(itemSlot[0 + page]);
                if (itemQuantity[0 + page] > 0)
                {
                    itemQuantity[0 + page]--;
                }
                if (itemQuantity[0 + page] <= 0)
                {
                    itemSlot[0 + page]     = 0;
                    itemQuantity[0 + page] = 0;
                    AutoSortItem();
                }
            }
            GUI.Label(new Rect(125, 40, 320, 75), dataItem.usableItem[itemSlot[0 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 65, 320, 75), dataItem.usableItem[itemSlot[0 + page]].description.ToString(), itemDescriptionText);      //Item Description
            if (itemQuantity[0 + page] > 0)
            {
                GUI.Label(new Rect(88, 88, 40, 30), itemQuantity[0 + page].ToString(), itemQuantityText);                    //Quantity
            }
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 120, 75, 75), dataItem.usableItem[itemSlot[1 + page]].icon))
            {
                UseItem(itemSlot[1 + page]);
                if (itemQuantity[1 + page] > 0)
                {
                    itemQuantity[1 + page]--;
                }
                if (itemQuantity[1 + page] <= 0)
                {
                    itemSlot[1 + page]     = 0;
                    itemQuantity[1 + page] = 0;
                    AutoSortItem();
                }
            }
            GUI.Label(new Rect(125, 130, 320, 75), dataItem.usableItem[itemSlot[1 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 155, 320, 75), dataItem.usableItem[itemSlot[1 + page]].description.ToString(), itemDescriptionText);      //Item Description
            if (itemQuantity[1 + page] > 0)
            {
                GUI.Label(new Rect(88, 178, 40, 30), itemQuantity[1 + page].ToString(), itemQuantityText);                    //Quantity
            }
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 210, 75, 75), dataItem.usableItem[itemSlot[2 + page]].icon))
            {
                UseItem(itemSlot[2 + page]);
                if (itemQuantity[2 + page] > 0)
                {
                    itemQuantity[2 + page]--;
                }
                if (itemQuantity[2 + page] <= 0)
                {
                    itemSlot[2 + page]     = 0;
                    itemQuantity[2 + page] = 0;
                    AutoSortItem();
                }
            }
            GUI.Label(new Rect(125, 220, 320, 75), dataItem.usableItem[itemSlot[2 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 245, 320, 75), dataItem.usableItem[itemSlot[2 + page]].description.ToString(), itemDescriptionText);      //Item Description
            if (itemQuantity[2 + page] > 0)
            {
                GUI.Label(new Rect(88, 268, 40, 30), itemQuantity[2 + page].ToString(), itemQuantityText);                    //Quantity
            }
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 300, 75, 75), dataItem.usableItem[itemSlot[3 + page]].icon))
            {
                UseItem(itemSlot[3 + page]);
                if (itemQuantity[3 + page] > 0)
                {
                    itemQuantity[3 + page]--;
                }
                if (itemQuantity[3 + page] <= 0)
                {
                    itemSlot[3 + page]     = 0;
                    itemQuantity[3 + page] = 0;
                    AutoSortItem();
                }
            }
            GUI.Label(new Rect(125, 310, 320, 75), dataItem.usableItem[itemSlot[3 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 335, 320, 75), dataItem.usableItem[itemSlot[3 + page]].description.ToString(), itemDescriptionText);      //Item Description
            if (itemQuantity[3 + page] > 0)
            {
                GUI.Label(new Rect(88, 358, 40, 30), itemQuantity[3 + page].ToString(), itemQuantityText);                    //Quantity
            }
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 390, 75, 75), dataItem.usableItem[itemSlot[4 + page]].icon))
            {
                UseItem(itemSlot[4 + page]);
                if (itemQuantity[4 + page] > 0)
                {
                    itemQuantity[4 + page]--;
                }
                if (itemQuantity[4 + page] <= 0)
                {
                    itemSlot[4 + page]     = 0;
                    itemQuantity[4 + page] = 0;
                    AutoSortItem();
                }
            }
            GUI.Label(new Rect(125, 400, 320, 75), dataItem.usableItem[itemSlot[4 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 425, 320, 75), dataItem.usableItem[itemSlot[4 + page]].description.ToString(), itemDescriptionText);      //Item Description
            if (itemQuantity[4 + page] > 0)
            {
                GUI.Label(new Rect(88, 448, 40, 30), itemQuantity[4 + page].ToString(), itemQuantityText);                    //Quantity
            }
            //------------------------------------------------------

            if (GUI.Button(new Rect(220, 485, 50, 52), "1"))
            {
                page = 0;
            }
            if (GUI.Button(new Rect(290, 485, 50, 52), "2"))
            {
                page = itemPageMultiply;
            }
            if (GUI.Button(new Rect(360, 485, 50, 52), "3"))
            {
                page = itemPageMultiply * 2;
            }

            GUI.Label(new Rect(20, 505, 150, 50), "$ " + cash.ToString(), itemDescriptionText);
            //---------------------------
        }

        //---------------Equipment Tab----------------------------
        if (menu && equipMenu)
        {
            //Close Window Button
            if (GUI.Button(new Rect(390, 8, 70, 70), "X"))
            {
                OnOffMenu();
            }
            //Weapon
            GUI.Label(new Rect(20, 60, 150, 50), "Weapon");
            if (GUI.Button(new Rect(100, 30, 70, 70), dataItem.equipment[weaponEquip].icon))
            {
                if (!allowWeaponUnequip || weaponEquip == 0)
                {
                    return;
                }
                UnEquip(weaponEquip);
            }
            //Armor
            GUI.Label(new Rect(200, 60, 150, 50), "Armor");
            if (GUI.Button(new Rect(260, 30, 70, 70), dataItem.equipment[armorEquip].icon))
            {
                if (!allowArmorUnequip || armorEquip == 0)
                {
                    return;
                }
                UnEquip(armorEquip);
            }


            //--------Equipment Slot---------
            if (GUI.Button(new Rect(30, 130, 75, 75), dataItem.equipment[equipment[0 + page]].icon))
            {
                EquipItem(equipment[0 + page], 0 + page);
            }
            GUI.Label(new Rect(125, 140, 320, 75), dataItem.equipment[equipment[0 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 165, 320, 75), dataItem.equipment[equipment[0 + page]].description.ToString(), itemDescriptionText);      //Item Description
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 220, 75, 75), dataItem.equipment[equipment[1 + page]].icon))
            {
                EquipItem(equipment[1 + page], 1 + page);
            }
            GUI.Label(new Rect(125, 230, 320, 75), dataItem.equipment[equipment[1 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 255, 320, 75), dataItem.equipment[equipment[1 + page]].description.ToString(), itemDescriptionText);      //Item Description
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 310, 75, 75), dataItem.equipment[equipment[2 + page]].icon))
            {
                EquipItem(equipment[2 + page], 2 + page);
            }
            GUI.Label(new Rect(125, 320, 320, 75), dataItem.equipment[equipment[2 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 345, 320, 75), dataItem.equipment[equipment[2 + page]].description.ToString(), itemDescriptionText);      //Item Description
            //------------------------------------------------------
            if (GUI.Button(new Rect(30, 400, 75, 75), dataItem.equipment[equipment[3 + page]].icon))
            {
                EquipItem(equipment[3 + page], 3 + page);
            }
            GUI.Label(new Rect(125, 410, 320, 75), dataItem.equipment[equipment[3 + page]].itemName.ToString(), itemNameText);                //Item Name
            GUI.Label(new Rect(125, 435, 320, 75), dataItem.equipment[equipment[3 + page]].description.ToString(), itemDescriptionText);      //Item Description
            //------------------------------------------------------

            if (GUI.Button(new Rect(220, 485, 50, 52), "1"))
            {
                page = 0;
            }
            if (GUI.Button(new Rect(290, 485, 50, 52), "2"))
            {
                page = equipmentPageMultiply;
            }
            if (GUI.Button(new Rect(360, 485, 50, 52), "3"))
            {
                page = equipmentPageMultiply * 2;
            }

            GUI.Label(new Rect(20, 505, 150, 50), "$ " + cash.ToString(), itemDescriptionText);
        }
        GUI.DragWindow(new Rect(0, 0, 10000, 10000));
    }
Ejemplo n.º 22
0
    void OnGUI()
    {
        if (!player)
        {
            return;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        int[] itemQuantity = player.GetComponent <InventoryC>().itemQuantity;
        int   cash         = player.GetComponent <InventoryC>().cash;

        int[] itemSlot  = player.GetComponent <InventoryC>().itemSlot;
        int[] equipment = player.GetComponent <InventoryC>().equipment;

        if (enter && !menu && activateSelf)
        {
            GUI.DrawTexture(new Rect(Screen.width / 2 - 130, Screen.height - 120, 260, 80), button);
        }

        //商店主菜单
        if (menu && shopMain)
        {
            GUI.Box(new Rect(Screen.width / 2 - 140, 240, 280, 120), "Shop");
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 305, 80, 30), "Buy"))
            {
                shopItem = true;
                shopMain = false;
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 305, 80, 30), "Sell"))
            {
                itemInven = true;
                shopMain  = false;
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 90, 245, 30, 30), "X"))
            {
                OnOffMenu();
            }
        }

        if (menu && itemInven && !sellwindow)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Items");
            //关闭窗口按钮
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[0]].icon, dataItem.usableItem[itemSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[0]].description)))
            {
                select     = 0;
                sellwindow = true;
            }
            if (itemQuantity[0] > 0)
            {
                GUI.Label(new Rect(330, 290, 20, 20), itemQuantity[0].ToString());
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[1]].icon, dataItem.usableItem[itemSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[1]].description)))
            {
                select     = 1;
                sellwindow = true;
            }
            if (itemQuantity[1] > 0)
            {
                GUI.Label(new Rect(390, 290, 20, 20), itemQuantity[1].ToString());
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[2]].icon, dataItem.usableItem[itemSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[2]].description)))
            {
                select     = 2;
                sellwindow = true;
            }
            if (itemQuantity[2] > 0)
            {
                GUI.Label(new Rect(450, 290, 20, 20), itemQuantity[2].ToString());
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[3]].icon, dataItem.usableItem[itemSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[3]].description)))
            {
                select     = 3;
                sellwindow = true;
            }
            if (itemQuantity[3] > 0)
            {
                GUI.Label(new Rect(510, 290, 20, 20), itemQuantity[3].ToString());
            }

            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[4]].icon, dataItem.usableItem[itemSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[4]].description)))
            {
                select     = 4;
                sellwindow = true;
            }
            if (itemQuantity[4] > 0)
            {
                GUI.Label(new Rect(330, 350, 20, 20), itemQuantity[4].ToString());
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[5]].icon, dataItem.usableItem[itemSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[5]].description)))
            {
                select     = 5;
                sellwindow = true;
            }
            if (itemQuantity[5] > 0)
            {
                GUI.Label(new Rect(390, 350, 20, 20), itemQuantity[5].ToString());
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[6]].icon, dataItem.usableItem[itemSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[6]].description)))
            {
                select     = 6;
                sellwindow = true;
            }
            if (itemQuantity[6] > 0)
            {
                GUI.Label(new Rect(450, 350, 20, 20), itemQuantity[6].ToString());
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[7]].icon, dataItem.usableItem[itemSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[7]].description)))
            {
                select     = 7;
                sellwindow = true;
            }
            if (itemQuantity[7] > 0)
            {
                GUI.Label(new Rect(510, 350, 20, 20), itemQuantity[7].ToString());
            }

            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[8]].icon, dataItem.usableItem[itemSlot[8]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[8]].description)))
            {
                select     = 8;
                sellwindow = true;
            }
            if (itemQuantity[8] > 0)
            {
                GUI.Label(new Rect(330, 410, 20, 20), itemQuantity[8].ToString());
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[9]].icon, dataItem.usableItem[itemSlot[9]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[9]].description)))
            {
                select     = 9;
                sellwindow = true;
            }
            if (itemQuantity[9] > 0)
            {
                GUI.Label(new Rect(390, 410, 20, 20), itemQuantity[9].ToString());
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[10]].icon, dataItem.usableItem[itemSlot[10]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[10]].description)))
            {
                select     = 10;
                sellwindow = true;
            }
            if (itemQuantity[10] > 0)
            {
                GUI.Label(new Rect(450, 410, 20, 20), itemQuantity[10].ToString());
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[11]].icon, dataItem.usableItem[itemSlot[11]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[11]].description)))
            {
                select     = 11;
                sellwindow = true;
            }
            if (itemQuantity[11] > 0)
            {
                GUI.Label(new Rect(510, 410, 20, 20), itemQuantity[11].ToString());
            }

            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[12]].icon, dataItem.usableItem[itemSlot[12]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[12]].description)))
            {
                select     = 12;
                sellwindow = true;
            }
            if (itemQuantity[12] > 0)
            {
                GUI.Label(new Rect(330, 470, 20, 20), itemQuantity[12].ToString());
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[13]].icon, dataItem.usableItem[itemSlot[13]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[13]].description)))
            {
                select     = 13;
                sellwindow = true;
            }
            if (itemQuantity[13] > 0)
            {
                GUI.Label(new Rect(390, 470, 20, 20), itemQuantity[13].ToString());
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[14]].icon, dataItem.usableItem[itemSlot[14]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[14]].description)))
            {
                select     = 14;
                sellwindow = true;
            }
            if (itemQuantity[14] > 0)
            {
                GUI.Label(new Rect(450, 470, 20, 20), itemQuantity[14].ToString());
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[15]].icon, dataItem.usableItem[itemSlot[15]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[15]].description)))
            {
                select     = 15;
                sellwindow = true;
            }
            if (itemQuantity[15] > 0)
            {
                GUI.Label(new Rect(510, 470, 20, 20), itemQuantity[15].ToString());
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);

            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());

            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
                equipInven = true;
                itemInven  = false;
            }
        }

        if (menu && equipInven && !sellwindow)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Equipment");
            //关闭窗口按钮
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //物品名
            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
                itemInven  = true;
                equipInven = false;
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
            }
            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());
            //装备位置
            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[0]].icon, dataItem.equipment[equipment[0]].itemName + "\n" + "\n" + dataItem.equipment[equipment[0]].description)))
            {
                select     = 0;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[1]].icon, dataItem.equipment[equipment[1]].itemName + "\n" + "\n" + dataItem.equipment[equipment[1]].description)))
            {
                select     = 1;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[2]].icon, dataItem.equipment[equipment[2]].itemName + "\n" + "\n" + dataItem.equipment[equipment[2]].description)))
            {
                select     = 2;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[3]].icon, dataItem.equipment[equipment[3]].itemName + "\n" + "\n" + dataItem.equipment[equipment[3]].description)))
            {
                select     = 3;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[4]].icon, dataItem.equipment[equipment[4]].itemName + "\n" + "\n" + dataItem.equipment[equipment[4]].description)))
            {
                select     = 4;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[5]].icon, dataItem.equipment[equipment[5]].itemName + "\n" + "\n" + dataItem.equipment[equipment[5]].description)))
            {
                select     = 5;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[6]].icon, dataItem.equipment[equipment[6]].itemName + "\n" + "\n" + dataItem.equipment[equipment[6]].description)))
            {
                select     = 6;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[7]].icon, dataItem.equipment[equipment[7]].itemName + "\n" + "\n" + dataItem.equipment[equipment[7]].description)))
            {
                select     = 7;
                sellwindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);
        }

        //确认卖出的窗口
        if (sellwindow)
        {
            if (itemInven)
            {
                if (itemSlot[select] == 0)
                {
                    sellwindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.usableItem[itemSlot[select]].price / 2);

                text = GUI.TextField(new Rect(Screen.width / 2 + 5, 250, 50, 20), num.ToString(), 2);
                GUI.Label(new Rect(Screen.width / 2 - 65, 250, 60, 20), "Quantity");
                int temp = 0;
                if (int.TryParse(text, out temp))
                {
                    num = temp;
                }
                else if (text == "")
                {
                    num = 0;
                }
            }
            else
            {
                if (equipment[select] == 0)
                {
                    sellwindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.equipment[equipment[select]].price / 2);
            }
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 285, 80, 30), "Sell"))
            {
                if (itemInven)
                {
                    //卖出物品
                    if (num > 0)
                    {
                        ShopSell(itemSlot[select], select, dataItem.usableItem[itemSlot[select]].price / 2, num);
                        sellwindow = false;
                    }
                }
                else
                {
                    //卖出装备
                    ShopSell(equipment[select], select, dataItem.equipment[equipment[select]].price / 2, 1);
                    sellwindow = false;
                }
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 285, 80, 30), "Cancel"))
            {
                sellwindow = false;
            }
        }

        //购买物品
        if (menu && shopItem && !buywindow && !buyerror)
        {
            GUI.Box(new Rect(260, 140, 280, 285), "Shop");
            GUI.Label(new Rect(280, 395, 150, 50), "$ " + cash.ToString());
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[0]].icon, dataItem.usableItem[itemShopSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[0]].description)))
            {
                select    = 0;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[1]].icon, dataItem.usableItem[itemShopSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[1]].description)))
            {
                select    = 1;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[2]].icon, dataItem.usableItem[itemShopSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[2]].description)))
            {
                select    = 2;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[3]].icon, dataItem.usableItem[itemShopSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[3]].description)))
            {
                select    = 3;
                buywindow = true;
            }

            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[4]].icon, dataItem.usableItem[itemShopSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[4]].description)))
            {
                select    = 4;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[5]].icon, dataItem.usableItem[itemShopSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[5]].description)))
            {
                select    = 5;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[6]].icon, dataItem.usableItem[itemShopSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[6]].description)))
            {
                select    = 6;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[7]].icon, dataItem.usableItem[itemShopSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[7]].description)))
            {
                select    = 7;
                buywindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);

            if (GUI.Button(new Rect(210, 245, 50, 75), "Item"))
            {
            }
            if (GUI.Button(new Rect(210, 320, 50, 75), "Equip"))
            {
                shopEquip = true;
                shopItem  = false;
            }
        }

        //购买装备
        if (menu && shopEquip && !buywindow && !buyerror)
        {
            GUI.Box(new Rect(260, 140, 280, 285), "Shop");
            GUI.Label(new Rect(280, 395, 150, 50), "$ " + cash.ToString());
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[0]].icon, dataItem.equipment[equipmentShopSlot[0]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[0]].description)))
            {
                select    = 0;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[1]].icon, dataItem.equipment[equipmentShopSlot[1]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[1]].description)))
            {
                select    = 1;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[2]].icon, dataItem.equipment[equipmentShopSlot[2]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[2]].description)))
            {
                select    = 2;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[3]].icon, dataItem.equipment[equipmentShopSlot[3]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[3]].description)))
            {
                select    = 3;
                buywindow = true;
            }

            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[4]].icon, dataItem.equipment[equipmentShopSlot[4]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[4]].description)))
            {
                select    = 4;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[5]].icon, dataItem.equipment[equipmentShopSlot[5]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[5]].description)))
            {
                select    = 5;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[6]].icon, dataItem.equipment[equipmentShopSlot[6]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[6]].description)))
            {
                select    = 6;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[7]].icon, dataItem.equipment[equipmentShopSlot[7]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[7]].description)))
            {
                select    = 7;
                buywindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);

            if (GUI.Button(new Rect(210, 245, 50, 75), "Item"))
            {
                shopItem  = true;
                shopEquip = false;
            }
            if (GUI.Button(new Rect(210, 320, 50, 75), "Equip"))
            {
            }
        }

        //确认购买窗口
        if (buywindow)
        {
            if (shopItem)
            {
                if (itemShopSlot[select] == 0)
                {
                    buywindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.usableItem[itemShopSlot[select]].price);
                text = GUI.TextField(new Rect(Screen.width / 2 + 5, 250, 50, 20), num.ToString(), 2);
                GUI.Label(new Rect(Screen.width / 2 - 65, 250, 60, 20), "Quantity");
                int temp = 0;
                if (int.TryParse(text, out temp))
                {
                    num = temp;
                }
                else if (text == "")
                {
                    num = 0;
                }
            }
            else
            {
                if (equipmentShopSlot[select] == 0)
                {
                    buywindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.equipment[equipmentShopSlot[select]].price);
            }
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 285, 80, 30), "Buy"))
            {
                if (shopItem)
                {
                    if (num > 0)
                    {
                        ShopBuy(itemShopSlot[select], select, dataItem.usableItem[itemShopSlot[select]].price * num, num);
                        buywindow = false;
                    }
                }
                else
                {
                    //卖出装备
                    ShopBuy(equipmentShopSlot[select], select, dataItem.equipment[equipmentShopSlot[select]].price, 1);
                    buywindow = false;
                }
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 285, 80, 30), "Cancel"))
            {
                buywindow = false;
            }
        }
        //购买错误
        if (buyerror)
        {
            GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), buyErrorLog);
            if (GUI.Button(new Rect(Screen.width / 2 - 40, 285, 80, 30), "OK"))
            {
                buyerror = false;
            }
        }
    }
Ejemplo n.º 23
0
    void  OnGUI()
    {
        if (!player)
        {
            return;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        int[] itemQuantity = player.GetComponent <InventoryC>().itemQuantity;
        int   cash         = player.GetComponent <InventoryC>().cash;

        int[] itemSlot  = player.GetComponent <InventoryC>().itemSlot;
        int[] equipment = player.GetComponent <InventoryC>().equipment;

        if (enter && !menu)
        {
            GUI.DrawTexture(new Rect(Screen.width / 2 - 130, Screen.height - 120, 260, 80), button);
        }

        //Shop Main Menu
        if (menu && shopMain)
        {
            GUI.Box(new Rect(Screen.width / 2 - 140, 180, 280, 120), "");
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 245, 80, 30), "Buy"))
            {
                shopItem = true;
                shopMain = false;
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 245, 80, 30), "Sell"))
            {
                itemInven = true;
                shopMain  = false;
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 90, 200, 30, 30), "X"))
            {
                OnOffMenu();
            }
        }

        if (menu && itemInven && !sellwindow)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Items");
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[0]].icon, dataItem.usableItem[itemSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[0]].description)))
            {
                select     = 0;
                sellwindow = true;
            }
            if (itemQuantity[0] > 0)
            {
                GUI.Label(new Rect(330, 290, 20, 20), itemQuantity[0].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[1]].icon, dataItem.usableItem[itemSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[1]].description)))
            {
                select     = 1;
                sellwindow = true;
            }
            if (itemQuantity[1] > 0)
            {
                GUI.Label(new Rect(390, 290, 20, 20), itemQuantity[1].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[2]].icon, dataItem.usableItem[itemSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[2]].description)))
            {
                select     = 2;
                sellwindow = true;
            }
            if (itemQuantity[2] > 0)
            {
                GUI.Label(new Rect(450, 290, 20, 20), itemQuantity[2].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[3]].icon, dataItem.usableItem[itemSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[3]].description)))
            {
                select     = 3;
                sellwindow = true;
            }
            if (itemQuantity[3] > 0)
            {
                GUI.Label(new Rect(510, 290, 20, 20), itemQuantity[3].ToString());                   //Quantity
            }

            //-----------------------------
            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[4]].icon, dataItem.usableItem[itemSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[4]].description)))
            {
                select     = 4;
                sellwindow = true;
            }
            if (itemQuantity[4] > 0)
            {
                GUI.Label(new Rect(330, 350, 20, 20), itemQuantity[4].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[5]].icon, dataItem.usableItem[itemSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[5]].description)))
            {
                select     = 5;
                sellwindow = true;
            }
            if (itemQuantity[5] > 0)
            {
                GUI.Label(new Rect(390, 350, 20, 20), itemQuantity[5].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[6]].icon, dataItem.usableItem[itemSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[6]].description)))
            {
                select     = 6;
                sellwindow = true;
            }
            if (itemQuantity[6] > 0)
            {
                GUI.Label(new Rect(450, 350, 20, 20), itemQuantity[6].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[7]].icon, dataItem.usableItem[itemSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[7]].description)))
            {
                select     = 7;
                sellwindow = true;
            }
            if (itemQuantity[7] > 0)
            {
                GUI.Label(new Rect(510, 350, 20, 20), itemQuantity[7].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[8]].icon, dataItem.usableItem[itemSlot[8]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[8]].description)))
            {
                select     = 8;
                sellwindow = true;
            }
            if (itemQuantity[8] > 0)
            {
                GUI.Label(new Rect(330, 410, 20, 20), itemQuantity[8].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[9]].icon, dataItem.usableItem[itemSlot[9]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[9]].description)))
            {
                select     = 9;
                sellwindow = true;
            }
            if (itemQuantity[9] > 0)
            {
                GUI.Label(new Rect(390, 410, 20, 20), itemQuantity[9].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[10]].icon, dataItem.usableItem[itemSlot[10]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[10]].description)))
            {
                select     = 10;
                sellwindow = true;
            }
            if (itemQuantity[10] > 0)
            {
                GUI.Label(new Rect(450, 410, 20, 20), itemQuantity[10].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[11]].icon, dataItem.usableItem[itemSlot[11]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[11]].description)))
            {
                select     = 11;
                sellwindow = true;
            }
            if (itemQuantity[11] > 0)
            {
                GUI.Label(new Rect(510, 410, 20, 20), itemQuantity[11].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[12]].icon, dataItem.usableItem[itemSlot[12]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[12]].description)))
            {
                select     = 12;
                sellwindow = true;
            }
            if (itemQuantity[12] > 0)
            {
                GUI.Label(new Rect(330, 470, 20, 20), itemQuantity[12].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[13]].icon, dataItem.usableItem[itemSlot[13]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[13]].description)))
            {
                select     = 13;
                sellwindow = true;
            }
            if (itemQuantity[13] > 0)
            {
                GUI.Label(new Rect(390, 470, 20, 20), itemQuantity[13].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[14]].icon, dataItem.usableItem[itemSlot[14]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[14]].description)))
            {
                select     = 14;
                sellwindow = true;
            }
            if (itemQuantity[14] > 0)
            {
                GUI.Label(new Rect(450, 470, 20, 20), itemQuantity[14].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[15]].icon, dataItem.usableItem[itemSlot[15]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[15]].description)))
            {
                select     = 15;
                sellwindow = true;
            }
            if (itemQuantity[15] > 0)
            {
                GUI.Label(new Rect(510, 470, 20, 20), itemQuantity[15].ToString());                   //Quantity
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);
            //-----------------------------
            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());

            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
                //Switch to Item Tab
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
                //Switch to Equipment Tab
                equipInven = true;
                itemInven  = false;
            }
        }

        if (menu && equipInven && !sellwindow)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Equipment");
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //Item Name
            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
                //Switch to Item Tab
                itemInven  = true;
                equipInven = false;
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
                //Switch to Equipment Tab
            }
            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());
            //--------Equipment Slot---------
            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[0]].icon, dataItem.equipment[equipment[0]].itemName + "\n" + "\n" + dataItem.equipment[equipment[0]].description)))
            {
                select     = 0;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[1]].icon, dataItem.equipment[equipment[1]].itemName + "\n" + "\n" + dataItem.equipment[equipment[1]].description)))
            {
                select     = 1;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[2]].icon, dataItem.equipment[equipment[2]].itemName + "\n" + "\n" + dataItem.equipment[equipment[2]].description)))
            {
                select     = 2;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[3]].icon, dataItem.equipment[equipment[3]].itemName + "\n" + "\n" + dataItem.equipment[equipment[3]].description)))
            {
                select     = 3;
                sellwindow = true;
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[4]].icon, dataItem.equipment[equipment[4]].itemName + "\n" + "\n" + dataItem.equipment[equipment[4]].description)))
            {
                select     = 4;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[5]].icon, dataItem.equipment[equipment[5]].itemName + "\n" + "\n" + dataItem.equipment[equipment[5]].description)))
            {
                select     = 5;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[6]].icon, dataItem.equipment[equipment[6]].itemName + "\n" + "\n" + dataItem.equipment[equipment[6]].description)))
            {
                select     = 6;
                sellwindow = true;
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[7]].icon, dataItem.equipment[equipment[7]].itemName + "\n" + "\n" + dataItem.equipment[equipment[7]].description)))
            {
                select     = 7;
                sellwindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);
        }

        //---------------Sell Item Confirm Window------------------
        if (sellwindow)
        {
            if (itemInven)
            {
                if (itemSlot[select] == 0)
                {
                    sellwindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.usableItem[itemSlot[select]].price / 2);
            }
            else
            {
                if (equipment[select] == 0)
                {
                    sellwindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.equipment[equipment[select]].price / 2);
            }
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 285, 80, 30), "Sell"))
            {
                if (itemInven)
                {
                    //Sell Usable Item
                    ShopSell(itemSlot[select], select, dataItem.usableItem[itemSlot[select]].price / 2);
                    sellwindow = false;
                }
                else
                {
                    //Sell Equipment
                    ShopSell(equipment[select], select, dataItem.equipment[equipment[select]].price / 2);
                    sellwindow = false;
                }
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 285, 80, 30), "Cancel"))
            {
                sellwindow = false;
            }
        }
        //---------------------------------------------------------------------------------------------
        //---------------------------------------------------------------------------------------------
        //-----------------------------------BUY----------------------------------------------------
        //---------------------------------------------------------------------------------------------
        //---------------------------------------------------------------------------------------------

        //-----------Buy Usable Item---------------------
        if (menu && shopItem && !buywindow && !buyerror)
        {
            GUI.Box(new Rect(260, 140, 280, 285), "Shop");
            GUI.Label(new Rect(280, 395, 150, 50), "$ " + cash.ToString());
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[0]].icon, dataItem.usableItem[itemShopSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[0]].description)))
            {
                select    = 0;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[1]].icon, dataItem.usableItem[itemShopSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[1]].description)))
            {
                select    = 1;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[2]].icon, dataItem.usableItem[itemShopSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[2]].description)))
            {
                select    = 2;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[3]].icon, dataItem.usableItem[itemShopSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[3]].description)))
            {
                select    = 3;
                buywindow = true;
            }

            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[4]].icon, dataItem.usableItem[itemShopSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[4]].description)))
            {
                select    = 4;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[5]].icon, dataItem.usableItem[itemShopSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[5]].description)))
            {
                select    = 5;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[6]].icon, dataItem.usableItem[itemShopSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[6]].description)))
            {
                select    = 6;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.usableItem[itemShopSlot[7]].icon, dataItem.usableItem[itemShopSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemShopSlot[7]].description)))
            {
                select    = 7;
                buywindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);

            if (GUI.Button(new Rect(210, 245, 50, 75), "Item"))
            {
                //Switch to Item Tab
            }
            if (GUI.Button(new Rect(210, 320, 50, 75), "Equip"))
            {
                //Switch to Equipment Tab
                shopEquip = true;
                shopItem  = false;
            }
        }

        //-----------Buy Equipment Item---------------------
        if (menu && shopEquip && !buywindow && !buyerror)
        {
            GUI.Box(new Rect(260, 140, 280, 285), "Shop");
            GUI.Label(new Rect(280, 395, 150, 50), "$ " + cash.ToString());
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[0]].icon, dataItem.equipment[equipmentShopSlot[0]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[0]].description)))
            {
                select    = 0;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[1]].icon, dataItem.equipment[equipmentShopSlot[1]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[1]].description)))
            {
                select    = 1;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[2]].icon, dataItem.equipment[equipmentShopSlot[2]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[2]].description)))
            {
                select    = 2;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[3]].icon, dataItem.equipment[equipmentShopSlot[3]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[3]].description)))
            {
                select    = 3;
                buywindow = true;
            }

            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[4]].icon, dataItem.equipment[equipmentShopSlot[4]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[4]].description)))
            {
                select    = 4;
                buywindow = true;
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[5]].icon, dataItem.equipment[equipmentShopSlot[5]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[5]].description)))
            {
                select    = 5;
                buywindow = true;
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[6]].icon, dataItem.equipment[equipmentShopSlot[6]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[6]].description)))
            {
                select    = 6;
                buywindow = true;
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.equipment[equipmentShopSlot[7]].icon, dataItem.equipment[equipmentShopSlot[7]].itemName + "\n" + "\n" + dataItem.equipment[equipmentShopSlot[7]].description)))
            {
                select    = 7;
                buywindow = true;
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);

            if (GUI.Button(new Rect(210, 245, 50, 75), "Item"))
            {
                //Switch to Item Tab
                shopItem  = true;
                shopEquip = false;
            }
            if (GUI.Button(new Rect(210, 320, 50, 75), "Equip"))
            {
                //Switch to Equipment Tab
            }
        }

        //---------------Buy Item Confirm Window------------------
        if (buywindow)
        {
            if (shopItem)
            {
                if (itemShopSlot[select] == 0)
                {
                    buywindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.usableItem[itemShopSlot[select]].price);
            }
            else
            {
                if (equipmentShopSlot[select] == 0)
                {
                    buywindow = false;
                }
                GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), "Price " + dataItem.equipment[equipmentShopSlot[select]].price);
            }
            if (GUI.Button(new Rect(Screen.width / 2 - 100, 285, 80, 30), "Buy"))
            {
                if (shopItem)
                {
                    //Sell Usable Item
                    ShopBuy(itemShopSlot[select], select, dataItem.usableItem[itemShopSlot[select]].price);
                    buywindow = false;
                }
                else
                {
                    //Sell Equipment
                    ShopBuy(equipmentShopSlot[select], select, dataItem.equipment[equipmentShopSlot[select]].price);
                    buywindow = false;
                }
            }
            if (GUI.Button(new Rect(Screen.width / 2 + 35, 285, 80, 30), "Cancel"))
            {
                buywindow = false;
            }
        }
        //Error When Buying
        if (buyerror)
        {
            GUI.Box(new Rect(Screen.width / 2 - 140, 230, 280, 120), buyErrorLog);
            if (GUI.Button(new Rect(Screen.width / 2 - 40, 285, 80, 30), "OK"))
            {
                buyerror = false;
            }
        }
    }
Ejemplo n.º 24
0
    public void UnEquip(int id)
    {
        bool      full     = false;
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if ((int)dataItem.equipment[id].EquipmentType == 0)
        {
            full = AddEquipment(weaponEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 1)
        {
            full = AddEquipment(armorEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 2)
        {
            full = AddEquipment(accessoryEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 3)
        {
            full = AddEquipment(hatEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 4)
        {
            full = AddEquipment(glovesEquip);
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 5)
        {
            full = AddEquipment(bootsEquip);
        }
        if (!full)
        {
            if ((int)dataItem.equipment[id].EquipmentType == 0)
            {
                weaponEquip = 0;

                GetComponent <AttackTriggerC>().weaponType = 0;
                int reqId = 0;
                GetComponent <AttackTriggerC>().requireItemId   = reqId;
                GetComponent <AttackTriggerC>().requireItemName = "";
                UpdateAmmoUI();
                //GetComponent<AttackTriggerC>().canBlock = false;

                GetComponent <AttackTriggerC>().attackPrefab = fistPrefab.transform;
                if (weapon.Length > 0 && weapon[0] != null)
                {
                    int allWeapon = weapon.Length;
                    int a         = 0;
                    if (allWeapon > 0)
                    {
                        while (a < allWeapon && weapon[a])
                        {
                            weapon[a].SetActive(false);
                            //Destroy(weapon[a].gameObject);
                            a++;
                        }
                    }
                }
                AssignWeaponAnimation(0);
                GetComponent <AttackTriggerC>().attackSoundEffect = dataItem.equipment[0].soundEffect;
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 1)
            {
                armorEquip = 0;
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 2)
            {
                accessoryEquip = 0;
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 3)
            {
                hatEquip = 0;
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 4)
            {
                glovesEquip = 0;
            }
            else if ((int)dataItem.equipment[id].EquipmentType == 5)
            {
                bootsEquip = 0;
            }
            //Reset Power of Current Weapon & Armor
            SettingEquipmentStatus();
        }
    }
Ejemplo n.º 25
0
    public void  EquipItem(int id, int slot)
    {
        GameObject wea = new GameObject();

        if (id == 0)
        {
            return;
        }
        if (!player)
        {
            player = this.gameObject;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        //Backup Your Current Equipment before Unequip
        int tempEquipment = 0;

        if (dataItem.equipment[id].EquipmentType == 0)        //Equipment = Weapon
        //Weapon Type
        {
            tempEquipment = weaponEquip;
            weaponEquip   = id;
            if (dataItem.equipment[id].attackPrefab)
            {
                player.GetComponent <AttackTriggerC>().attackPrefab = dataItem.equipment[id].attackPrefab.transform;
            }
            //Change Weapon Mesh
            if (dataItem.equipment[id].model && weapon.Length > 0 && weapon[0] != null)
            {
                int allWeapon = weapon.Length;
                int a         = 0;
                if (allWeapon > 0 && dataItem.equipment[id].assignAllWeapon)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        weapon[a].SetActive(true);
                        wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                        wea.transform.parent = weapon[a].transform.parent;
                        Destroy(weapon[a].gameObject);
                        weapon[a] = wea;
                        a++;
                    }
                }
                else if (allWeapon > 0)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        if (a == 0)
                        {
                            weapon[a].SetActive(true);
                            wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                            wea.transform.parent = weapon[a].transform.parent;
                            Destroy(weapon[a].gameObject);
                            weapon[a] = wea;
                        }
                        else
                        {
                            weapon[a].SetActive(false);
                        }
                        a++;
                    }
                }
            }
        }
        else
        {
            //Armor Type
            tempEquipment = armorEquip;
            armorEquip    = id;
        }
        if (slot <= equipment.Length)
        {
            equipment[slot] = 0;
        }
        //Assign Weapon Animation to PlayerAnimation Script
        AssignWeaponAnimation(id);
        //Reset Power of Current Weapon & Armor
        player.GetComponent <StatusC>().addAtk     = 0;
        player.GetComponent <StatusC>().addDef     = 0;
        player.GetComponent <StatusC>().addMatk    = 0;
        player.GetComponent <StatusC>().addMdef    = 0;
        player.GetComponent <StatusC>().weaponAtk  = 0;
        player.GetComponent <StatusC>().weaponMatk = 0;
        //Set New Variable of Weapon
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[weaponEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[weaponEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[weaponEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[weaponEquip].magicDefense;
        //Set New Variable of Armor
        player.GetComponent <StatusC>().weaponAtk  += dataItem.equipment[armorEquip].attack;
        player.GetComponent <StatusC>().addDef     += dataItem.equipment[armorEquip].defense;
        player.GetComponent <StatusC>().weaponMatk += dataItem.equipment[armorEquip].magicAttack;
        player.GetComponent <StatusC>().addMdef    += dataItem.equipment[armorEquip].magicDefense;

        player.GetComponent <StatusC>().CalculateStatus();
        AutoSortEquipment();
        AddEquipment(tempEquipment);
    }
Ejemplo n.º 26
0
    // Token: 0x060003A8 RID: 936 RVA: 0x00014C58 File Offset: 0x00013058
    private void ItemWindow(int windowID)
    {
        ItemDataC component = this.database.GetComponent <ItemDataC>();

        if (this.menu && this.itemMenu)
        {
            if (GUI.Button(new Rect(250f, 2f, 30f, 30f), "X"))
            {
                this.OnOffMenu();
            }
            if (GUI.Button(new Rect(30f, 115f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[0]].icon, component.usableItem[this.itemSlot[0]].itemName + "\n\n" + component.usableItem[this.itemSlot[0]].description)) && !component.usableItem[this.itemSlot[0]].unusable)
            {
                this.UseItem(this.itemSlot[0]);
                if (this.itemQuantity[0] > 0)
                {
                    this.itemQuantity[0]--;
                }
                if (this.itemQuantity[0] <= 0)
                {
                    this.itemSlot[0]     = 0;
                    this.itemQuantity[0] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[0] > 0)
            {
                GUI.Label(new Rect(70f, 150f, 20f, 20f), this.itemQuantity[0].ToString());
            }
            if (GUI.Button(new Rect(90f, 115f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[1]].icon, component.usableItem[this.itemSlot[1]].itemName + "\n\n" + component.usableItem[this.itemSlot[1]].description)) && !component.usableItem[this.itemSlot[1]].unusable)
            {
                this.UseItem(this.itemSlot[1]);
                if (this.itemQuantity[1] > 0)
                {
                    this.itemQuantity[1]--;
                }
                if (this.itemQuantity[1] <= 0)
                {
                    this.itemSlot[1]     = 0;
                    this.itemQuantity[1] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[1] > 0)
            {
                GUI.Label(new Rect(130f, 150f, 20f, 20f), this.itemQuantity[1].ToString());
            }
            if (GUI.Button(new Rect(150f, 115f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[2]].icon, component.usableItem[this.itemSlot[2]].itemName + "\n\n" + component.usableItem[this.itemSlot[2]].description)) && !component.usableItem[this.itemSlot[2]].unusable)
            {
                this.UseItem(this.itemSlot[2]);
                if (this.itemQuantity[2] > 0)
                {
                    this.itemQuantity[2]--;
                }
                if (this.itemQuantity[2] <= 0)
                {
                    this.itemSlot[2]     = 0;
                    this.itemQuantity[2] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[2] > 0)
            {
                GUI.Label(new Rect(190f, 150f, 20f, 20f), this.itemQuantity[2].ToString());
            }
            if (GUI.Button(new Rect(210f, 115f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[3]].icon, component.usableItem[this.itemSlot[3]].itemName + "\n\n" + component.usableItem[this.itemSlot[3]].description)) && !component.usableItem[this.itemSlot[3]].unusable)
            {
                this.UseItem(this.itemSlot[3]);
                if (this.itemQuantity[3] > 0)
                {
                    this.itemQuantity[3]--;
                }
                if (this.itemQuantity[3] <= 0)
                {
                    this.itemSlot[3]     = 0;
                    this.itemQuantity[3] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[3] > 0)
            {
                GUI.Label(new Rect(250f, 150f, 20f, 20f), this.itemQuantity[3].ToString());
            }
            if (GUI.Button(new Rect(30f, 175f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[4]].icon, component.usableItem[this.itemSlot[4]].itemName + "\n\n" + component.usableItem[this.itemSlot[4]].description)) && !component.usableItem[this.itemSlot[4]].unusable)
            {
                this.UseItem(this.itemSlot[4]);
                if (this.itemQuantity[4] > 0)
                {
                    this.itemQuantity[4]--;
                }
                if (this.itemQuantity[4] <= 0)
                {
                    this.itemSlot[4]     = 0;
                    this.itemQuantity[4] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[4] > 0)
            {
                GUI.Label(new Rect(70f, 210f, 20f, 20f), this.itemQuantity[4].ToString());
            }
            if (GUI.Button(new Rect(90f, 175f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[5]].icon, component.usableItem[this.itemSlot[5]].itemName + "\n\n" + component.usableItem[this.itemSlot[5]].description)) && !component.usableItem[this.itemSlot[5]].unusable)
            {
                this.UseItem(this.itemSlot[5]);
                if (this.itemQuantity[5] > 0)
                {
                    this.itemQuantity[5]--;
                }
                if (this.itemQuantity[5] <= 0)
                {
                    this.itemSlot[5]     = 0;
                    this.itemQuantity[5] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[5] > 0)
            {
                GUI.Label(new Rect(130f, 210f, 20f, 20f), this.itemQuantity[5].ToString());
            }
            if (GUI.Button(new Rect(150f, 175f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[6]].icon, component.usableItem[this.itemSlot[6]].itemName + "\n\n" + component.usableItem[this.itemSlot[6]].description)) && !component.usableItem[this.itemSlot[6]].unusable)
            {
                this.UseItem(this.itemSlot[6]);
                if (this.itemQuantity[6] > 0)
                {
                    this.itemQuantity[6]--;
                }
                if (this.itemQuantity[6] <= 0)
                {
                    this.itemSlot[6]     = 0;
                    this.itemQuantity[6] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[6] > 0)
            {
                GUI.Label(new Rect(190f, 210f, 20f, 20f), this.itemQuantity[6].ToString());
            }
            if (GUI.Button(new Rect(210f, 175f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[7]].icon, component.usableItem[this.itemSlot[7]].itemName + "\n\n" + component.usableItem[this.itemSlot[7]].description)) && !component.usableItem[this.itemSlot[7]].unusable)
            {
                this.UseItem(this.itemSlot[7]);
                if (this.itemQuantity[7] > 0)
                {
                    this.itemQuantity[7]--;
                }
                if (this.itemQuantity[7] <= 0)
                {
                    this.itemSlot[7]     = 0;
                    this.itemQuantity[7] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[7] > 0)
            {
                GUI.Label(new Rect(250f, 210f, 20f, 20f), this.itemQuantity[7].ToString());
            }
            if (GUI.Button(new Rect(30f, 235f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[8]].icon, component.usableItem[this.itemSlot[8]].itemName + "\n\n" + component.usableItem[this.itemSlot[8]].description)) && !component.usableItem[this.itemSlot[8]].unusable)
            {
                this.UseItem(this.itemSlot[8]);
                if (this.itemQuantity[8] > 0)
                {
                    this.itemQuantity[8]--;
                }
                if (this.itemQuantity[8] <= 0)
                {
                    this.itemSlot[8]     = 0;
                    this.itemQuantity[8] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[8] > 0)
            {
                GUI.Label(new Rect(70f, 270f, 20f, 20f), this.itemQuantity[8].ToString());
            }
            if (GUI.Button(new Rect(90f, 235f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[9]].icon, component.usableItem[this.itemSlot[9]].itemName + "\n\n" + component.usableItem[this.itemSlot[9]].description)) && !component.usableItem[this.itemSlot[9]].unusable)
            {
                this.UseItem(this.itemSlot[9]);
                if (this.itemQuantity[9] > 0)
                {
                    this.itemQuantity[9]--;
                }
                if (this.itemQuantity[9] <= 0)
                {
                    this.itemSlot[9]     = 0;
                    this.itemQuantity[9] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[9] > 0)
            {
                GUI.Label(new Rect(130f, 270f, 20f, 20f), this.itemQuantity[9].ToString());
            }
            if (GUI.Button(new Rect(150f, 235f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[10]].icon, component.usableItem[this.itemSlot[10]].itemName + "\n\n" + component.usableItem[this.itemSlot[10]].description)) && !component.usableItem[this.itemSlot[10]].unusable)
            {
                this.UseItem(this.itemSlot[10]);
                if (this.itemQuantity[10] > 0)
                {
                    this.itemQuantity[10]--;
                }
                if (this.itemQuantity[10] <= 0)
                {
                    this.itemSlot[10]     = 0;
                    this.itemQuantity[10] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[10] > 0)
            {
                GUI.Label(new Rect(190f, 270f, 20f, 20f), this.itemQuantity[10].ToString());
            }
            if (GUI.Button(new Rect(210f, 235f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[11]].icon, component.usableItem[this.itemSlot[11]].itemName + "\n\n" + component.usableItem[this.itemSlot[11]].description)) && !component.usableItem[this.itemSlot[11]].unusable)
            {
                this.UseItem(this.itemSlot[11]);
                if (this.itemQuantity[11] > 0)
                {
                    this.itemQuantity[11]--;
                }
                if (this.itemQuantity[11] <= 0)
                {
                    this.itemSlot[11]     = 0;
                    this.itemQuantity[11] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[11] > 0)
            {
                GUI.Label(new Rect(250f, 270f, 20f, 20f), this.itemQuantity[11].ToString());
            }
            if (GUI.Button(new Rect(30f, 295f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[12]].icon, component.usableItem[this.itemSlot[12]].itemName + "\n\n" + component.usableItem[this.itemSlot[12]].description)) && !component.usableItem[this.itemSlot[12]].unusable)
            {
                this.UseItem(this.itemSlot[12]);
                if (this.itemQuantity[12] > 0)
                {
                    this.itemQuantity[12]--;
                }
                if (this.itemQuantity[12] <= 0)
                {
                    this.itemSlot[12]     = 0;
                    this.itemQuantity[12] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[12] > 0)
            {
                GUI.Label(new Rect(70f, 330f, 20f, 20f), this.itemQuantity[12].ToString());
            }
            if (GUI.Button(new Rect(90f, 295f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[13]].icon, component.usableItem[this.itemSlot[13]].itemName + "\n\n" + component.usableItem[this.itemSlot[13]].description)) && !component.usableItem[this.itemSlot[13]].unusable)
            {
                this.UseItem(this.itemSlot[13]);
                if (this.itemQuantity[13] > 0)
                {
                    this.itemQuantity[13]--;
                }
                if (this.itemQuantity[13] <= 0)
                {
                    this.itemSlot[13]     = 0;
                    this.itemQuantity[13] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[13] > 0)
            {
                GUI.Label(new Rect(130f, 330f, 20f, 20f), this.itemQuantity[13].ToString());
            }
            if (GUI.Button(new Rect(150f, 295f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[14]].icon, component.usableItem[this.itemSlot[14]].itemName + "\n\n" + component.usableItem[this.itemSlot[14]].description)) && !component.usableItem[this.itemSlot[14]].unusable)
            {
                this.UseItem(this.itemSlot[14]);
                if (this.itemQuantity[14] > 0)
                {
                    this.itemQuantity[14]--;
                }
                if (this.itemQuantity[14] <= 0)
                {
                    this.itemSlot[14]     = 0;
                    this.itemQuantity[14] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[14] > 0)
            {
                GUI.Label(new Rect(190f, 330f, 20f, 20f), this.itemQuantity[14].ToString());
            }
            if (GUI.Button(new Rect(210f, 295f, 50f, 50f), new GUIContent(component.usableItem[this.itemSlot[15]].icon, component.usableItem[this.itemSlot[15]].itemName + "\n\n" + component.usableItem[this.itemSlot[15]].description)) && !component.usableItem[this.itemSlot[15]].unusable)
            {
                this.UseItem(this.itemSlot[15]);
                if (this.itemQuantity[15] > 0)
                {
                    this.itemQuantity[15]--;
                }
                if (this.itemQuantity[15] <= 0)
                {
                    this.itemSlot[15]     = 0;
                    this.itemQuantity[15] = 0;
                    this.AutoSortItem();
                }
            }
            if (this.itemQuantity[15] > 0)
            {
                GUI.Label(new Rect(250f, 330f, 20f, 20f), this.itemQuantity[15].ToString());
            }
            GUI.Label(new Rect(20f, 355f, 150f, 50f), "$ " + this.cash.ToString());
            GUI.Box(new Rect(20f, 30f, 240f, 60f), GUI.tooltip);
        }
        if (this.menu && this.equipMenu)
        {
            if (GUI.Button(new Rect(250f, 2f, 30f, 30f), "X"))
            {
                this.OnOffMenu();
            }
            GUI.Label(new Rect(20f, 130f, 150f, 50f), "Weapon");
            if (GUI.Button(new Rect(100f, 115f, 50f, 50f), new GUIContent(component.equipment[this.weaponEquip].icon, component.equipment[this.weaponEquip].itemName + "\n\n" + component.equipment[this.weaponEquip].description)))
            {
                if (!this.allowWeaponUnequip || this.weaponEquip == 0)
                {
                    return;
                }
                this.UnEquip(this.weaponEquip);
            }
            GUI.Label(new Rect(20f, 190f, 150f, 50f), "Armor");
            if (GUI.Button(new Rect(100f, 175f, 50f, 50f), new GUIContent(component.equipment[this.armorEquip].icon, component.equipment[this.armorEquip].itemName + "\n\n" + component.equipment[this.armorEquip].description)))
            {
                if (!this.allowArmorUnequip || this.armorEquip == 0)
                {
                    return;
                }
                this.UnEquip(this.armorEquip);
            }
            if (GUI.Button(new Rect(30f, 235f, 50f, 50f), new GUIContent(component.equipment[this.equipment[0]].icon, component.equipment[this.equipment[0]].itemName + "\n\n" + component.equipment[this.equipment[0]].description)))
            {
                this.EquipItem(this.equipment[0], 0);
            }
            if (GUI.Button(new Rect(90f, 235f, 50f, 50f), new GUIContent(component.equipment[this.equipment[1]].icon, component.equipment[this.equipment[1]].itemName + "\n\n" + component.equipment[this.equipment[1]].description)))
            {
                this.EquipItem(this.equipment[1], 1);
            }
            if (GUI.Button(new Rect(150f, 235f, 50f, 50f), new GUIContent(component.equipment[this.equipment[2]].icon, component.equipment[this.equipment[2]].itemName + "\n\n" + component.equipment[this.equipment[2]].description)))
            {
                this.EquipItem(this.equipment[2], 2);
            }
            if (GUI.Button(new Rect(210f, 235f, 50f, 50f), new GUIContent(component.equipment[this.equipment[3]].icon, component.equipment[this.equipment[3]].itemName + "\n\n" + component.equipment[this.equipment[3]].description)))
            {
                this.EquipItem(this.equipment[3], 3);
            }
            if (GUI.Button(new Rect(30f, 295f, 50f, 50f), new GUIContent(component.equipment[this.equipment[4]].icon, component.equipment[this.equipment[4]].itemName + "\n\n" + component.equipment[this.equipment[4]].description)))
            {
                this.EquipItem(this.equipment[4], 4);
            }
            if (GUI.Button(new Rect(90f, 295f, 50f, 50f), new GUIContent(component.equipment[this.equipment[5]].icon, component.equipment[this.equipment[5]].itemName + "\n\n" + component.equipment[this.equipment[5]].description)))
            {
                this.EquipItem(this.equipment[5], 5);
            }
            if (GUI.Button(new Rect(150f, 295f, 50f, 50f), new GUIContent(component.equipment[this.equipment[6]].icon, component.equipment[this.equipment[6]].itemName + "\n\n" + component.equipment[this.equipment[6]].description)))
            {
                this.EquipItem(this.equipment[6], 6);
            }
            if (GUI.Button(new Rect(210f, 295f, 50f, 50f), new GUIContent(component.equipment[this.equipment[7]].icon, component.equipment[this.equipment[7]].itemName + "\n\n" + component.equipment[this.equipment[7]].description)))
            {
                this.EquipItem(this.equipment[7], 7);
            }
            GUI.Label(new Rect(20f, 355f, 150f, 50f), "$ " + this.cash.ToString());
            GUI.Box(new Rect(20f, 30f, 240f, 60f), GUI.tooltip);
        }
        GUI.DragWindow(new Rect(0f, 0f, 10000f, 10000f));
    }
Ejemplo n.º 27
0
    public void AssignWeaponAnimation(int id)
    {
        ItemDataC        dataItem   = database.GetComponent <ItemDataC>();
        PlayerAnimationC playerAnim = player.GetComponent <PlayerAnimationC>();

        if (!playerAnim)
        {
            //If use Mecanim
            AssignMecanimAnimation(id);
            return;
        }

        //Assign All Attack Combo Animation of the weapon from Database
        if (dataItem.equipment[id].attackCombo.Length > 0 && dataItem.equipment[id].attackCombo[0] && dataItem.equipment[id].EquipmentType == EqType.Weapon)
        {
            int allPrefab = dataItem.equipment[id].attackCombo.Length;
            player.GetComponent <AttackTriggerC>().attackCombo = new AnimationClip[allPrefab];
            player.GetComponent <AttackTriggerC>().c           = 0;

            int a = 0;
            if (allPrefab > 0)
            {
                while (a < allPrefab)
                {
                    player.GetComponent <AttackTriggerC>().attackCombo[a] = dataItem.equipment[id].attackCombo[a];
                    player.GetComponent <AttackTriggerC>().mainModel.GetComponent <Animation>()[dataItem.equipment[id].attackCombo[a].name].layer = 15;
                    a++;
                }
            }
            player.GetComponent <AttackTriggerC>().whileAttack = dataItem.equipment[id].whileAttack;
            //Assign Attack Speed
            player.GetComponent <AttackTriggerC>().attackSpeed = dataItem.equipment[id].attackSpeed;
            player.GetComponent <AttackTriggerC>().atkDelay1   = dataItem.equipment[id].attackDelay;
        }

        if (dataItem.equipment[id].idleAnimation)
        {
            player.GetComponent <PlayerAnimationC>().idle = dataItem.equipment[id].idleAnimation;
        }
        if (dataItem.equipment[id].runAnimation)
        {
            playerAnim.run = dataItem.equipment[id].runAnimation;
        }
        if (dataItem.equipment[id].rightAnimation)
        {
            playerAnim.right = dataItem.equipment[id].rightAnimation;
        }
        if (dataItem.equipment[id].leftAnimation)
        {
            playerAnim.left = dataItem.equipment[id].leftAnimation;
        }
        if (dataItem.equipment[id].backAnimation)
        {
            playerAnim.back = dataItem.equipment[id].backAnimation;
        }
        if (dataItem.equipment[id].jumpAnimation)
        {
            player.GetComponent <PlayerAnimationC>().jump = dataItem.equipment[id].jumpAnimation;
        }
        playerAnim.AnimationSpeedSet();
    }
Ejemplo n.º 28
0
    public void EquipItem(int id, int slot)
    {
        GameObject wea = new GameObject();

        if (id == 0)
        {
            return;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        //Backup Your Current Equipment before Unequip
        int tempEquipment = 0;

        if ((int)dataItem.equipment[id].EquipmentType == 0)        //Equipment = Weapon
        //Weapon Type
        {
            tempEquipment = weaponEquip;
            weaponEquip   = id;
            if (dataItem.equipment[id].attackPrefab)
            {
                GetComponent <AttackTriggerC>().attackPrefab = dataItem.equipment[id].attackPrefab.transform;
            }
            //Change Weapon Mesh
            if (dataItem.equipment[id].model && weapon.Length > 0 && weapon[0] != null)
            {
                int allWeapon = weapon.Length;
                int a         = 0;
                if (allWeapon > 0 && dataItem.equipment[id].assignAllWeapon)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        weapon[a].SetActive(true);
                        wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                        wea.transform.parent = weapon[a].transform.parent;
                        Destroy(weapon[a].gameObject);
                        weapon[a] = wea;
                        a++;
                    }
                }
                else if (allWeapon > 0)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        if (a == 0)
                        {
                            weapon[a].SetActive(true);
                            wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                            wea.transform.parent = weapon[a].transform.parent;
                            Destroy(weapon[a].gameObject);
                            weapon[a] = wea;
                        }
                        else
                        {
                            weapon[a].SetActive(false);
                        }
                        a++;
                    }
                }
            }
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 1)
        {
            //Armor Type
            tempEquipment = armorEquip;
            armorEquip    = id;
        }
        else
        {
            //Accessory Type
            tempEquipment  = accessoryEquip;
            accessoryEquip = id;
        }
        if (slot <= equipment.Length)
        {
            equipment[slot] = 0;
        }
        //Assign Weapon Animation to PlayerAnimation Script
        AssignWeaponAnimation(id);
        //Reset Power of Current Weapon & Armor
        SettingEquipmentStatus();
        AutoSortEquipment();
        AddEquipment(tempEquipment);
    }
Ejemplo n.º 29
0
    public void EquipItem(int id, int slot)
    {
        GameObject wea = new GameObject();

        if (id == 0)
        {
            return;
        }
        ItemDataC dataItem = database.GetComponent <ItemDataC>();
        //Backup Your Current Equipment before Unequip
        int tempEquipment = 0;

        if ((int)dataItem.equipment[id].EquipmentType == 0)        //Equipment = Weapon
        //Weapon Type
        {
            tempEquipment = weaponEquip;
            weaponEquip   = id;
            if (dataItem.equipment[id].attackPrefab)
            {
                GetComponent <AttackTriggerC>().attackPrefab = dataItem.equipment[id].attackPrefab.transform;
            }
            GetComponent <AttackTriggerC>().weaponType = dataItem.equipment[id].weaponType;
            int reqId = dataItem.equipment[id].requireItemId;
            GetComponent <AttackTriggerC>().requireItemId     = reqId;
            GetComponent <AttackTriggerC>().requireItemName   = dataItem.usableItem[reqId].itemName;
            GetComponent <AttackTriggerC>().attackSoundEffect = dataItem.equipment[id].soundEffect;
            //Update Show Ammo UI
            if (reqId > 0 && ShowAmmoC.showAmmo)
            {
                ShowAmmoC.showAmmo.OnOffShowing(true);
                int    sl  = FindItemSlot(reqId);
                int    am  = 0;
                Sprite spr = dataItem.usableItem[reqId].iconSprite;
                if (sl < itemQuantity.Length)
                {
                    am = itemQuantity[sl];
                }
                ShowAmmoC.showAmmo.UpdateSprite(spr);
                ShowAmmoC.showAmmo.UpdateAmmo(am);
            }
            else if (ShowAmmoC.showAmmo)
            {
                ShowAmmoC.showAmmo.OnOffShowing(false);
            }
            //Change Weapon Mesh
            if (dataItem.equipment[id].model && weapon.Length > 0 && weapon[0] != null)
            {
                int allWeapon = weapon.Length;
                int a         = 0;
                if (allWeapon > 0 && dataItem.equipment[id].assignAllWeapon)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        weapon[a].SetActive(true);
                        wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                        wea.transform.parent = weapon[a].transform.parent;
                        Destroy(weapon[a].gameObject);
                        weapon[a] = wea;
                        a++;
                    }
                }
                else if (allWeapon > 0)
                {
                    while (a < allWeapon && weapon[a])
                    {
                        if (a == 0)
                        {
                            weapon[a].SetActive(true);
                            wea = Instantiate(dataItem.equipment[id].model, weapon[a].transform.position, weapon[a].transform.rotation) as GameObject;
                            wea.transform.parent = weapon[a].transform.parent;
                            Destroy(weapon[a].gameObject);
                            weapon[a] = wea;
                        }
                        else
                        {
                            weapon[a].SetActive(false);
                        }
                        a++;
                    }
                }
            }
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 1)
        {
            //Armor Type
            tempEquipment = armorEquip;
            armorEquip    = id;
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 2)
        {
            //Accessory Type
            tempEquipment  = accessoryEquip;
            accessoryEquip = id;
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 3)
        {
            //Headgear Type
            tempEquipment = hatEquip;
            hatEquip      = id;
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 4)
        {
            //Gloves Type
            tempEquipment = glovesEquip;
            glovesEquip   = id;
        }
        else if ((int)dataItem.equipment[id].EquipmentType == 5)
        {
            //Boots Type
            tempEquipment = bootsEquip;
            bootsEquip    = id;
        }
        if (slot <= equipment.Length)
        {
            equipment[slot] = 0;
        }
        //Assign Weapon Animation to PlayerAnimation Script
        AssignWeaponAnimation(id);
        //Reset Power of Current Weapon & Armor
        SettingEquipmentStatus();
        AutoSortEquipment();
        AddEquipment(tempEquipment);
    }
Ejemplo n.º 30
0
    void  OnGUI()
    {
        ItemDataC dataItem = database.GetComponent <ItemDataC>();

        if (menu && itemMenu)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Items");
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //GUI.Box ( new Rect(280,170,240,30), GUI.tooltip);
            //GUI.Box ( new Rect(280,205,240,30), "Recover 30 HP");
            //Items Slot
            if (GUI.Button(new Rect(290, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[0]].icon, dataItem.usableItem[itemSlot[0]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[0]].description)))
            {
                UseItem(itemSlot[0]);
                if (itemQuantity[0] > 0)
                {
                    itemQuantity[0]--;
                }
                if (itemQuantity[0] <= 0)
                {
                    itemSlot[0]     = 0;
                    itemQuantity[0] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[0] > 0)
            {
                GUI.Label(new Rect(330, 290, 20, 20), itemQuantity[0].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[1]].icon, dataItem.usableItem[itemSlot[1]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[1]].description)))
            {
                UseItem(itemSlot[1]);
                if (itemQuantity[1] > 0)
                {
                    itemQuantity[1]--;
                }
                if (itemQuantity[1] <= 0)
                {
                    itemSlot[1]     = 0;
                    itemQuantity[1] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[1] > 0)
            {
                GUI.Label(new Rect(390, 290, 20, 20), itemQuantity[1].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[2]].icon, dataItem.usableItem[itemSlot[2]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[2]].description)))
            {
                UseItem(itemSlot[2]);
                if (itemQuantity[2] > 0)
                {
                    itemQuantity[2]--;
                }
                if (itemQuantity[2] <= 0)
                {
                    itemSlot[2]     = 0;
                    itemQuantity[2] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[2] > 0)
            {
                GUI.Label(new Rect(450, 290, 20, 20), itemQuantity[2].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 255, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[3]].icon, dataItem.usableItem[itemSlot[3]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[3]].description)))
            {
                UseItem(itemSlot[3]);
                if (itemQuantity[3] > 0)
                {
                    itemQuantity[3]--;
                }
                if (itemQuantity[3] <= 0)
                {
                    itemSlot[3]     = 0;
                    itemQuantity[3] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[3] > 0)
            {
                GUI.Label(new Rect(510, 290, 20, 20), itemQuantity[3].ToString());                   //Quantity
            }

            //-----------------------------
            if (GUI.Button(new Rect(290, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[4]].icon, dataItem.usableItem[itemSlot[4]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[4]].description)))
            {
                UseItem(itemSlot[4]);
                if (itemQuantity[4] > 0)
                {
                    itemQuantity[4]--;
                }
                if (itemQuantity[4] <= 0)
                {
                    itemSlot[4]     = 0;
                    itemQuantity[4] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[4] > 0)
            {
                GUI.Label(new Rect(330, 350, 20, 20), itemQuantity[4].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[5]].icon, dataItem.usableItem[itemSlot[5]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[5]].description)))
            {
                UseItem(itemSlot[5]);
                if (itemQuantity[5] > 0)
                {
                    itemQuantity[5]--;
                }
                if (itemQuantity[5] <= 0)
                {
                    itemSlot[5]     = 0;
                    itemQuantity[5] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[5] > 0)
            {
                GUI.Label(new Rect(390, 350, 20, 20), itemQuantity[5].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[6]].icon, dataItem.usableItem[itemSlot[6]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[6]].description)))
            {
                UseItem(itemSlot[6]);
                if (itemQuantity[6] > 0)
                {
                    itemQuantity[6]--;
                }
                if (itemQuantity[6] <= 0)
                {
                    itemSlot[6]     = 0;
                    itemQuantity[6] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[6] > 0)
            {
                GUI.Label(new Rect(450, 350, 20, 20), itemQuantity[6].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 315, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[7]].icon, dataItem.usableItem[itemSlot[7]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[7]].description)))
            {
                UseItem(itemSlot[7]);
                if (itemQuantity[7] > 0)
                {
                    itemQuantity[7]--;
                }
                if (itemQuantity[7] <= 0)
                {
                    itemSlot[7]     = 0;
                    itemQuantity[7] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[7] > 0)
            {
                GUI.Label(new Rect(510, 350, 20, 20), itemQuantity[7].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[8]].icon, dataItem.usableItem[itemSlot[8]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[8]].description)))
            {
                UseItem(itemSlot[8]);
                if (itemQuantity[8] > 0)
                {
                    itemQuantity[8]--;
                }
                if (itemQuantity[8] <= 0)
                {
                    itemSlot[8]     = 0;
                    itemQuantity[8] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[8] > 0)
            {
                GUI.Label(new Rect(330, 410, 20, 20), itemQuantity[8].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[9]].icon, dataItem.usableItem[itemSlot[9]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[9]].description)))
            {
                UseItem(itemSlot[9]);
                if (itemQuantity[9] > 0)
                {
                    itemQuantity[9]--;
                }
                if (itemQuantity[9] <= 0)
                {
                    itemSlot[9]     = 0;
                    itemQuantity[9] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[9] > 0)
            {
                GUI.Label(new Rect(390, 410, 20, 20), itemQuantity[9].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[10]].icon, dataItem.usableItem[itemSlot[10]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[10]].description)))
            {
                UseItem(itemSlot[10]);
                if (itemQuantity[10] > 0)
                {
                    itemQuantity[10]--;
                }
                if (itemQuantity[10] <= 0)
                {
                    itemSlot[10]     = 0;
                    itemQuantity[10] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[10] > 0)
            {
                GUI.Label(new Rect(450, 410, 20, 20), itemQuantity[10].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[11]].icon, dataItem.usableItem[itemSlot[11]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[11]].description)))
            {
                UseItem(itemSlot[11]);
                if (itemQuantity[11] > 0)
                {
                    itemQuantity[11]--;
                }
                if (itemQuantity[11] <= 0)
                {
                    itemSlot[11]     = 0;
                    itemQuantity[11] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[11] > 0)
            {
                GUI.Label(new Rect(510, 410, 20, 20), itemQuantity[11].ToString());                   //Quantity
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[12]].icon, dataItem.usableItem[itemSlot[12]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[12]].description)))
            {
                UseItem(itemSlot[12]);
                if (itemQuantity[12] > 0)
                {
                    itemQuantity[12]--;
                }
                if (itemQuantity[12] <= 0)
                {
                    itemSlot[12]     = 0;
                    itemQuantity[12] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[12] > 0)
            {
                GUI.Label(new Rect(330, 470, 20, 20), itemQuantity[12].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[13]].icon, dataItem.usableItem[itemSlot[13]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[13]].description)))
            {
                UseItem(itemSlot[13]);
                if (itemQuantity[13] > 0)
                {
                    itemQuantity[13]--;
                }
                if (itemQuantity[13] <= 0)
                {
                    itemSlot[13]     = 0;
                    itemQuantity[13] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[13] > 0)
            {
                GUI.Label(new Rect(390, 470, 20, 20), itemQuantity[13].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[14]].icon, dataItem.usableItem[itemSlot[14]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[14]].description)))
            {
                UseItem(itemSlot[14]);
                if (itemQuantity[14] > 0)
                {
                    itemQuantity[14]--;
                }
                if (itemQuantity[14] <= 0)
                {
                    itemSlot[14]     = 0;
                    itemQuantity[14] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[14] > 0)
            {
                GUI.Label(new Rect(450, 470, 20, 20), itemQuantity[14].ToString());                   //Quantity
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.usableItem[itemSlot[15]].icon, dataItem.usableItem[itemSlot[15]].itemName + "\n" + "\n" + dataItem.usableItem[itemSlot[15]].description)))
            {
                UseItem(itemSlot[15]);
                if (itemQuantity[15] > 0)
                {
                    itemQuantity[15]--;
                }
                if (itemQuantity[15] <= 0)
                {
                    itemSlot[15]     = 0;
                    itemQuantity[15] = 0;
                    AutoSortItem();
                }
            }
            if (itemQuantity[15] > 0)
            {
                GUI.Label(new Rect(510, 470, 20, 20), itemQuantity[15].ToString());                   //Quantity
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);
            //-----------------------------
            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());

            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
                //Switch to Item Tab
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
                //Switch to Equipment Tab
                equipMenu = true;
                itemMenu  = false;
            }
        }

        //---------------Equipment Tab----------------------------
        if (menu && equipMenu)
        {
            GUI.Box(new Rect(260, 140, 280, 385), "Equipment");
            //Close Window Button
            if (GUI.Button(new Rect(490, 142, 30, 30), "X"))
            {
                OnOffMenu();
            }
            //Item Name
            if (GUI.Button(new Rect(210, 245, 50, 100), "Item"))
            {
                //Switch to Item Tab
                itemMenu  = true;
                equipMenu = false;
            }
            if (GUI.Button(new Rect(210, 365, 50, 100), "Equip"))
            {
                //Switch to Equipment Tab
            }
            GUI.Label(new Rect(280, 495, 150, 50), "$ " + cash.ToString());

            //Weapon
            GUI.Label(new Rect(280, 270, 150, 50), "Weapon");
            if (GUI.Button(new Rect(360, 255, 50, 50), new GUIContent(dataItem.equipment[weaponEquip].icon, dataItem.equipment[weaponEquip].itemName + "\n" + "\n" + dataItem.equipment[weaponEquip].description)))
            {
                if (!allowWeaponUnequip || weaponEquip == 0)
                {
                    return;
                }
                UnEquip(weaponEquip);
            }
            //Armor
            GUI.Label(new Rect(280, 330, 150, 50), "Armor");
            if (GUI.Button(new Rect(360, 315, 50, 50), new GUIContent(dataItem.equipment[armorEquip].icon, dataItem.equipment[armorEquip].itemName + "\n" + "\n" + dataItem.equipment[armorEquip].description)))
            {
                if (!allowArmorUnequip || armorEquip == 0)
                {
                    return;
                }
                UnEquip(armorEquip);
            }


            //--------Equipment Slot---------
            if (GUI.Button(new Rect(290, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[0]].icon, dataItem.equipment[equipment[0]].itemName + "\n" + "\n" + dataItem.equipment[equipment[0]].description)))
            {
                EquipItem(equipment[0], 0);
            }

            if (GUI.Button(new Rect(350, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[1]].icon, dataItem.equipment[equipment[1]].itemName + "\n" + "\n" + dataItem.equipment[equipment[1]].description)))
            {
                EquipItem(equipment[1], 1);
            }

            if (GUI.Button(new Rect(410, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[2]].icon, dataItem.equipment[equipment[2]].itemName + "\n" + "\n" + dataItem.equipment[equipment[2]].description)))
            {
                EquipItem(equipment[2], 2);
            }

            if (GUI.Button(new Rect(470, 375, 50, 50), new GUIContent(dataItem.equipment[equipment[3]].icon, dataItem.equipment[equipment[3]].itemName + "\n" + "\n" + dataItem.equipment[equipment[3]].description)))
            {
                EquipItem(equipment[3], 3);
            }
            //-----------------------------
            if (GUI.Button(new Rect(290, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[4]].icon, dataItem.equipment[equipment[4]].itemName + "\n" + "\n" + dataItem.equipment[equipment[4]].description)))
            {
                EquipItem(equipment[4], 4);
            }

            if (GUI.Button(new Rect(350, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[5]].icon, dataItem.equipment[equipment[5]].itemName + "\n" + "\n" + dataItem.equipment[equipment[5]].description)))
            {
                EquipItem(equipment[5], 5);
            }

            if (GUI.Button(new Rect(410, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[6]].icon, dataItem.equipment[equipment[6]].itemName + "\n" + "\n" + dataItem.equipment[equipment[6]].description)))
            {
                EquipItem(equipment[6], 6);
            }

            if (GUI.Button(new Rect(470, 435, 50, 50), new GUIContent(dataItem.equipment[equipment[7]].icon, dataItem.equipment[equipment[7]].itemName + "\n" + "\n" + dataItem.equipment[equipment[7]].description)))
            {
                EquipItem(equipment[7], 7);
            }
            GUI.Box(new Rect(280, 170, 240, 60), GUI.tooltip);
        }
        //hover = GUI.tooltip;
    }