// Token: 0x06004735 RID: 18229 RVA: 0x0015ECF8 File Offset: 0x0015CEF8
        public RafflePool GetRafflePool(int poolId)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetRafflePoolInt32_hotfix != null)
            {
                return((RafflePool)this.m_GetRafflePoolInt32_hotfix.call(new object[]
                {
                    this,
                    poolId
                }));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            RafflePool rafflePool = this.m_RaffleDS.GetRafflePool(poolId);

            if (rafflePool == null)
            {
                ConfigDataRafflePoolInfo configDataRafflePoolInfo = this.m_configDataLoader.GetConfigDataRafflePoolInfo(poolId);
                if (configDataRafflePoolInfo == null)
                {
                    return(null);
                }
                OperationalActivityBase operationalActivityBase = this.m_operationalActivity.FindOperationalActivityByRafflePoolId(poolId);
                if (operationalActivityBase == null)
                {
                    return(null);
                }
                rafflePool = new RafflePool(poolId)
                {
                    Config = configDataRafflePoolInfo
                };
                rafflePool.ActivityInstanceId = operationalActivityBase.InstanceId;
                this.m_RaffleDS.RafflePools.Add(rafflePool.PoolId, rafflePool);
                this.m_RaffleDS.SetDirty(true);
            }
            return(rafflePool);
        }
 // Token: 0x0600473B RID: 18235 RVA: 0x0015F204 File Offset: 0x0015D404
 protected void DrawCostItem(RafflePool rafflePool, int raffleId)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_DrawCostItemRafflePoolInt32_hotfix != null)
     {
         this.m_DrawCostItemRafflePoolInt32_hotfix.call(new object[]
         {
             this,
             rafflePool,
             raffleId
         });
         return;
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     if (this.CanFreeDraw(rafflePool))
     {
         rafflePool.FreeDrawedCount++;
         rafflePool.DrawedRaffleIds.Add(raffleId);
         this.m_RaffleDS.SetDirty(true);
     }
     else
     {
         int drawItemCost = this.GetDrawItemCost(rafflePool);
         rafflePool.DrawedCount++;
         rafflePool.DrawedRaffleIds.Add(raffleId);
         this.m_RaffleDS.SetDirty(true);
         if (rafflePool.Config.GoodsType == GoodsType.GoodsType_Crystal)
         {
             this.m_basicInfo.AddCrystal(-drawItemCost, GameFunctionType.GameFunctionType_Raffle, rafflePool.PoolId.ToString());
         }
         else if (rafflePool.Config.GoodsType == GoodsType.GoodsType_Item)
         {
             this.m_bag.RemoveBagItemByType(GoodsType.GoodsType_Item, rafflePool.Config.DrawItemID, drawItemCost, GameFunctionType.GameFunctionType_Raffle, rafflePool.PoolId.ToString());
         }
     }
 }
예제 #3
0
        // Token: 0x06004C8C RID: 19596 RVA: 0x00178D10 File Offset: 0x00176F10
        public override object SerializeToClient()
        {
            DSRaffleNtf dsraffleNtf = new DSRaffleNtf
            {
                Version = (uint)base.Version
            };

            dsraffleNtf.RafflePools.AddRange(RafflePool.RafflePools2PbActivityRafflePools(this.RafflePools.Values.ToList <RafflePool>()));
            return(dsraffleNtf);
        }
예제 #4
0
        // Token: 0x060050C3 RID: 20675 RVA: 0x00181D2C File Offset: 0x0017FF2C
        private static ProRafflePool RafflePool2PbRafflePool(RafflePool rafflePool)
        {
            ProRafflePool proRafflePool = new ProRafflePool
            {
                RafflePoolId    = rafflePool.PoolId,
                DrawedCount     = rafflePool.DrawedCount,
                FreeDrawedCount = rafflePool.FreeDrawedCount
            };

            proRafflePool.DrawedItemIds.AddRange(rafflePool.DrawedRaffleIds);
            return(proRafflePool);
        }
 // Token: 0x0600473F RID: 18239 RVA: 0x0015F554 File Offset: 0x0015D754
 public int GetAllDrawedCount(RafflePool pool)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetAllDrawedCountRafflePool_hotfix != null)
     {
         return(Convert.ToInt32(this.m_GetAllDrawedCountRafflePool_hotfix.call(new object[]
         {
             this,
             pool
         })));
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     return((pool != null) ? (pool.DrawedCount + pool.FreeDrawedCount) : int.MaxValue);
 }
 // Token: 0x06004739 RID: 18233 RVA: 0x0015F068 File Offset: 0x0015D268
 public bool CanFreeDraw(RafflePool pool)
 {
     if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CanFreeDrawRafflePool_hotfix != null)
     {
         return(Convert.ToBoolean(this.m_CanFreeDrawRafflePool_hotfix.call(new object[]
         {
             this,
             pool
         })));
     }
     BJLuaObjHelper.IsSkipLuaHotfix = false;
     return(pool.FreeDrawedCount < pool.Config.FreeDrawCount);
 }
