228 lines
6.2 KiB
Plaintext
228 lines
6.2 KiB
Plaintext
QuotaCardView = class("QuotaCardView",ContainerView)
|
|
autoImport("QuotaLogCell")
|
|
autoImport("QuotaDetailCell")
|
|
QuotaCardView.ViewType = UIViewType.NormalLayer
|
|
QuotaCardView.moneyID=149
|
|
local textureName = "auction_bg_card"
|
|
function QuotaCardView:Init()
|
|
self:FindObjs()
|
|
self:AddEvts()
|
|
self:InitUIView()
|
|
self:MapListenEvt()
|
|
self.pageMap = {};
|
|
self.pageDetailMap = {};
|
|
end
|
|
|
|
function QuotaCardView:FindObjs()
|
|
self.goBtn = self:FindGO("goBtn")
|
|
self.desc = self:FindGO("desc"):GetComponent(UILabel)
|
|
self.accountLab = self:FindGO("accountLab"):GetComponent(UILabel)
|
|
self.lock = self:FindGO("Lock"):GetComponent(UILabel)
|
|
self.pointLimitDate = self:FindGO("pointLimitDate")
|
|
self.desc2 = self:FindGO("desc2"):GetComponent(UILabel)
|
|
self.quotaDetail=self:FindGO("quotaDetail")
|
|
self.icon=self:FindGO("icon"):GetComponent(UISprite)
|
|
self.texture=self:FindGO("Texture"):GetComponent(UITexture)
|
|
self.accountLine = self:FindGO("AccountLine"):GetComponent(UISprite)
|
|
end
|
|
|
|
function QuotaCardView:AddEvts()
|
|
self:AddClickEvent(self.goBtn,function (g)
|
|
self:OnClickGoBtn()
|
|
end)
|
|
self:AddClickEvent(self.pointLimitDate,function (g)
|
|
self:OnClickPointLimitDate()
|
|
end)
|
|
end
|
|
|
|
function QuotaCardView:InitUIView()
|
|
PictureManager.Instance:SetQuota(textureName, self.texture)
|
|
self.desc.text=ZhString.QuotaCard_Desc
|
|
|
|
local _MyselfProxy = MyselfProxy.Instance
|
|
local quota = _MyselfProxy:GetQuota()
|
|
local lockQuota = _MyselfProxy:GetQuotaLock()
|
|
self.accountLab.text= string.format(ZhString.QuotaCard_QuotaTitle, quota)
|
|
self.lock.text = string.format(ZhString.QuotaCard_LockTitle, lockQuota)
|
|
self.accountLine.fillAmount = quota / (quota + lockQuota)
|
|
|
|
local iconName=Table_Item[QuotaCardView.moneyID] and Table_Item[QuotaCardView.moneyID].Icon or "item_100"
|
|
IconManager:SetItemIcon(iconName, self.icon);
|
|
self.desc2.text=ZhString.QuotaCard_Desc2
|
|
local logWrap = self:FindGO("LogWrapContent");
|
|
local wrapConfig = {
|
|
wrapObj = logWrap,
|
|
cellName = "QuotaLogCell",
|
|
control = QuotaLogCell,
|
|
};
|
|
self.logCtl = WrapCellHelper.new(wrapConfig);
|
|
|
|
local logWrap = self:FindGO("detailWrapContent");
|
|
local wrapConfig = {
|
|
wrapObj = logWrap,
|
|
cellName = "QuotaDetailCell",
|
|
control = QuotaDetailCell,
|
|
};
|
|
self.detailCtl = WrapCellHelper.new(wrapConfig);
|
|
|
|
|
|
local logScroll = self:FindComponent("logScroll", UIScrollView);
|
|
logScroll.momentumAmount = 100;
|
|
NGUIUtil.HelpChangePageByDrag(logScroll, function ()
|
|
self:GetPreLogPage();
|
|
end, function ()
|
|
self:GetNextLogPage();
|
|
end, 120)
|
|
|
|
local detailScroll = self:FindComponent("detailScroll", UIScrollView);
|
|
detailScroll.momentumAmount = 100;
|
|
NGUIUtil.HelpChangePageByDrag(detailScroll, function ()
|
|
self:GetPreDetailPage();
|
|
end, function ()
|
|
self:GetNextDetailPage();
|
|
end, 120)
|
|
|
|
end
|
|
|
|
function QuotaCardView:OnClickGoBtn()
|
|
GameFacade.Instance:sendNotification(UIEvent.JumpPanel,{view = PanelConfig.ZenyShop});
|
|
end
|
|
|
|
function QuotaCardView:OnClickPointLimitDate()
|
|
self:Show(self.quotaDetail)
|
|
self:QueryDetailList(1)
|
|
end
|
|
|
|
|
|
function QuotaCardView:GetPreLogPage()
|
|
if(self.nowLogPage)then
|
|
local page = math.max(self.nowLogPage - 1, 1);
|
|
self:QueryLogList(page);
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:GetPreDetailPage()
|
|
if(self.nowDetailPage)then
|
|
local page = math.max(self.nowDetailPage - 1, 1);
|
|
self:QueryDetailList(page);
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:GetNextLogPage()
|
|
if(self.nowLogPage)then
|
|
local page = self.nowLogPage + 1;
|
|
if(self.maxPage)then
|
|
page = math.min(self.maxPage, page);
|
|
end
|
|
self:QueryLogList(page);
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:GetNextDetailPage()
|
|
if(self.nowDetailPage)then
|
|
local page = self.nowDetailPage + 1;
|
|
if(self.maxDetailPage)then
|
|
page = math.min(self.maxDetailPage, page);
|
|
end
|
|
self:QueryDetailList(page);
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:QueryLogList(page)
|
|
if(GameConfig.SystemForbid.Limit)then
|
|
self:CloseSelf()
|
|
return
|
|
end
|
|
self.preLogPage = self.nowLogPage;
|
|
self.nowLogPage = page or 0;
|
|
if(not self.pageMap[self.nowLogPage])then
|
|
self.pageMap[self.nowLogPage] = 1;
|
|
ServiceItemProxy.Instance:CallReqQuotaLogCmd(self.nowLogPage)
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:QueryDetailList(page)
|
|
self.preDetailPage = self.nowDetailPage;
|
|
self.nowDetailPage = page or 0;
|
|
if(not self.pageDetailMap[self.nowDetailPage])then
|
|
self.pageDetailMap[self.nowDetailPage] = 1;
|
|
ServiceItemProxy.Instance:CallReqQuotaDetailCmd(self.nowDetailPage)
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:MapListenEvt()
|
|
self:AddListenEvt(ServiceEvent.ItemReqQuotaDetailCmd, self.HandleQuotaDetailList);
|
|
self:AddListenEvt(ServiceEvent.ItemReqQuotaLogCmd, self.HandleQuotaLogList);
|
|
end
|
|
|
|
function QuotaCardView:HandleQuotaDetailList(note)
|
|
local datas = QuotaCardProxy.Instance:GetDetailData();
|
|
if(self.preDetailPage)then
|
|
if(#datas > 0)then
|
|
if(self.nowDetailPage > 1)then
|
|
MsgManager.FloatMsg(nil, ZhString.QuotaCard_Loading);
|
|
end
|
|
if(self.nowDetailPage < self.preDetailPage)then
|
|
for i=#datas, 1, -1 do
|
|
self.detailCtl:InsertData(datas[i], 1);
|
|
end
|
|
elseif(self.preDetailPage < self.nowDetailPage)then
|
|
for i=1,#datas do
|
|
self.detailCtl:InsertData(datas[i]);
|
|
end
|
|
end
|
|
else
|
|
MsgManager.FloatMsg(nil, ZhString.QuotaCard_End);
|
|
self.nowDetailPage = self.preDetailPage;
|
|
self.maxDetailPage = self.nowDetailPage;
|
|
end
|
|
elseif(self.nowDetailPage)then
|
|
self.detailCtl:ResetDatas(datas);
|
|
end
|
|
|
|
local alldatas = self.detailCtl:GetDatas();
|
|
-- helplog("detailCtl alldatas count : ",#alldatas)
|
|
end
|
|
|
|
function QuotaCardView:HandleQuotaLogList(note)
|
|
local datas = QuotaCardProxy.Instance:GetLogData();
|
|
if(self.preLogPage)then
|
|
if(#datas > 0)then
|
|
if(self.nowLogPage > 1)then
|
|
MsgManager.FloatMsg(nil, ZhString.QuotaCard_Loading);
|
|
end
|
|
if(self.nowLogPage < self.preLogPage)then
|
|
for i=#datas, 1, -1 do
|
|
self.logCtl:InsertData(datas[i], 1);
|
|
end
|
|
elseif(self.preLogPage < self.nowLogPage)then
|
|
for i=1,#datas do
|
|
self.logCtl:InsertData(datas[i]);
|
|
end
|
|
end
|
|
else
|
|
MsgManager.FloatMsg(nil, ZhString.QuotaCard_End);
|
|
self.nowLogPage = self.preLogPage;
|
|
self.maxPage = self.nowLogPage;
|
|
end
|
|
elseif(self.nowLogPage)then
|
|
self.logCtl:ResetDatas(datas);
|
|
end
|
|
end
|
|
|
|
function QuotaCardView:OnEnter()
|
|
QuotaCardProxy.Instance:Init()
|
|
QuotaCardView.super.OnEnter(self);
|
|
self:QueryLogList(1);
|
|
end
|
|
|
|
function QuotaCardView:OnExit()
|
|
PictureManager.Instance:UnLoadQuota()
|
|
QuotaCardView.super.OnExit(self);
|
|
|
|
end
|
|
|
|
|
|
|
|
|