forked from endernon/PGRData
90 lines
No EOL
3 KiB
Lua
90 lines
No EOL
3 KiB
Lua
local stringGsub = string.gsub
|
|
local CsXTextManagerGetText = CsXTextManagerGetText
|
|
|
|
local XUiStrongholdMining = XLuaUiManager.Register(XLuaUi, "UiStrongholdMining")
|
|
|
|
function XUiStrongholdMining:OnAwake()
|
|
self:AutoAddListener()
|
|
|
|
self.AssetActivityPanel = XUiPanelActivityAsset.New(self.PanelSpecialTool)
|
|
local itemId = XDataCenter.StrongholdManager.GetMineralItemId()
|
|
XDataCenter.ItemManager.AddCountUpdateListener(itemId, function()
|
|
self.AssetActivityPanel:Refresh({ itemId })
|
|
end, self.AssetActivityPanel)
|
|
end
|
|
|
|
function XUiStrongholdMining:OnStart()
|
|
self:InitView()
|
|
end
|
|
|
|
function XUiStrongholdMining:OnEnable()
|
|
self.AssetActivityPanel:Refresh({ XDataCenter.StrongholdManager.GetMineralItemId() })
|
|
self:UpdateView()
|
|
end
|
|
|
|
function XUiStrongholdMining:OnGetEvents()
|
|
return {
|
|
XEventId.EVENT_STRONGHOLD_MINERAL_RECORD_CHANGE,
|
|
}
|
|
end
|
|
|
|
function XUiStrongholdMining:OnNotify(evt, ...)
|
|
if evt == XEventId.EVENT_STRONGHOLD_MINERAL_RECORD_CHANGE then
|
|
self:UpdateView()
|
|
end
|
|
end
|
|
|
|
function XUiStrongholdMining:InitView()
|
|
local itemId = XDataCenter.StrongholdManager.GetMinerItemId()
|
|
|
|
local name = XItemConfigs.GetItemNameById(itemId)
|
|
self.TxtName.text = name
|
|
|
|
local icon = XItemConfigs.GetItemIconById(itemId)
|
|
self.RImgIcon:SetRawImage(icon)
|
|
|
|
local efficiency = XDataCenter.StrongholdManager.GetTotalMinerEfficiency()
|
|
self.TxtEfficiency.text = CsXTextManagerGetText("StrongholdMineEfficiencyDesc", efficiency)
|
|
|
|
local growRate = XDataCenter.StrongholdManager.GetTotalMinerGrowRate()
|
|
self.TxtProliferation.text = CsXTextManagerGetText("StrongholdMinerGrowRateDesc", growRate)
|
|
|
|
self.TxtExplain1.text = CsXTextManagerGetText("StrongholdMinerExplainOne")
|
|
self.TxtExplain2.text = CsXTextManagerGetText("StrongholdMinerExplainTwo")
|
|
end
|
|
|
|
function XUiStrongholdMining:UpdateView()
|
|
local minerCount = XDataCenter.StrongholdManager.GetMinerCount()
|
|
self.TxtPeople.text = minerCount
|
|
|
|
local mineralCount = XDataCenter.StrongholdManager.GetMineralOutput(minerCount)
|
|
self.TxtMineral.text = mineralCount
|
|
|
|
local mineralTotalCount = XDataCenter.StrongholdManager.GetPredictTotalMineralCount()
|
|
self.TxtMineralTotal.text = mineralTotalCount
|
|
end
|
|
|
|
function XUiStrongholdMining:AutoAddListener()
|
|
self.BtnBack.CallBack = function() self:OnClickBtnBack() end
|
|
self.BtnMainUi.CallBack = function() self:OnClickBtnMainUi() end
|
|
-- self.BtnActDesc.CallBack = function() self:OnClickBtnActDesc() end
|
|
self:BindHelpBtn(self.BtnActDesc, "StrongholdMain")
|
|
self.BtnApply.CallBack = function() self:OnClickBtnApply() end
|
|
end
|
|
|
|
function XUiStrongholdMining:OnClickBtnBack()
|
|
self:Close()
|
|
end
|
|
|
|
function XUiStrongholdMining:OnClickBtnMainUi()
|
|
XLuaUiManager.RunMain()
|
|
end
|
|
|
|
function XUiStrongholdMining:OnClickBtnActDesc()
|
|
local description = XUiHelper.ConvertLineBreakSymbol(CsXTextManagerGetText("StrongholdUiMineActDes"))
|
|
XUiManager.UiFubenDialogTip("", description)
|
|
end
|
|
|
|
function XUiStrongholdMining:OnClickBtnApply()
|
|
XLuaUiManager.Open("UiStrongholdJournal")
|
|
end |