Ejemplo n.º 1
0
    /// <summary>
    /// 展示宝箱数据
    /// </summary>
    /// <param name="data"></param>
    async void ShowData(PackageDefine data, int type = 0)
    {
        GameItemDefine gameItemDefine = WarehouseTool.GetGameItemData(data.BoxID);

        DestroyTime();
        _titleNameText.text = StaticData.GetMultilingual(gameItemDefine.ItemName);

        _keyNumber.text        = data.UseGoodsNum[0].Count.ToString();
        _surplusKeyNumber.text = WarehouseTool.GetWareHouseGold(data.UseGoodsNum[0].ID).ToString();
        ClearItem();
        List <int> awardIds = GetAward(data);

        if (awardIds != null && awardIds.Count > 0)
        {
            for (int i = 0; i < awardIds.Count; i++)
            {
                CreateItem(awardIds[i]);
            }
        }
        _iconImage.sprite = null;
        _iconImage.sprite = await ABManager.GetAssetAsync <Sprite>(gameItemDefine.Icon);

        //_iconImage.SetNativeSize();

        if (type == 0)
        {
            _showTimeBoxTra.gameObject.SetActive(false);
        }
        else
        {
            _showTimeBoxTra.gameObject.SetActive(true);
        }
    }
Ejemplo n.º 2
0
    /// <summary>
    /// 钥匙解锁
    /// </summary>
    public void KeyUnlock()
    {
        int id = _goodsDatas[0]._id;

        _configCurrData = WarehouseTool.GetTreasureChestConfig(id);
        WarehouseTool.UnlockTreasureChest(id, Game.Protocal.UnlockTreasureChest.Key, KeyUnlockSucceed);
    }
Ejemplo n.º 3
0
    /// <summary>
    /// 免费解锁
    /// </summary>
    /// <param name="timeCountDownComponent"></param>
    /// <param name="time"></param>
    public void FreeUnlock(Action <long> time)
    {
        int id = _goodsDatas[0]._id;

        _configCurrData = WarehouseTool.GetTreasureChestConfig(id);
        _curTimeAction  = time;
        WarehouseTool.UnlockTreasureChest(id, Game.Protocal.UnlockTreasureChest.CountDown, TimeUnlockTreasure);
    }
Ejemplo n.º 4
0
 /// <summary>
 /// 打开加速界面
 /// </summary>
 /// <param name="id"></param>
 /// <param name="timeStamp"></param>
 /// <param name="speedUpAction"></param>
 public void ShowSpeedUp(int id, long timeStamp, Action <Action <long> > speedAction)
 {
     _speedAction   = speedAction;
     _packageDefine = WarehouseTool.GetTreasureChestConfigData(id);
     ShowData(_packageDefine, 1);
     ChangeInterface(1);
     RefreshTime(timeStamp);
 }
Ejemplo n.º 5
0
    /// <summary>
    /// 广告加速
    /// </summary>
    /// <param name="timeCountDownComponent"></param>
    /// <param name="time"></param>
    public void SpeedUp(Action <long> time)
    {
        int id = _goodsDatas[0]._id;

        _configCurrData = WarehouseTool.GetTreasureChestConfig(id);
        _curTimeAction  = time;
        WarehouseTool.TreasureChestAdvertisingSpeedUp(id, TreasureChestAdvertisingSpeedUpAction);
    }
Ejemplo n.º 6
0
 /// <summary>
 /// 打开解锁界面
 /// </summary>
 /// <param name="id"></param>
 /// <param name="KeyUnlock"></param>
 /// <param name="freeUnlock"></param>
 public void ShowUnlock(int id, Action KeyUnlock, Action <Action <long> > freeUnlock, Action <Action <long> > speedAction)
 {
     _keyUnlockAction  = KeyUnlock;
     _freeUnlockAction = freeUnlock;
     _speedAction      = speedAction;
     _packageDefine    = WarehouseTool.GetTreasureChestConfigData(id);
     ShowData(_packageDefine);
     ChangeInterface(0);
 }
Ejemplo n.º 7
0
        public PackageDefine Get(int id)
        {
            ShippmentEntities db   = new ShippmentEntities();
            PackageDefine     pack = (from p in db.PackageDefines
                                      where p.Id == id && !p.IsDeleted
                                      select p).FirstOrDefault();

            return(pack);
        }
Ejemplo n.º 8
0
 /// <summary>
 /// 关闭
 /// </summary>
 public void Close()
 {
     DestroyTime();
     UniversalTool.CancelPopAnim(_bgBoxTra, () =>
     {
         _packageDefine = null;
         ClearItem();
         UIComponent.HideUI(UIType.GiftBoxUnlocking);
     });
 }
Ejemplo n.º 9
0
    /// <summary>
    /// 根据宝箱id获取对应宝箱配置数据
    /// </summary>
    /// <param name="id"></param>
    public static PackageDefine GetTreasureChestConfigData(int id)
    {
        for (int i = 0; i < StaticData.configExcel.Package.Count; i++)
        {
            PackageDefine data = StaticData.configExcel.Package[i];
            if (data.ID == id)
            {
                return(data);
            }
        }

        return(null);
    }
