Esempio n. 1
0
    void SetSelectItem(int index)
    {
        if (index - 1 < compassList.Count)
        {
            CompassDataBase db = compassList[index - 1];
            if (db != null)
            {
                m_nItemID = db.dwID;
            }
        }
        int count = DataManager.Manager <ItemManager>().GetItemNumByBaseId(m_nItemID);

        if (count < 1 && bAutoConsume)
        {
            m_label_dianjuanxiaohao.gameObject.SetActive(true);
            Transform num = m_label_dianjuanxiaohao.transform.Find("Label");
            if (num != null)
            {
                UILabel numLabel = num.GetComponent <UILabel>();
                if (numLabel != null)
                {
                    PointConsumeDataBase db = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(m_nItemID);
                    if (db != null)
                    {
                        numLabel.text = db.buyPrice.ToString();
                    }
                }
            }
        }
    }
Esempio n. 2
0
        /// <summary>
        /// 通过[道具ID]二分快速查表
        /// </summary>
        /// <param name="itemID">道具ID</param>
        /// <returns></returns>
        public static PointConsumeDataBase Query(this List <PointConsumeDataBase> sorted, uint itemID)
        {
            var key = new PointConsumeDataBase()
            {
                itemID = itemID
            };
            var comparer = new Comparer1();
            var index    = sorted.BinarySearch(key, comparer);

            return(index >= 0 ? sorted[index] : default(PointConsumeDataBase));
        }
Esempio n. 3
0
    public uint GetItemNeedColdNum(uint itemID)
    {
        uint num = 0;
        PointConsumeDataBase db = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(itemID);

        if (db != null)
        {
            return(db.buyPrice);
        }
        return(num);
    }
Esempio n. 4
0
    bool IsYuanBaoEnough()
    {
        //使用跳关符消耗
        uint jumpItem = DataManager.Manager <NvWaManager>().NvWaJumpItemId;

        //元宝存量
        int dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao);

        PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(jumpItem);
        uint dianJuanCost         = 0;

        if (pcDb != null)
        {
            //每个道具要几个元宝来换
            dianJuanCost = pcDb.buyPrice;
        }

        return(dianjuanCount >= dianJuanCost ? true : false);
    }
Esempio n. 5
0
    protected override void OnShow(object data)
    {
        base.OnShow(data);

        if (data is CommonSingleParam)
        {
            CommonSingleParam sp = (CommonSingleParam)data;
            m_label_title.text      = sp.titletips;
            m_label_contentdes.text = sp.contentdes;
            m_label_autobuydes.text = sp.autobuydes;
            m_label_oktext.text     = sp.oktext;
            m_label_canceltext.text = sp.canceltext;
            m_sprite_autoFlag.gameObject.SetActive(sp.bShowAutoBuy);
            bAutoBuy = sp.bShowAutoBuy;
            uint         itemID = sp.itemID;
            ItemDataBase db     = GameTableManager.Instance.GetTableItem <ItemDataBase>(sp.itemID);
            if (db != null)
            {
                int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID);
                UIItem.AttachParent(m_sprite_unlock_item_icon.transform, itemID, (uint)itemCount);
                if (itemCount >= sp.consumNum)
                {
                    bCanOk = true;
                }
                else
                {
                    bCanOk = false;
                }
                m_label_unlock_item_name.text = db.itemName;
                m_label_neednum.text          = StringUtil.GetNumNeedString(itemCount, sp.consumNum);
            }
            PointConsumeDataBase pdb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(itemID);
            if (pdb != null)
            {
                m_label_moneynum.text = pdb.buyPrice.ToString();
                m_uNeedMoney          = pdb.buyPrice;
            }
            _cancleAction = sp.cancleAction;
            _okAction     = sp.okAction;
            ShowItemNum(!bAutoBuy);
        }
    }
Esempio n. 6
0
    /// <summary>
    /// 元宝消耗
    /// </summary>
    void SetDianjuanLabel()
    {
        //使用跳关符消耗
        uint jumpItem             = DataManager.Manager <NvWaManager>().NvWaJumpItemId;
        int  dianjuanCount        = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao); //元宝存量
        PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(jumpItem);
        uint dianJuanCost         = 0;

        if (pcDb != null)
        {
            dianJuanCost = pcDb.buyPrice; //每个道具要几个元宝来换
        }

        m_label_UseCostNum.text = dianJuanCost.ToString();

        if (IsYuanBaoEnough())
        {
            m_label_UseCostNum.color = Color.white;
        }
        else
        {
            m_label_UseCostNum.color = Color.red;
        }
    }
Esempio n. 7
0
    public void Init(UseItemWidnowParam param)
    {
        this.title          = param.title;
        this.itemId         = param.itemId;
        this.ok             = param.ok;
        this.cancel         = param.cancel;
        this.belowMinCount  = param.belowMinCount;
        this.overMaxCount   = param.overMaxCount;
        this.oktxt          = param.oktxt;
        this.canletxt       = param.canletxt;
        this.leftUseTimes   = param.LeftUseTimes;
        this.canSetNum      = param.canSetNum;
        this.canUseDianjuan = param.canUseDianjuan;

        //初始为默认状态
        num         = 1;
        useDianJuan = false;
        SetZidongbuzuFalse();
        this.baseItem = new BaseItem(this.itemId);
        if (baseItem == null)
        {
            return;
        }

        itemCount     = DataManager.Manager <ItemManager>().GetItemNumByBaseId(this.itemId); //道具存量
        dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao);         //元宝存量
        PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(this.itemId);

        if (pcDb != null)
        {
            itemPerCostDianjuan = pcDb.buyPrice; //每个道具要几个元宝来换
        }
        else
        {
            Engine.Utility.Log.Info("元宝代消耗表格无数据");
        }

        //初始化item
        InitItem();

        m_label_TitleLabel.text  = this.title;
        m_label_Name.text        = baseItem.Name;
        m_label_Description.text = baseItem.Des;
        m_btn_Btn_Use.GetComponentInChildren <UILabel>().text   = this.oktxt;
        m_btn_Btn_Canel.GetComponentInChildren <UILabel>().text = this.canletxt;
        m_label_UnitNum.text = num.ToString();

        //每日使用次数限制
        if (this.leftUseTimes == -1)   //-1 无使用次数限制
        {
            m_trans_Times.gameObject.SetActive(false);
            this.availableNum = itemCount;
        }
        else
        {
            m_trans_Times.gameObject.SetActive(true);
            this.availableNum = Mathf.Min(this.leftUseTimes, itemCount);
            if (this.leftUseTimes == 0)
            {
                m_label_TimesNum.color = Color.red;
            }

            if (this.leftUseTimes > 0)
            {
                m_label_TimesNum.color = Color.green;
            }

            m_label_TimesNum.text = string.Format("{0}/{1}", this.leftUseTimes, baseItem.DailyUseNum);
        }

        //设置-+功能
        if (this.canSetNum)
        {
            m_btn_Btn_Less.gameObject.SetActive(true);
            m_btn_Btn_Add.gameObject.SetActive(true);
        }
        else
        {
            m_btn_Btn_Less.gameObject.SetActive(false);
            m_btn_Btn_Add.gameObject.SetActive(false);
        }

        //使用元宝功能
        if (this.canUseDianjuan)
        {
            m_trans_buzu.gameObject.SetActive(true);
        }
        else
        {
            m_trans_buzu.gameObject.SetActive(false);
            m_trans_UseCost.gameObject.SetActive(false);
        }
    }