221 lines
6.6 KiB
Plaintext
221 lines
6.6 KiB
Plaintext
AdventurePanel = class("AdventurePanel", ContainerView)
|
|
AdventurePanel.ViewType = UIViewType.NormalLayer
|
|
autoImport("AdventureCategoryCell")
|
|
autoImport("AdventureHomePage")
|
|
autoImport("AdventureResearchPage")
|
|
autoImport("AdventureItemNormalListPage")
|
|
autoImport("BeautifulAreaPhotoNetIngManager")
|
|
autoImport("AdventureAchievementPage")
|
|
autoImport("AdventureFoodPage")
|
|
|
|
AdventurePanel.Category = GameConfig.AdventureCategoryConfig
|
|
|
|
function AdventurePanel:GetShowHideMode()
|
|
return PanelShowHideMode.MoveOutAndMoveIn
|
|
end
|
|
|
|
function AdventurePanel:Init()
|
|
self:initView()
|
|
end
|
|
|
|
function AdventurePanel:OnEnter( )
|
|
-- body
|
|
-- printRed("AdventurePanel:OnEnter( )")
|
|
self.super.OnEnter(self)
|
|
self:initData()
|
|
-- printRed("function AdventurePanel:OnEnter( )")
|
|
BeautifulAreaPhotoNetIngManager.Ins():OnSwitchOn()
|
|
self:RegistRedTip()
|
|
self:resetCategory()
|
|
local manager_Camera = Game.GameObjectManagers[Game.GameObjectType.Camera]
|
|
manager_Camera:ActiveMainCamera(false);
|
|
end
|
|
|
|
function AdventurePanel:RegistRedTip( )
|
|
-- body
|
|
if(self.redData)then
|
|
for i=1,#self.redData do
|
|
local single = self.redData[i]
|
|
self:RegisterRedTipCheck(single.id,single.obj,nil,single.offset)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:OnExit()
|
|
self.super.OnExit(self)
|
|
local manager_Camera = Game.GameObjectManagers[Game.GameObjectType.Camera]
|
|
manager_Camera:ActiveMainCamera(true);
|
|
-- printRed("AdventurePanel:OnExit( )")
|
|
BeautifulAreaPhotoNetIngManager.Ins():OnSwitchOff()
|
|
self.currentKey = nil
|
|
-- printRed("function AdventurePanel:OnExit()")
|
|
end
|
|
|
|
function AdventurePanel:handleRegistRedTip( data )
|
|
-- body
|
|
if(data)then
|
|
-- printRed(data.id)
|
|
-- printRed(data.obj)
|
|
-- self:Log("regist",data.offset)
|
|
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:initView( )
|
|
-- body
|
|
self.adventureHomePage = self:AddSubView("AdventureHomePage",AdventureHomePage)
|
|
self.itemListPage = self:AddSubView("SceneryNormalListPage",AdventureItemNormalListPage)
|
|
self.researchPage = self:AddSubView("AdventureResearchPage",AdventureResearchPage)
|
|
self.achievePage = self:AddSubView("AdventureAchievementPage",AdventureAchievementPage)
|
|
self.adventureFoodPage = self:AddSubView("AdventureFoodPage",AdventureFoodPage)
|
|
|
|
local CategoryListTable = self:FindGO("categoryList"):GetComponent(UIGrid)
|
|
self.categoryList = UIGridListCtrl.new(CategoryListTable,AdventureCategoryCell,"AdventureCategoryCell")
|
|
self.categorSv = self:FindComponent("ScrollView",UIScrollView,self:FindGO("toggles"))
|
|
--解決關閉相機背景
|
|
-- local maskBg = self:FindGO("maskBg")
|
|
-- if ApplicationInfo.IsIphoneX() and maskBg then
|
|
-- self:Hide(maskBg)
|
|
-- end
|
|
end
|
|
|
|
function AdventurePanel:initData( )
|
|
-- body
|
|
local list = {}
|
|
for k,v in pairs(AdventureDataProxy.Instance.categoryDatas) do
|
|
local menuId = v.staticData.MenuID
|
|
if(v.staticData.Position and v.staticData.Position > 1 and ((menuId and FunctionUnLockFunc.Me():CheckCanOpen(menuId)) or not menuId))then
|
|
table.insert(list,v)
|
|
end
|
|
end
|
|
table.sort(list,function ( l,r )
|
|
-- body
|
|
return l.staticData.Order < r.staticData.Order
|
|
end)
|
|
|
|
self.categoryList:ResetDatas(list)
|
|
local cells = self.categoryList:GetCells()
|
|
self.redData = {}
|
|
for i=1,#cells do
|
|
local singleCell = cells[i]
|
|
self:AddTabChangeEvent(singleCell.gameObject,nil,singleCell)
|
|
|
|
local redTipIds = AdventureDataProxy.Instance:getRidTipsByCategoryId(singleCell.data.staticData.id)
|
|
for j=1,#redTipIds do
|
|
local single = redTipIds[j]
|
|
local data = {}
|
|
data.id = single
|
|
data.obj = singleCell.icon
|
|
data.offset = {-5,-5}
|
|
table.insert(self.redData,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:resetCategory( )
|
|
-- body
|
|
local cells = self.categoryList:GetCells()
|
|
if(cells and #cells >0)then
|
|
if(self.viewdata.viewdata.achieveData)then
|
|
for i=1,#cells do
|
|
if(cells[i].data.staticData.id == SceneManual_pb.EMANUALTYPE_ACHIEVE)then
|
|
self:TabChangeHandler(cells[i])
|
|
break
|
|
end
|
|
end
|
|
else
|
|
self:TabChangeHandler(cells[1])
|
|
end
|
|
end
|
|
self:adjustItemPos()
|
|
end
|
|
|
|
function AdventurePanel:TabChangeHandler(cell)
|
|
-- body
|
|
if(self.currentKey ~=cell)then
|
|
AdventurePanel.super.TabChangeHandler(self,cell)
|
|
self:handleCategoryClick(cell)
|
|
self.currentKey = cell
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:addListEventListener( )
|
|
-- body
|
|
-- self:AddListenEvt(QuestEvent.QuestDelete,self.questDelete)
|
|
-- self:AddListenEvt(ServiceEvent.QuestQuestDetailUpdate,self.QuestQuestDetailUpdate)
|
|
-- self:AddListenEvt(ServiceEvent.QuestQuestDetailList,self.QuestQuestDetailUpdate)
|
|
end
|
|
|
|
function AdventurePanel:handleCategorySelect( data )
|
|
-- body
|
|
if(data.staticData.id == SceneManual_pb.EMANUALTYPE_HOMEPAGE)then
|
|
self.adventureHomePage:Show()
|
|
self.adventureFoodPage:Hide()
|
|
self.itemListPage:Hide()
|
|
self.researchPage:Hide()
|
|
self.achievePage:Hide()
|
|
elseif(data.staticData.id == SceneManual_pb.EMANUALTYPE_ACHIEVE)then
|
|
self.researchPage:Hide()
|
|
self.adventureFoodPage:Hide()
|
|
self.adventureHomePage:Hide()
|
|
self.itemListPage:Hide()
|
|
self.achievePage:ShowSelf(self.viewdata.viewdata.achieveData)
|
|
self.viewdata.viewdata.achieveData = nil
|
|
elseif(data.staticData.id == SceneManual_pb.EMANUALTYPE_RESEARCH)then
|
|
self.adventureFoodPage:Hide()
|
|
self.researchPage:ShowSelf()
|
|
self.adventureHomePage:Hide()
|
|
self.itemListPage:Hide()
|
|
self.achievePage:Hide()
|
|
elseif(data.staticData.id == 18)then
|
|
self.adventureFoodPage:ShowSelf()
|
|
self.adventureHomePage:Hide()
|
|
self.itemListPage:Hide()
|
|
self.achievePage:Hide()
|
|
self.researchPage:Hide()
|
|
else
|
|
self.adventureFoodPage:Hide()
|
|
self.itemListPage:Show()
|
|
self.researchPage:Hide()
|
|
self.itemListPage:setCategoryData(data)
|
|
self.adventureHomePage:Hide()
|
|
self.achievePage:Hide()
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:handleCategoryClick( child )
|
|
-- body
|
|
self:handleCategorySelect(child.data)
|
|
local cells = self.categoryList:GetCells()
|
|
|
|
for i=1,#cells do
|
|
local single = cells[i]
|
|
if single == child then
|
|
single:setIsSelected(true)
|
|
else
|
|
single:setIsSelected(false)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AdventurePanel:adjustItemPos( )
|
|
-- body
|
|
self.categorSv:ResetPosition()
|
|
end
|
|
|
|
function AdventurePanel.OpenAchievePageById( achieveId )
|
|
-- body
|
|
local type = AdventureAchieveProxy.Instance:getTopCategoryIdByAchiveId(achieveId)
|
|
if(type)then
|
|
GameFacade.Instance:sendNotification(UIEvent.JumpPanel,{view = PanelConfig.AdventurePanel, viewdata = {achieveData = {type = type,id = achieveId}}});
|
|
else
|
|
helplog("can't find type:",achieveId);
|
|
end
|
|
end
|
|
|
|
function AdventurePanel.OpenAchievePage( type,achieveId )
|
|
-- body
|
|
if(Table_Achievement[type] and Table_Achievement[achieveId])then
|
|
GameFacade.Instance:sendNotification(UIEvent.JumpPanel,{view = PanelConfig.AdventurePanel, viewdata = {achieveData = {type = type,id = achieveId}}});
|
|
end
|
|
end |