Ejemplo n.º 1
0
        public async void InitDefaultTurntableGoodsConfigs()
        {
            for (int i = 0; i < 8; i++)
            {
                TurntableGoods turntableGoods = ComponentFactory.Create <TurntableGoods>();
                turntableGoods.TurntableGoodsId = i + 1;
                switch (i)
                {
                case 0:
                    turntableGoods.GoodsId     = GoodsId.Besans;
                    turntableGoods.Amount      = 20000;
                    turntableGoods.Probability = 30;
                    break;

                case 1:
                    turntableGoods.GoodsId     = GoodsId.Jewel;
                    turntableGoods.Amount      = 20;
                    turntableGoods.Probability = 8;
                    break;

                case 2:
                    turntableGoods.GoodsId     = GoodsId.HongBao;
                    turntableGoods.Amount      = 2;
                    turntableGoods.Probability = 0;
                    break;

                case 3:
                    turntableGoods.GoodsId     = GoodsId.None;
                    turntableGoods.Amount      = 0;
                    turntableGoods.Probability = 30;
                    break;

                case 4:
                    turntableGoods.GoodsId     = GoodsId.Jewel;
                    turntableGoods.Amount      = 5;
                    turntableGoods.Probability = 30;
                    break;

                case 5:
                    turntableGoods.GoodsId     = GoodsId.HongBao;
                    turntableGoods.Amount      = 5;
                    turntableGoods.Probability = 0;
                    break;

                case 6:
                    turntableGoods.GoodsId     = GoodsId.Jewel;
                    turntableGoods.Amount      = 50;
                    turntableGoods.Probability = 2;
                    break;

                case 7:
                    turntableGoods.GoodsId     = GoodsId.HongBao;
                    turntableGoods.Amount      = 10;
                    turntableGoods.Probability = 0;
                    break;
                }
                mTurntableGoodses.Add(turntableGoods);
                await dbProxyComponent.Save(turntableGoods);
            }
        }
Ejemplo n.º 2
0
        //开始抽奖
        public async void StartDrawLottery(bool confirm = true)
        {
            if (IsDrawLotteyIn || !confirm)
            {
                return;
            }
            IsDrawLotteyIn = true;
            L2C_TurntableDrawLottery l2CGetTurntableGoodss = (L2C_TurntableDrawLottery)await SessionComponent.Instance.Call(new C2L_TurntableDrawLottery());

            if (l2CGetTurntableGoodss.Error == 0)
            {
                if (_FreeCount > 0)
                {
                    SetFreeCount(_FreeCount - 1);
                }
                TurntableGoods zhongJiangGoods = null;
                foreach (var item in _TurntableGoodsItems)
                {
                    if (item.mData.TurntableGoodsId == l2CGetTurntableGoodss.TurntableGoodsId)
                    {
                        ChouZhongVector3.z = item._ChouZongRotaZ;
                        zhongJiangGoods    = item.mData;
                        break;
                    }
                }
                int rotaTime = 50;
                while (rotaTime-- > 0)
                {
                    await ETModel.Game.Scene.GetComponent <TimerComponent>().WaitAsync(50);

                    mTurntableTurnGo.transform.Rotate(ChouJiangRotaAngele);
                }
                while (Math.Abs(mTurntableTurnGo.transform.localEulerAngles.z - ChouZhongVector3.z) > 15)
                {
                    await ETModel.Game.Scene.GetComponent <TimerComponent>().WaitAsync(50);

                    mTurntableTurnGo.transform.Rotate(ChouJiangRotaAngele);
                }
                if (zhongJiangGoods != null && zhongJiangGoods.GoodsId != GoodsId.None)
                {
                    UIComponent.GetUiView <GetGoodsHintPanelComponent>().ShowGetGoods(zhongJiangGoods.GoodsId, zhongJiangGoods.Amount);
                }
                else
                {
                    UIComponent.GetUiView <NormalHintPanelComponent>().ShowHintPanel("谢谢参与");
                }
            }
            IsDrawLotteyIn = false;
        }
        //记录中奖信息
        public static async void RecordWinPrizeInfo(this TurntableComponent turntableComponent, long userId,
                                                    TurntableGoods goods)
        {
            if (goods.GoodsId == GoodsId.None)
            {
                return;
            }
            WinPrizeRecord winPrizeRecord = ComponentFactory.Create <WinPrizeRecord>();

            if (goods.GoodsId == GoodsId.Besans || goods.GoodsId == GoodsId.Jewel)
            {
                winPrizeRecord.Type = 1;                                    //默认Type是0 其他就是兑奖了
            }
            winPrizeRecord.WinPrizeId = turntableComponent.GetWinPrizeId(); //获取中奖记录Id
            winPrizeRecord.UserId     = userId;
            winPrizeRecord.Time       = TimeTool.GetCurrenTimeStamp();
            winPrizeRecord.Amount     = goods.Amount;
            winPrizeRecord.GoodsId    = goods.GoodsId;
            await turntableComponent.dbProxyComponent.Save(winPrizeRecord);
        }