forked from endernon/PGRData
37 lines
No EOL
1.1 KiB
Lua
37 lines
No EOL
1.1 KiB
Lua
local XMaintainerActionNodeEntity = require("XEntity/XMaintainerAction/XMaintainerActionNodeEntity")
|
|
local XExtraActionNodeEntity = XClass(XMaintainerActionNodeEntity, "XExtraActionNodeEntity")
|
|
local CSTextManagerGetText = CS.XTextManager.GetText
|
|
|
|
function XExtraActionNodeEntity:Ctor()
|
|
self.ExtraActionPoint = 0
|
|
end
|
|
|
|
function XExtraActionNodeEntity:GetExtraActionCount()
|
|
return self.ExtraActionPoint
|
|
end
|
|
|
|
function XExtraActionNodeEntity:GetName()
|
|
return string.format(self:GetCfg().Name,self.ExtraActionPoint)
|
|
end
|
|
|
|
function XExtraActionNodeEntity:GetDesc()
|
|
return string.format(self:GetCfg().DescText,self.ExtraActionPoint)
|
|
end
|
|
|
|
function XExtraActionNodeEntity:OpenHintTip(cb)
|
|
if self:GetHint() then
|
|
XUiManager.TipMsg(string.format(self:GetHint(),self.ExtraActionPoint), nil, cb)
|
|
else
|
|
if cb then cb() end
|
|
end
|
|
end
|
|
|
|
function XExtraActionNodeEntity:DoEvent(data)
|
|
if not data then return end
|
|
local gameData = XDataCenter.MaintainerActionManager.GetGameData()
|
|
gameData:PlusExtraActionCount(self:GetExtraActionCount())
|
|
data.player:MarkNodeEvent()
|
|
if data.cb then data.cb() end
|
|
end
|
|
|
|
return XExtraActionNodeEntity |