public static double GetExtProp(BufferItemTypes bufferItemType, ExtPropIndexes extPropIndexe, int goodsIndex)
        {
            int[]  goodsIds = AdvanceBufferPropsMgr.GetCachingIDsByID((int)bufferItemType);
            double result;

            if (null == goodsIds)
            {
                result = 0.0;
            }
            else if (goodsIndex < 0 || goodsIndex >= goodsIds.Length)
            {
                result = 0.0;
            }
            else
            {
                int           goodsID = goodsIds[goodsIndex];
                EquipPropItem item    = GameManager.EquipPropsMgr.FindEquipPropItem(goodsID);
                if (null == item)
                {
                    result = 0.0;
                }
                else
                {
                    result = item.ExtProps[(int)extPropIndexe];
                }
            }
            return(result);
        }
        public static void DoSpriteBuffers(GameClient client)
        {
            int age = client.ClientData.PropsCacheManager.GetAge();

            foreach (KeyValuePair <BufferItemTypes, int> kv in AdvanceBufferPropsMgr.BufferId2ConfigTypeDict)
            {
                if (kv.Value >= 0)
                {
                    AdvanceBufferPropsMgr.AddTempBufferProp(client, kv.Key, kv.Value);
                }
            }
            if (age != client.ClientData.PropsCacheManager.GetAge())
            {
                client.delayExecModule.SetDelayExecProc(new DelayExecProcIds[]
                {
                    DelayExecProcIds.NotifyRefreshProps
                });
            }
        }
        public static int GetGoodsID(BufferItemTypes bufferItemType, int goodsIndex)
        {
            int[] goodsIds = AdvanceBufferPropsMgr.GetCachingIDsByID((int)bufferItemType);
            int   result;

            if (null == goodsIds)
            {
                result = -1;
            }
            else if (goodsIndex < 0 || goodsIndex >= goodsIds.Length)
            {
                result = -1;
            }
            else
            {
                int goodsID = goodsIds[goodsIndex];
                result = goodsID;
            }
            return(result);
        }
        public static void AddTempBufferProp(GameClient client, BufferItemTypes bufferID, int type)
        {
            EquipPropItem item = null;

            if (Global.CanMapUseBuffer(client.ClientData.MapCode, (int)bufferID))
            {
                BufferData bufferData = Global.GetBufferDataByID(client, (int)bufferID);
                if (null != bufferData)
                {
                    if (!Global.IsBufferDataOver(bufferData, 0L))
                    {
                        int bufferGoodsId = 0;
                        if (type == 0)
                        {
                            int goodsIndex;
                            if (bufferID == BufferItemTypes.ZuanHuang)
                            {
                                goodsIndex = client.ClientData.VipLevel;
                            }
                            else
                            {
                                goodsIndex = (int)bufferData.BufferVal;
                            }
                            int[] goodsIds = AdvanceBufferPropsMgr.GetCachingIDsByID((int)bufferID);
                            if (null == goodsIds)
                            {
                                goto IL_F8;
                            }
                            if (goodsIndex < 0 || goodsIndex >= goodsIds.Length)
                            {
                                goto IL_F8;
                            }
                            bufferGoodsId = goodsIds[goodsIndex];
                        }
                        else if (type == 1)
                        {
                            bufferGoodsId = (int)bufferData.BufferVal;
                        }
                        if (bufferGoodsId > 0)
                        {
                            item = GameManager.EquipPropsMgr.FindEquipPropItem(bufferGoodsId);
                        }
                    }
                }
            }
IL_F8:
            if (null != item)
            {
                client.ClientData.PropsCacheManager.SetExtProps(new object[]
                {
                    PropsSystemTypes.BufferByGoodsProps,
                    bufferID,
                    item.ExtProps
                });
            }
            else
            {
                client.ClientData.PropsCacheManager.SetExtProps(new object[]
                {
                    PropsSystemTypes.BufferByGoodsProps,
                    bufferID,
                    PropsCacheManager.ConstExtProps
                });
            }
        }