예제 #7
0
        // Token: 0x060050C4 RID: 20676 RVA: 0x00181D78 File Offset: 0x0017FF78
        public static RafflePool PBRafflePoolToRafflePool(ProRafflePool pbRafflePool)
        {
            RafflePool rafflePool = new RafflePool(pbRafflePool.RafflePoolId)
            {
                DrawedCount     = pbRafflePool.DrawedCount,
                FreeDrawedCount = pbRafflePool.FreeDrawedCount
            };

            pbRafflePool.DrawedItemIds.ForEach(delegate(int e)
            {
                rafflePool.DrawedRaffleIds.Add(e);
            });
            return(rafflePool);
        }
예제 #8
0
        // Token: 0x060050C2 RID: 20674 RVA: 0x00181CC0 File Offset: 0x0017FEC0
        public static List <ProRafflePool> RafflePools2PbActivityRafflePools(List <RafflePool> rafflePools)
        {
            List <ProRafflePool> list = new List <ProRafflePool>();

            foreach (RafflePool rafflePool in rafflePools)
            {
                ProRafflePool proRafflePool = RafflePool.RafflePool2PbRafflePool(rafflePool);
                if (proRafflePool != null)
                {
                    list.Add(proRafflePool);
                }
            }
            return(list);
        }
        // Token: 0x06004736 RID: 18230 RVA: 0x0015EDF4 File Offset: 0x0015CFF4
        public bool IsRaffleItemsAllDrawed(RafflePool pool)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_IsRaffleItemsAllDrawedRafflePool_hotfix != null)
            {
                return(Convert.ToBoolean(this.m_IsRaffleItemsAllDrawedRafflePool_hotfix.call(new object[]
                {
                    this,
                    pool2
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            RafflePool pool = pool2;

            return(pool.Config.RaffleItems.All((RaffleItem t) => pool.DrawedRaffleIds.Contains(t.RaffleID)));
        }
        // Token: 0x0600473C RID: 18236 RVA: 0x0015F368 File Offset: 0x0015D568
        public RaffleItem GetRaffleItem(RafflePool pool, int raffleId)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetRaffleItemRafflePoolInt32_hotfix != null)
            {
                return((RaffleItem)this.m_GetRaffleItemRafflePoolInt32_hotfix.call(new object[]
                {
                    this,
                    pool,
                    raffleId2
                }));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int raffleId = raffleId2;

            return((pool != null) ? pool.Config.RaffleItems.Find((RaffleItem e) => e.RaffleID == raffleId) : null);
        }
        // Token: 0x0600473A RID: 18234 RVA: 0x0015F0F8 File Offset: 0x0015D2F8
        public int CanDraw(int poolId)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_CanDrawInt32_hotfix != null)
            {
                return(Convert.ToInt32(this.m_CanDrawInt32_hotfix.call(new object[]
                {
                    this,
                    poolId
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            if (this.IsRafflePoolOnActivityTime(poolId) != 0)
            {
                return(-4900);
            }
            RafflePool rafflePool = this.GetRafflePool(poolId);

            if (rafflePool == null)
            {
                return(-4901);
            }
            if (this.m_bag.IsBagFullByCurrentSize())
            {
                return(-500);
            }
            if (this.IsRaffleItemsAllDrawed(rafflePool))
            {
                return(-2218);
            }
            if (this.CanFreeDraw(rafflePool))
            {
                return(0);
            }
            int drawItemCost = this.GetDrawItemCost(rafflePool);

            if (!this.IsDrawItemsEnough(rafflePool.Config.GoodsType, rafflePool.Config.DrawItemID, drawItemCost))
            {
                return(-2219);
            }
            return(0);
        }
        // Token: 0x06004738 RID: 18232 RVA: 0x0015EF80 File Offset: 0x0015D180
        public int GetDrawItemCost(RafflePool pool)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_GetDrawItemCostRafflePool_hotfix != null)
            {
                return(Convert.ToInt32(this.m_GetDrawItemCostRafflePool_hotfix.call(new object[]
                {
                    this,
                    pool
                })));
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            int result = 0;

            foreach (Int32Pair int32Pair in pool.Config.Costs)
            {
                if (pool.DrawedCount + 1 >= int32Pair.Key)
                {
                    result = int32Pair.Value;
                }
            }
            return(result);
        }
예제 #13
0
 // Token: 0x06004C92 RID: 19602 RVA: 0x00178E20 File Offset: 0x00177020
 public void Drawed(RafflePool pool, int darwedRaffleId)
 {
     pool.Drawed(darwedRaffleId);
     base.SetDirty(true);
 }
 // Token: 0x06004750 RID: 18256 RVA: 0x0015FA9C File Offset: 0x0015DC9C
 public void DrawCostItem(RafflePool rafflePool, int raffleId)
 {
     this.m_owner.DrawCostItem(rafflePool, raffleId);
 }