Ejemplo n.º 10
0
        public ErrorInfo Add(PackageDefine packageDefine)
        {
            ShippmentEntities db = new ShippmentEntities();

            db.PackageDefines.Add(packageDefine);
            if (db.SaveChanges() > 0)
            {
                return(ErrorInfo.Succeed);
            }
            else
            {
                return(ErrorInfo.Err_Internal_Error);
            }
        }
Ejemplo n.º 11
0
    /// <summary>
    /// 设置礼盒显示
    /// </summary>
    /// <param name="treasureChestID"></param>
    async void SetTreasureChestShow(int treasureChestID)
    {
        PackageDefine data = WarehouseTool.GetTreasureChestConfigData(treasureChestID);
        string        closeTreasureChestIconName = data.AcceptThePrize[0];
        string        OpenTreasureChestIconName  = data.AcceptThePrize[1];

        Sprite closeTreasureChestIconSprite = null;

        closeTreasureChestIconSprite = await ABManager.GetAssetAsync <Sprite>(closeTreasureChestIconName);

        _treasureChestIcon.sprite = closeTreasureChestIconSprite;
        _treasureChestIcon.SetNativeSize();
        _openTreasureChestIcon = await ABManager.GetAssetAsync <Sprite>(OpenTreasureChestIconName);
    }
Ejemplo n.º 12
0
    /// <summary>
    /// 获取宝箱配置的奖励数据
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    List <int> GetAward(PackageDefine data)
    {
        List <int> ids = new List <int>();

        for (int i = 0; i < data.PackageContent.Count; i++)
        {
            if (!ids.Contains(data.PackageContent[i].ID))
            {
                ids.Add(data.PackageContent[i].ID);
            }
        }

        return(ids);
    }
Ejemplo n.º 13
0
    /// <summary>
    /// 个数变化
    /// </summary>
    /// <param name="number"></param>
    void Change(int number)
    {
        int numberValue = 0;

        switch (_data._data.Use)
        {
        case Company.Cfg.GoodsUseType.ExtendBag:
            ExtendBagIDCount extendBagIDCount = StaticData.configExcel.GetVertical().UserExtendBag;
            if (extendBagIDCount.GoodsID == _data._id)
            {
                int count = extendBagIDCount.Count;
                numberValue = number * count;
            }
            break;

        case Company.Cfg.GoodsUseType.GiftBox:
            PackageDefine packageDefine = null;

            for (int i = 0; i < StaticData.configExcel.Package.Count; i++)
            {
                PackageDefine data = StaticData.configExcel.Package[i];
                if (data.BoxID == _data._data.ID)
                {
                    packageDefine = data;
                }
            }
            int index = 0;
            if (packageDefine != null)
            {
                for (int i = 0; i < packageDefine.BoxAward.Count; i++)
                {
                    index = index + (int)packageDefine.BoxAward[i].Count;
                }
            }
            numberValue = index * number;
            break;
        }

        _effectText.text = numberValue.ToString();
    }
Ejemplo n.º 14
0
 /// <summary>
 /// 点击宝箱
 /// </summary>
 public void ClickTresureChestBtn()
 {
     GetUnlocked();
     OpenRedDot(false);
     WarehouseController.Instance.RefreshData();
     if (_isBeTimeUnlock)
     {
         StaticData.OpenTreasureSpeedUp(_configCurrData.ID, _countDownTime, SpeedUp);
         return;
     }
     else
     if (_isCanReceiveAward)
     {
         GetAward();
     }
     else
     {
         int id = _goodsDatas[0]._id;
         _configCurrData = WarehouseTool.GetTreasureChestConfig(id);
         StaticData.OpenTreasureUnlock(_configCurrData.ID, KeyUnlock, FreeUnlock, SpeedUp);
     }
 }
Ejemplo n.º 15
0
        public ErrorInfo Delete(int id)
        {
            ShippmentEntities db   = new ShippmentEntities();
            PackageDefine     pack = db.PackageDefines.FirstOrDefault(p => p.Id == id);

            if (pack != null)
            {
                pack.IsDeleted       = true;
                db.Entry(pack).State = EntityState.Modified;
                if (db.SaveChanges() > 0)
                {
                    return(ErrorInfo.Succeed);
                }
                else
                {
                    return(ErrorInfo.Err_Internal_Error);
                }
            }
            else
            {
                return(ErrorInfo.Err_Resource_NotExist);
            }
        }
