c1_lua/lua/app/ui/battle/cell/grid_edge_cell.lua
2023-08-02 18:07:44 +08:00

44 lines
1.3 KiB
Lua

local GridEdgeCell = class("GridEdgeCell", BaseCell)
local DEFAULT_X = 10000
function GridEdgeCell:refresh(entity)
local uiMap = self:getUIMap()
local mask = uiMap["grid_edge_cell.ani_node.mask"]
self.entity = entity
local icon = self.entity:getIcon()
if self.lastIcon ~= icon then
self.lastIcon = icon
uiMap["grid_edge_cell.ani_node.icon"]:setSprite(GConst.ATLAS_PATH.BATTLE, icon)
mask:setSprite(GConst.ATLAS_PATH.BATTLE, icon)
end
self:resetPosition()
mask:setVisible(self.showMaskTag == true)
end
function GridEdgeCell:resetPosition()
if not self.entity or self.entity:getIsIdle() then
self:getBaseObject():setAnchoredPositionX(DEFAULT_X)
self:getBaseObject():setVisible(false)
return
end
self:getBaseObject():setVisible(true)
local pos = self.entity:getPos()
self:getBaseObject():setAnchoredPosition(pos.x, pos.y)
local eulerAngles = self.entity:getEulerAngles()
self:getBaseObject():setLocalEulerAngles(eulerAngles.x, eulerAngles.y, eulerAngles.z)
end
function GridEdgeCell:showMask(show)
if self.showMaskTag == show then
return
end
self.showMaskTag = show
local uiMap = self:getUIMap()
local mask = uiMap["grid_edge_cell.ani_node.mask"]
mask:setVisible(show)
end
return GridEdgeCell