5e0d58cfad
EN: 1.2.0.60 CN: 1.2.0.61 JP: 1.2.0.63 KR: 1.2.0.67
87 lines
2.5 KiB
Lua
87 lines
2.5 KiB
Lua
local TemplateArtWordsCtrl = class("TemplateArtWordsCtrl", BaseCtrl)
|
|
local NumberEnum = {
|
|
[0] = {
|
|
level = "zs_vestige_level_0"
|
|
},
|
|
[1] = {
|
|
level = "zs_vestige_level_1"
|
|
},
|
|
[2] = {
|
|
level = "zs_vestige_level_2"
|
|
},
|
|
[3] = {
|
|
level = "zs_vestige_level_3"
|
|
},
|
|
[4] = {
|
|
level = "zs_vestige_level_4"
|
|
},
|
|
[5] = {
|
|
level = "zs_vestige_level_5"
|
|
},
|
|
[6] = {
|
|
level = "zs_vestige_level_6"
|
|
},
|
|
[7] = {
|
|
level = "zs_vestige_level_7"
|
|
},
|
|
[8] = {
|
|
level = "zs_vestige_level_8"
|
|
},
|
|
[9] = {
|
|
level = "zs_vestige_level_9"
|
|
}
|
|
}
|
|
local FontType = {Bold = 1, Level = 2}
|
|
TemplateArtWordsCtrl._mapNodeConfig = {
|
|
imgNum = {sComponentName = "Image", nCount = 3}
|
|
}
|
|
TemplateArtWordsCtrl._mapEventConfig = {}
|
|
function TemplateArtWordsCtrl:SetText(nCount, nType)
|
|
if nCount == nil then
|
|
printError("设置失败, 内容为nil")
|
|
return
|
|
end
|
|
if type(nCount) == "number" then
|
|
self:SetNum(nCount, nType)
|
|
else
|
|
self:SetPunctuation(nCount, nType)
|
|
end
|
|
end
|
|
function TemplateArtWordsCtrl:SetNum(nCount, nType)
|
|
if nCount < 0 or 999 < nCount then
|
|
printError("设置数字失败, 数字区间0~999, 当前数字: " .. nCount)
|
|
return
|
|
end
|
|
local nHundreds, _ = math.modf(nCount / 100 % 10)
|
|
local nTens, _ = math.modf(nCount / 10 % 10)
|
|
local nOnes, _ = math.modf(nCount % 10)
|
|
if 0 < nHundreds then
|
|
NovaAPI.SetImageSpriteAsset(self._mapNode.imgNum[1], self:GetSpriteByFontStyle(nType, nHundreds))
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgNum[1])
|
|
self._mapNode.imgNum[1].gameObject:SetActive(true)
|
|
else
|
|
self._mapNode.imgNum[1].gameObject:SetActive(false)
|
|
end
|
|
if 0 < nHundreds or 0 < nTens then
|
|
NovaAPI.SetImageSpriteAsset(self._mapNode.imgNum[2], self:GetSpriteByFontStyle(nType, nTens))
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgNum[2])
|
|
self._mapNode.imgNum[2].gameObject:SetActive(true)
|
|
else
|
|
self._mapNode.imgNum[2].gameObject:SetActive(false)
|
|
end
|
|
NovaAPI.SetImageSpriteAsset(self._mapNode.imgNum[3], self:GetSpriteByFontStyle(nType, nOnes))
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgNum[3])
|
|
self._mapNode.imgNum[3].gameObject:SetActive(true)
|
|
end
|
|
function TemplateArtWordsCtrl:SetPunctuation(sText, nType)
|
|
self._mapNode.imgNum[1].gameObject:SetActive(false)
|
|
self._mapNode.imgNum[2].gameObject:SetActive(false)
|
|
NovaAPI.SetImageSpriteAsset(self._mapNode.imgNum[3], self:GetSpriteByFontStyle(nType, sText))
|
|
NovaAPI.SetImageNativeSize(self._mapNode.imgNum[3])
|
|
self._mapNode.imgNum[3].gameObject:SetActive(true)
|
|
end
|
|
function TemplateArtWordsCtrl:GetSpriteByFontStyle(nType, nNumber)
|
|
return self:GetAtlasSprite("05_number", NumberEnum[nNumber].Level)
|
|
end
|
|
return TemplateArtWordsCtrl
|