Example #1
0
    protected override void OnAddButtonListener()
    {
        UIEventListener.Get(btnClose).onClick        = OnCloseClick;
        UIEventListener.Get(btnReturn).onClick       = OnCloseClick;
        UIEventListener.Get(btnOneKeyToSell).onClick = OnOneKeyToSellClick;
        UIEventListener.Get(btnArrange).onClick      = OnArrangeClick;

        for (int i = 0; i < mBagCells.Count; i++)
        {
            int index = i;
            UIEventListener.Get(mBagCells[index].itemBtn).onClick = OnBagCellClick;
        }

        foreach (var current in mBagMenus)
        {
            EBagType   type = current.Key;
            GameObject menu = current.Value;
            UIEventListener.Get(menu).onClick = (GameObject go) =>
            {
                GTAudioManager.Instance.PlayEffectAudio(GTAudioKey.SOUND_UI_CLICK);
                if (type == mShow)
                {
                    return;
                }
                ShowBagView(type);
            };
        }
    }
Example #2
0
    public void TrySortBag(EBagType bagType)
    {
        ReqSortBag req = new ReqSortBag();

        req.BagType = (int)bagType;
        NetworkManager.Instance.Send <ReqSortBag>(MessageID.MSG_REQ_SORTBAG, req);
    }
Example #3
0
    public static bool CheckBagFull(int addBagNum, EBagType bagType, bool showTip = true)
    {
        Dictionary <int, XItem> itemData = GTDataManager.Instance.GetBagDataByBagType(bagType);

        if (addBagNum + itemData.Count >= GTDataManager.Instance.GetBagNum())
        {
            if (showTip)
            {
                GTItemHelper.ShowTip("背包空间不足");
            }
            return(true);
        }
        return(false);
    }
Example #4
0
    public static void ShowItemDialogByBagType(EBagType bagType, int pos)
    {
        Dictionary <int, XItem> dict = GTDataManager.Instance.GetBagDataByBagType(bagType);

        if (!dict.ContainsKey(pos))
        {
            return;
        }
        XItem item = dict[pos];
        DItem db   = ReadCfgItem.GetDataById(item.Id);

        switch (db.ItemType)
        {
        case EItemType.EQUIP:
            GTWindowManager.Instance.OpenWindow(EWindowID.UIEquipInfo);
            UIEquipInfo w1 = (UIEquipInfo)GTWindowManager.Instance.GetWindow(EWindowID.UIEquipInfo);
            w1.ShowViewByPos(EPosType.BagItem, pos);
            break;

        case EItemType.MAT:
            GTWindowManager.Instance.OpenWindow(EWindowID.UIItemInfo);
            UIItemInfo w2 = (UIItemInfo)GTWindowManager.Instance.GetWindow(EWindowID.UIItemInfo);
            w2.ShowViewByPos(pos, false);
            break;

        case EItemType.DRUG:
        case EItemType.BOX:
        case EItemType.KEY:
            GTWindowManager.Instance.OpenWindow(EWindowID.UIItemInfo);
            UIItemInfo w3 = (UIItemInfo)GTWindowManager.Instance.GetWindow(EWindowID.UIItemInfo);
            w3.ShowViewByPos(pos, true);
            break;

        case EItemType.EXP:
            break;

        case EItemType.CHIP:
            GTWindowManager.Instance.OpenWindow(EWindowID.UIChipInfo);
            UIChipInfo w4 = (UIChipInfo)GTWindowManager.Instance.GetWindow(EWindowID.UIChipInfo);
            w4.ShowViewByPos(pos);
            break;

        case EItemType.GEM:
            GTWindowManager.Instance.OpenWindow(EWindowID.UIGemInfo);
            UIGemInfo w5 = (UIGemInfo)GTWindowManager.Instance.GetWindow(EWindowID.UIGemInfo);
            w5.ShowViewByPos(EPosType.BagGem, pos);
            break;
        }
    }
Example #5
0
 public static bool CheckBagFull(int addBagNum, bool showTip = true)
 {
     for (int i = 0; i < Enum.GetValues(typeof(EBagType)).Length; i++)
     {
         if (i == 0)
         {
             continue;
         }
         EBagType bagType = (EBagType)i;
         if (CheckBagFull(addBagNum, bagType, showTip))
         {
             return(true);
         }
     }
     return(false);
 }
Example #6
0
 public override void Read(XmlElement element)
 {
     this.Id           = element.GetInt32("Id");
     this.Name         = element.GetString("Name");
     this.ItemType     = (EItemType)element.GetInt32("ItemType");
     this.BagType      = (EBagType)element.GetInt32("BagType");
     this.Quality      = element.GetInt32("Quality");
     this.Icon         = element.GetString("Icon");
     this.SellMoneyId  = element.GetInt32("SellMoneyId");
     this.SellMoneyNum = element.GetInt32("SellMoneyNum");
     this.Desc         = element.GetString("Desc");
     this.Data1        = element.GetInt32("Data1");
     this.Data2        = element.GetInt32("Data2");
     this.Model_R      = element.GetString("Model_R");
     this.Model_L      = element.GetString("Model_L");
     this.Carrer       = element.GetInt32("Carrer");
 }
