private static FundItem initFundItem(GameClient client, EFund fundType) { FundItem result; lock (client.ClientData.LockFund) { FundInfo fundInfo = (from info in FundManager._fundDic.Values where info.FundType == (int)fundType orderby info.FundID select info).First <FundInfo>(); FundItem item = new FundItem(); item.FundID = fundInfo.FundID; item.FundType = (int)fundType; item.BuyType = 3; if (client.ClientData.VipLevel >= fundInfo.MinVip) { item.BuyType = 2; } FundAwardInfo awardInfo = (from info in FundManager._fundAwardDic.Values where info.FundType == (int)fundType && info.FundID == fundInfo.FundID orderby info.AwardID select info).First <FundAwardInfo>(); item.AwardID = awardInfo.AwardID; item.AwardType = 3; FundManager.checkFundItemValue(client, item); result = item; } return(result); }