Beispiel #1
0
    //武器格子点击回调
    void OnWeaponSlotClick(UIItemSlot slot, PointerEventData eventData)
    {
        LocalPlayer localPlayer = Helper.FindLocalPlayer();

        if (localPlayer != null && bindEquipment != null)
        {
            MouseItem mouseItem = localPlayer.bag.mouseItem;
            if (mouseItem.hasItem)
            { //鼠标有物品,则尝试装备
                if (mouseItem.item.Type.IsWeapon)
                {
                    Item preWeapon = null;
                    bindEquipment.PutOnWeapon(mouseItem.TakeItem(), slot.index, out preWeapon);
                    mouseItem.PutItem(preWeapon); //鼠标放入之前格子里的武器
                }
                else
                { //鼠标上的不是武器,什么都不用做
                }
            }
            else
            {   //鼠标没物品,尝试取下武器,如果没武器,则会得到null
                mouseItem.PutItem(bindEquipment.TakeOffWeapon(slot.index));
            }
            Helper.ShowTips(bindEquipment.Weapons[slot.index]);
        }
        Helper.MoveWndToFront(transform);
    }
Beispiel #2
0
 void Start()
 {
     lib       = GetComponent <Library>();
     inv       = GetComponent <Inventary>();
     upgrade   = GetComponent <Upgrader>();
     MouseItem = GetComponent <MouseItem>();
 }
Beispiel #3
0
    //护甲格子点击回调
    void OnArmorSlotClick(UIItemSlot slot, PointerEventData eventData)
    {
        LocalPlayer localPlayer = Helper.FindLocalPlayer();

        if (localPlayer != null && bindEquipment != null)
        {
            MouseItem mouseItem = localPlayer.bag.mouseItem;
            if (mouseItem.hasItem)
            { //鼠标有物品,则尝试装备
                if (mouseItem.item.Type.IsArmor)
                {
                    ArmorProperties armorProp = EquipTable.GetArmorProp(mouseItem.item.Type.armorId);
                    if (armorProp != null && armorProp.armorType == PlayerEquipment.armorTypes[slot.index])
                    {                                                                             //护甲有效,护甲类型匹配,则装备
                        Item preArmor = null;
                        bindEquipment.PutOnArmor(mouseItem.TakeItem(), slot.index, out preArmor); //穿上护甲
                        mouseItem.PutItem(preArmor);                                              //鼠标放入之前格子里的护甲
                    }
                }
                else
                { //鼠标上的不是护甲,什么都不用做
                }
            }
            else
            {   //鼠标没物品,尝试取下武器,如果没武器,则会得到null
                mouseItem.PutItem(bindEquipment.TakeOffArmor(slot.index));
            }
            Helper.ShowTips(bindEquipment.Armors[slot.index]);
        }
        Helper.MoveWndToFront(transform);
    }
Beispiel #4
0
    void Start()
    {
        lib   = GetComponent <Library>();
        Equip = GetComponent <Equipment>();

        MouseItem = GetComponent <MouseItem>();
    }
Beispiel #5
0
    void OnMouseItemChanged(System.Object sender)
    {
        MouseItem mouseItem = sender as MouseItem;

        if (mouseItem != null)
        {
            SetItemInfo(mouseItem.item);
        }
    }
Beispiel #6
0
        static void Main(string[] args)
        {
            BaseLaptop ToBuy = new HPLaptop();

            ToBuy = new MouseItem(ToBuy);
            ToBuy = new HeadsetItem(ToBuy);
            ToBuy = new RAMItem(ToBuy, 4);
            Console.WriteLine("{0}\nDescription: {1}\nPrice: {2}", ToBuy.GetName(), ToBuy.GetDescription(), ToBuy.GetPrice());
            Console.ReadKey();
        }
Beispiel #7
0
    //点下物品格
    void OnItemMouseDown(UIItemSlot slot, PointerEventData eventData)
    {
        if (bindBag != null)
        {
            //获取背包内容
            ItemPackage itemPack = bindBag.itemPack;
            if (eventData.button == PointerEventData.InputButton.Left)
            {                                        // 左键
                if (Input.GetKey(KeyCode.LeftShift)) //按住shift,移动到垃圾箱
                {
                    Item itemInSlot = null;          //原来格子里的物品
                    itemInSlot = itemPack.TakeItem(slot.index);
                    if (itemInSlot != null)          //如果有物品,放入垃圾箱
                    {
                        bindBag.trash.PutItem(itemInSlot);
                    }
                }
                else
                {                               //没有按shift
                    MouseItem mouseItem = bindBag.mouseItem;
                    if (mouseItem.hasItem)      //鼠标拖拽有物品,放入格子
                    {
                        Item itemInSlot = null; //原来格子里的物品
                        itemPack.PutInItem(mouseItem.TakeItem(), slot.index, out itemInSlot);
                        //可以叠加或原来没有物品,则itemInSlot为null,不论是否null,放入鼠标即可
                        mouseItem.PutItem(itemInSlot);
                    }
                    else
                    { //鼠标没有物品,取出原来格子里的物品,放入鼠标即可
                        mouseItem.PutItem(itemPack.TakeItem(slot.index));
                    }
                }
            }
            else
            {                                               //右键,使用
                Item itemInSlot = null;                     //原来格子里的物品
                itemInSlot = itemPack.TakeItem(slot.index); //拿出来
                if (itemInSlot.Type.IsArmor)
                {                                           //护甲,装备上,饰品就放在第一个格子里
                    LocalPlayer localPlayer = Helper.FindLocalPlayer();
                    if (localPlayer != null)
                    {
                        Item preArmor = null;
                        localPlayer.equipment.PutOnArmor(itemInSlot, out preArmor); //穿上护甲
                        itemPack.PutInItem(preArmor, slot.index, out itemInSlot);   //脱下的护甲放入这个格子里
                    }
                }
            }
            Helper.ShowTips(itemPack.content[slot.index]);
        }

        Helper.MoveWndToFront(transform);
    }
Beispiel #8
0
    void OnTrashMouseDown(UIItemSlot slot, PointerEventData eventData)
    {
        if (bindBag != null)
        {
            //获取背包内容
            Trash     trash     = bindBag.trash;
            MouseItem mouseItem = bindBag.mouseItem;
            if (mouseItem.hasItem) //鼠标拖拽有物品,放入格子
            {
                trash.PutItem(mouseItem.TakeItem());
            }
            else
            {
                mouseItem.PutItem(trash.TakeItem());
            }
            Helper.ShowTips(trash.item);
        }

        Helper.MoveWndToFront(transform);
    }
Beispiel #9
0
 private void Start()
 {
     sellCanvas.SetActive(false);
     _mouseItem   = GetComponent <MouseItem>();
     _gameManager = GameManager.GetInstance();
 }
Beispiel #10
0
 // Use this for initialization
 void Start()
 {
     mouseI = mouseSlot.transform.GetComponent <MouseItem>();
     CreateInventorySlots();
     Redraw();
 }