Example #7
0
 private void LoadLeftWindow(EBagType bagType)
 {
     if (bagType == mShow)
     {
         return;
     }
     if (mLeftWindows.ContainsKey(mShow))
     {
         EWindowID closeWindowID = mLeftWindows[mShow];
         GTWindowManager.Instance.HideWindow(closeWindowID);
     }
     if (mLeftWindows.ContainsKey(bagType))
     {
         EWindowID openWindowID = mLeftWindows[bagType];
         GTWindowManager.Instance.OpenWindow(openWindowID);
     }
     mShow = bagType;
 }
Example #8
0
    public int    GetNewPos(EBagType bagType)
    {
        Dictionary <int, XItem> itemData = GetBagDataByBagType(bagType);

        if (itemData == null)
        {
            return(0);
        }
        int newPos = 0;

        for (int i = 1; i <= GetBagNum(); i++)
        {
            if (!itemData.ContainsKey(i))
            {
                newPos = i;
                break;
            }
        }
        return(newPos);
    }
Example #9
0
        public static string getItemTypeName(EItemType type)
        {
            switch (type)
            {
            case EItemType.EITEM_TP_EQUIP_WEAPONS: { return("武器"); }

            case EItemType.EITEM_TP_EQUIP_JADE: { return("玉佩"); }

            case EItemType.EITEM_TP_EQUIP_CAP: { return("头盔"); }

            case EItemType.EITEM_TP_EQUIP_ARMOR: { return("铠甲"); }

            case EItemType.EITEM_TP_EQUIP_GLOVE: { return("手套"); }

            case EItemType.EITEM_TP_EQUIP_SHOES: { return("战靴"); }

            case EItemType.EITEM_TP_EQUIP_NECKLACE: { return("项链"); }

            case EItemType.EITEM_TP_EQUIP_RING: { return("戒子"); }

            case EItemType.EITEM_TP_GEMS: { return("宝石"); }
            }
            EBagType bagType = getItemType(type);

            switch (bagType)
            {
            case EBagType.EBAG_EQUIP: { return("装备"); }

            case EBagType.EBAG_INVALID: { return("未知分类"); }

            case EBagType.EBAG_ITEM: { return("道具"); }

            case EBagType.EBAG_MATERIAL: { return("材料"); }

            case EBagType.EBAG_PIECE: { return("碎片"); }
            }
            return("");
        }
Example #10
0
    public Dictionary <int, XItem> GetBagDataByBagType(EBagType bagType)
    {
        switch (bagType)
        {
        case EBagType.ITEM:
            return(DataDBSBagItem.Dict);

        case EBagType.CHIP:
            return(DataDBSBagChip.Dict);

        case EBagType.FASHION:
            return(DataDBSBagFashion.Dict);

        case EBagType.GEM:
            return(DataDBSBagGem.Dict);

        case EBagType.RUNE:
            return(DataDBSBagRune.Dict);

        default:
            return(new Dictionary <int, XItem>());
        }
    }
Example #11
0
 private void ShowBagView(EBagType bagType)
 {
     LoadLeftWindow(bagType);
     bagView.ResetPosition();
     RefreshBagView();
 }
Example #12
0
    private void OnAck_SortBag(MessageRecv obj)
    {
        System.IO.MemoryStream ms  = new System.IO.MemoryStream(obj.Data);
        AckSortBag             ack = Serializer.Deserialize <AckSortBag>(ms);

        EBagType bagType = (EBagType)ack.BagType;
        Dictionary <int, XItem> items = GTDataManager.Instance.GetBagDataByBagType(bagType);
        List <XItem>            list  = new List <XItem>();

        list.AddRange(items.Values);
        items.Clear();

        switch (bagType)
        {
        case EBagType.ITEM:
        {
            list.Sort(MLBag.Instance.CompareBagItem);
            DataDBSBagItem.Clear(false);
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Pos = i + 1;
                DataDBSBagItem.Insert(list[i].Pos, list[i]);
            }
        }
        break;

        case EBagType.GEM:
        {
            list.Sort(MLBag.Instance.CompareBagGem);
            DataDBSBagGem.Clear(false);
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Pos = i + 1;
                DataDBSBagGem.Insert(list[i].Pos, list[i]);
            }
        }
        break;

        case EBagType.CHIP:
        {
            list.Sort(MLBag.Instance.CompareBagChip);
            DataDBSBagChip.Clear(false);
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Pos = i + 1;
                DataDBSBagChip.Insert(list[i].Pos, list[i]);
            }
        }
        break;

        case EBagType.FASHION:
        {
            list.Sort(MLBag.Instance.CompareBagFashion);
            DataDBSBagFashion.Clear(false);
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Pos = i + 1;
                DataDBSBagFashion.Insert(list[i].Pos, list[i]);
            }
        }
        break;

        case EBagType.RUNE:
        {
            list.Sort(MLBag.Instance.CompareBagRune);
            DataDBSBagRune.Clear(false);
            for (int i = 0; i < list.Count; i++)
            {
                list[i].Pos = i + 1;
                DataDBSBagRune.Insert(list[i].Pos, list[i]);
            }
        }
        break;
        }

        GTEventCenter.FireEvent(GTEventID.TYPE_BAG_SORT_BAG);
    }