Ejemplo n.º 16
0
        public ErrorInfo Edit(int id, PackageDefine packageDefine)
        {
            if (id != packageDefine.Id)
            {
                return(ErrorInfo.Err_Bad_Request_Information);
            }
            ShippmentEntities db   = new ShippmentEntities();
            PackageDefine     pack = db.PackageDefines.FirstOrDefault(p => p.Id == id && !p.IsDeleted);

            if (pack != null)
            {
                pack.Material        = packageDefine.Material;
                pack.Length_mm       = packageDefine.Length_mm;
                pack.Width_mm        = packageDefine.Width_mm;
                pack.Height_mm       = packageDefine.Height_mm;
                pack.NetWeight_kg    = packageDefine.NetWeight_kg;
                pack.GrossWeight_kg  = packageDefine.GrossWeight_kg;
                pack.Note            = packageDefine.Note;
                pack.IsDeleted       = packageDefine.IsDeleted;
                pack.PartNo          = packageDefine.PartNo;
                pack.Unit            = packageDefine.Unit;
                pack.Qty             = packageDefine.Qty;
                db.Entry(pack).State = EntityState.Modified;
                if (db.SaveChanges() > 0)
                {
                    return(ErrorInfo.Succeed);
                }
                else
                {
                    return(ErrorInfo.Err_Internal_Error);
                }
            }
            else
            {
                return(ErrorInfo.Err_Resource_NotExist);
            }
        }
Ejemplo n.º 17
0
 /// <summary>
 /// 获取解锁状态
 /// </summary>
 public void GetUnlocked()
 {
     if (IsThereAnUnlock())
     {
         _isCanReceiveAward = true;
         _isBeTimeUnlock    = false;
         //_maskTra.gameObject.SetActive(false);
         RefreshTreasureChestUnlock();
         Debug.Log("解锁");
         SetShowTip(3);
     }
     else if (IsTimeThereAnUnlock())
     {
         _isCanReceiveAward = false;
         _isBeTimeUnlock    = true;
         Debug.Log("正在解锁");
         _configCurrData = WarehouseTool.GetTreasureChestConfig(_currDataId);
         TimeUnlockTreasure(true, WarehouseTool.GetTimeThereAnUnlockTime(_currDataId));
     }
     else
     {
         SetShowTip(1);
     }
 }
Ejemplo n.º 18
0
    /// <summary>
    /// 展示数据
    /// </summary>
    /// <param name="data"></param>
    public async void ShowData(GoodsData data)
    {
        if (_isInitial == false)
        {
            Initial();
        }
        _data = data;

        _nameText.text       = StaticData.GetMultilingual(_data._data.ItemName);
        _haveNumberText.text = _data._number.ToString();;

        //设置输入框默认显示钥匙数量Placeholder
        _uISetAmountComponent.inputFiled.text = "1";
        _uISetAmountComponent.inputFiled.placeholder.GetComponent <Text>().text = "1";

        switch (_data._data.Use)
        {
        case Company.Cfg.GoodsUseType.ExtendBag:
            _effectText.transform.parent.Find("Title").GetComponent <Text>().text = StaticData.GetMultilingual(120232);

            ExtendBagIDCount extendBagIDCount = StaticData.configExcel.GetVertical().UserExtendBag;
            if (extendBagIDCount.GoodsID == _data._id)
            {
                int count = extendBagIDCount.Count;
                _effectText.text = count.ToString();
            }
            break;

        case Company.Cfg.GoodsUseType.GiftBox:
            PackageDefine packageDefine = null;
            _effectText.transform.parent.Find("Title").GetComponent <Text>().text = StaticData.GetMultilingual(120233);
            for (int i = 0; i < StaticData.configExcel.Package.Count; i++)
            {
                PackageDefine PackageData = StaticData.configExcel.Package[i];
                if (PackageData.BoxID == _data._data.ID)
                {
                    packageDefine = PackageData;
                }
            }
            int index = 0;
            if (packageDefine != null)
            {
                for (int i = 0; i < packageDefine.BoxAward.Count; i++)
                {
                    index = index + (int)packageDefine.BoxAward[i].Count;
                }
                _effectText.text = index.ToString();
            }
            break;
        }

        //设置最多能输入
        switch (data._data.Use)
        {
        case Company.Cfg.GoodsUseType.ExtendBag:
            int max    = StaticData.configExcel.GetVertical().WarehouseTotal - StaticData.playerInfoData.userInfo.WarehouseCount;
            int number = StaticData.configExcel.GetVertical().UserExtendBag.Count;
            int index  = max / number;
            if (index <= (int)data._number)
            {
                _uISetAmountComponent._maxValue = index;
            }
            else
            {
                _uISetAmountComponent._maxValue = (int)data._number;
            }

            if (max == 0)
            {
                _uISetAmountComponent._defaultValue = "0";
                _uISetAmountComponent._minValue     = 0;
                //设置输入框默认显示钥匙数量Placeholder
                _uISetAmountComponent.inputFiled.text = "0";
                _uISetAmountComponent.inputFiled.placeholder.GetComponent <Text>().text = "0";
            }
            break;

        default:
            _uISetAmountComponent._maxValue = (int)data._number;
            break;
        }
        Sprite iconSprite = null;

        try
        {
            iconSprite = await ABManager.GetAssetAsync <Sprite>(_data._data.Icon);
        }
        catch (System.Exception er)
        {
            Debug.Log("获取道具icon失败");
        }
        _iconImage.sprite = iconSprite;
        //_iconImage.SetNativeSize();


        gameObject.SetActive(true);
    }