コード例 #1
0
    public void IAPSucessHandle(object e, Hashtable hash)
    {
        var purchID      = (string)hash["PurchID"];
        var chargeRecord = Tables.TableReader.Recharge.GetRecord(purchID);

        UIMessageTip.ShowMessageTip(Tables.StrDictionary.GetFormatStr(2023, chargeRecord.Num));
    }
コード例 #2
0
    public void BtnAdd(int stepValue)
    {
        int resValue = Value + _StepValue;

        SetValue(resValue);

        _NumModifyEvent.Invoke();

        if (resValue == _MaxValue)
        {
            UIMessageTip.ShowMessageTip(23300);
        }
    }
コード例 #3
0
    public void BtnDec(int stepValue)
    {
        int resValue = Value - _StepValue;

        SetValue(resValue);

        _NumModifyEvent.Invoke();

        //SetNumBtnState();
        if (resValue == _MinValue)
        {
            UIMessageTip.ShowMessageTip(23300);
        }
    }
コード例 #4
0
    public void OnBtnOk()
    {
        if (_InputBoardNum >= _MaxValue)
        {
            UIMessageTip.ShowMessageTip(23300);
            _InputBoardNum = _MaxValue;
        }
        if (_InputBoardNum <= _MinValue)
        {
            UIMessageTip.ShowMessageTip(23300);
            _InputBoardNum = _MinValue;
        }

        SetValue(_InputBoardNum);

        _NumModifyEvent.Invoke();
    }
コード例 #5
0
    public bool DecMoney(string id, int value)
    {
        var moneyInfo = GetMoneyInfo(id);

        if (moneyInfo == null)
        {
            var commonitem = TableReader.CommonItem.GetRecord(id);
            UIMessageTip.ShowMessageTip(StrDictionary.GetFormatStr(2001, StrDictionary.GetFormatStr(commonitem.NameStrDict)));
            return(false);
        }
        else if (moneyInfo.Value < value)
        {
            var commonitem = TableReader.CommonItem.GetRecord(id);
            UIMessageTip.ShowMessageTip(StrDictionary.GetFormatStr(2001, StrDictionary.GetFormatStr(commonitem.NameStrDict)));
            return(false);
        }

        moneyInfo.Value -= value;
        SaveClass(true);

        GameCore.Instance.EventController.PushEvent(EVENT_TYPE.EVENT_LOGIC_REFRESH_MONEY, this, null);
        return(true);
    }
コード例 #6
0
ファイル: ItemPackBase.cs プロジェクト: tuyiherizon/XiaoChu2
    public bool AddItem(string itemDataID, int itemCnt)
    {
        var itemRecord = Tables.TableReader.CommonItem.GetRecord(itemDataID);

        bool isPacksizeEnough = false;
        int  leaveItemCnt     = itemCnt;
        var  containsItems    = GetItems(itemDataID);

        for (int i = 0; i < containsItems.Count; ++i)
        {
            int stackCnt = itemRecord.StackNum - containsItems[i].ItemStackNum;
            leaveItemCnt -= stackCnt;
        }

        if (leaveItemCnt > 0)
        {
            var emptyCnt = GetEmptyPosCnt();
            if (emptyCnt > 0)
            {
                while (emptyCnt > 0)
                {
                    leaveItemCnt -= itemRecord.StackNum;
                    --emptyCnt;
                    if (leaveItemCnt < 0)
                    {
                        isPacksizeEnough = true;
                        break;
                    }
                }
            }
            else if (emptyCnt == -1)
            {
                isPacksizeEnough = true;
            }
        }
        else
        {
            isPacksizeEnough = true;
        }

        if (!isPacksizeEnough)
        {
            UIMessageTip.ShowMessageTip(10002);
            return(false);
        }

        leaveItemCnt = itemCnt;
        for (int i = 0; i < containsItems.Count; ++i)
        {
            int stackCnt = itemRecord.StackNum - containsItems[i].ItemStackNum;
            int addCnt   = 0;
            if (leaveItemCnt > stackCnt)
            {
                addCnt = stackCnt;
            }
            else
            {
                addCnt = leaveItemCnt;
            }
            leaveItemCnt -= addCnt;
            containsItems[i].AddStackNum(addCnt);
        }
        if (leaveItemCnt > 0)
        {
            var emptyCnt = GetEmptyPosCnt();
            while (leaveItemCnt > 0)
            {
                int newItemCnt = 0;
                if (leaveItemCnt < itemRecord.StackNum)
                {
                    newItemCnt = leaveItemCnt;
                }
                else
                {
                    newItemCnt = itemRecord.StackNum;
                }
                leaveItemCnt -= itemRecord.StackNum;

                var emptyPos = GetEmptyPos();
                if (emptyPos != null)
                {
                    emptyPos.ItemDataID = itemDataID;
                    emptyPos.AddStackNum(newItemCnt);
                }
                else
                {
                    var newItem = new T();
                    newItem.ItemDataID = itemDataID;
                    newItem.SetStackNum(newItemCnt);
                    _PackItems.Add(newItem);
                }
            }
        }

        return(true);
    }