2023-07-14 19:35:33 +00:00
|
|
|
local XUiGridDoomsdayResource = require("XUi/XUiDoomsday/XUiGridDoomsdayResource")
|
|
|
|
local XUiGridDoomsdayTeam = require("XUi/XUiDoomsday/XUiGridDoomsdayTeam")
|
|
|
|
|
|
|
|
local EXPLORE_TEAM_NUM = 2 --探索小队数量
|
|
|
|
|
|
|
|
local XUiDoomsdayExploreTcanchuang = XLuaUiManager.Register(XLuaUi, "UiDoomsdayExploreTcanchuang")
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnAwake()
|
|
|
|
self:AutoAddListener()
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnStart(stageId, placeId, closeCb)
|
|
|
|
self.StageId = stageId
|
|
|
|
self.PlaceId = placeId
|
|
|
|
self.CloseCb = closeCb
|
2024-09-01 20:49:41 +00:00
|
|
|
self.IsCamp = XDoomsdayConfigs.CheckPlaceIsCamp(self.StageId, placeId)
|
2023-07-14 19:35:33 +00:00
|
|
|
self.TeamIds = {1, 2}
|
|
|
|
self.StageData = XDataCenter.DoomsdayManager.GetStageData(stageId)
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnEnable()
|
|
|
|
self:UpdateView()
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:UpdateView()
|
|
|
|
local stageId = self.StageId
|
|
|
|
local stageData = self.StageData
|
|
|
|
local placeId = self.PlaceId
|
|
|
|
|
|
|
|
self.TxtTtile.text = XDoomsdayConfigs.PlaceConfig:GetProperty(placeId, "Name")
|
|
|
|
self.TxtTtile01.text = XDoomsdayConfigs.PlaceConfig:GetProperty(placeId, "Desc")
|
2024-09-01 20:49:41 +00:00
|
|
|
local btnTxt = self.IsCamp and XUiHelper.GetText("DoomsdayBackCamp") or XUiHelper.GetText("DoomsdayGoExplore")
|
|
|
|
self.BtnGo:SetNameByGroup(0, btnTxt)
|
2023-07-14 19:35:33 +00:00
|
|
|
|
|
|
|
--资源栏
|
|
|
|
self:RefreshTemplateGrids(
|
|
|
|
self.PanelTool4,
|
|
|
|
XDoomsdayConfigs.GetResourceIds(),
|
|
|
|
self.PanelAsset,
|
|
|
|
function()
|
|
|
|
return XUiGridDoomsdayResource.New(stageId)
|
|
|
|
end,
|
|
|
|
"ResourceGrids"
|
|
|
|
)
|
|
|
|
|
|
|
|
--可获得资源
|
|
|
|
self.GridInhabitant.gameObject:SetActiveEx(XDoomsdayConfigs.PlaceConfig:GetProperty(placeId, "CanGetPeople"))
|
|
|
|
self:RefreshTemplateGrids(
|
|
|
|
self.GridResource,
|
|
|
|
XDoomsdayConfigs.PlaceConfig:GetProperty(placeId, "ResourceId"),
|
|
|
|
self.PanelResource,
|
|
|
|
nil,
|
|
|
|
"RewardResourceGrids",
|
|
|
|
function(grid, resourceId)
|
|
|
|
grid.RImgIcon:SetRawImage(XDoomsdayConfigs.ResourceConfig:GetProperty(resourceId, "Icon"))
|
|
|
|
end
|
|
|
|
)
|
|
|
|
|
|
|
|
--探索小队状态
|
|
|
|
self:RefreshTemplateGrids(
|
|
|
|
{self.GridTeam1, self.GridTeam2},
|
|
|
|
self.TeamIds,
|
|
|
|
nil,
|
|
|
|
function()
|
|
|
|
return XUiGridDoomsdayTeam.New(stageId, handler(self, self.OnSelectTeam), handler(self, self.OnCreateTeam))
|
|
|
|
end,
|
|
|
|
"TeamGrids"
|
|
|
|
)
|
|
|
|
|
|
|
|
local placeTeamId = stageData:GetPlaceSelectTeamId(placeId)
|
|
|
|
self:OnSelectTeam(placeTeamId)
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:UpdateBtnGo()
|
|
|
|
--确认按钮
|
2024-09-01 20:49:41 +00:00
|
|
|
local btnDisable
|
|
|
|
if self.IsCamp then
|
|
|
|
btnDisable = not XTool.IsNumberValid(self.SelectTeamId) or self.StageData:CheckTeamInPlace(self.SelectTeamId, self.PlaceId)
|
|
|
|
else
|
|
|
|
btnDisable = not XTool.IsNumberValid(self.SelectTeamId)
|
|
|
|
or self.StageData:CheckPlaceHasSelectTeamId(self.PlaceId)
|
|
|
|
or self.StageData:IsPlaceFinished(self.PlaceId)
|
|
|
|
end
|
2023-07-14 19:35:33 +00:00
|
|
|
self.BtnGo:SetDisable(btnDisable, not btnDisable)
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnCreateTeam()
|
|
|
|
self:OnClickBtnClose()
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnSelectTeam(teamId)
|
|
|
|
if self.StageData:GetTeamEvent(teamId) ~= nil then
|
|
|
|
XUiManager.TipText("DoomsdayTeamInEvent")
|
|
|
|
return
|
|
|
|
end
|
|
|
|
self.SelectTeamId = XTool.IsNumberValid(teamId) and teamId or nil
|
|
|
|
for index, inId in ipairs(self.TeamIds) do
|
|
|
|
local grid = self:GetGrid(index, "TeamGrids")
|
|
|
|
grid:SetSelect(teamId == inId)
|
2024-09-01 20:49:41 +00:00
|
|
|
local btnDisable
|
|
|
|
if self.IsCamp then
|
|
|
|
btnDisable = self.StageData:CheckTeamInPlace(inId, self.PlaceId)
|
|
|
|
else
|
|
|
|
btnDisable = self.StageData:CheckPlaceHasSelectTeamId(self.PlaceId) or self.StageData:IsPlaceFinished(self.PlaceId)
|
|
|
|
end
|
|
|
|
grid:SetBtnDisable(btnDisable)
|
2023-07-14 19:35:33 +00:00
|
|
|
end
|
|
|
|
self:UpdateBtnGo()
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:AutoAddListener()
|
|
|
|
self.BtnCloseDetail.CallBack = handler(self, self.OnClickBtnClose)
|
|
|
|
self.BtnGo.CallBack = handler(self, self.OnClickBtnEnter)
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnClickBtnClose()
|
|
|
|
if self.CloseCb then
|
2024-09-01 20:49:41 +00:00
|
|
|
self.CloseCb(self.PlaceId)
|
2023-07-14 19:35:33 +00:00
|
|
|
end
|
|
|
|
self:Close()
|
|
|
|
end
|
|
|
|
|
|
|
|
function XUiDoomsdayExploreTcanchuang:OnClickBtnEnter()
|
|
|
|
local teamId = self.SelectTeamId
|
|
|
|
|
|
|
|
if not teamId then
|
|
|
|
XUiManager.TipText("DoomsdayNotSelectTeam")
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
if self.StageData:GetTeamEvent(teamId) ~= nil then
|
|
|
|
XUiManager.TipText("DoomsdayTeamInEvent")
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
self:OnClickBtnClose()
|
2024-09-01 20:49:41 +00:00
|
|
|
if self.StageData:IsFinishEndAndTips() then
|
|
|
|
return
|
|
|
|
end
|
2023-07-14 19:35:33 +00:00
|
|
|
XDataCenter.DoomsdayManager.DoomsdayTargetPlaceRequest(self.StageId, teamId, self.PlaceId)
|
|
|
|
end
|
|
|
|
|
|
|
|
return XUiDoomsdayExploreTcanchuang
|