82 lines
1.7 KiB
Lua
82 lines
1.7 KiB
Lua
local UIWidgetBase = require_ex('Common/Core/UIWidgetBase')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow = HL.Class('PuzzleBlockShadow', UIWidgetBase)
|
|
|
|
|
|
PuzzleBlockShadow.m_tweenCore = HL.Field(HL.Any)
|
|
|
|
|
|
|
|
PuzzleBlockShadow._OnDestroy = HL.Override() << function(self)
|
|
if self.m_tweenCore then
|
|
self.m_tweenCore:Kill()
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow._OnFirstTimeInit = HL.Override() << function(self)
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow.InitPuzzleBlockShadow = HL.Method(HL.Table) << function(self, data)
|
|
self:_FirstTimeInit()
|
|
|
|
local calcPivot = UIUtils.calcPivotVecByData(data, self.config.PUZZLE_CELL_SIZE, self.config.PUZZLE_CELL_PADDING)
|
|
self.view.viewRect.pivot = calcPivot
|
|
self.view.viewRect.localPosition = Vector3.zero
|
|
self.view.viewRect.localRotation = Quaternion.identity
|
|
self.view.viewImage:LoadSprite(UIConst.UI_SPRITE_MINIGAME_BLOCK, data.resPath.."_block")
|
|
self.view.viewImage:SetNativeSize()
|
|
|
|
for _ = 1, data.rawRotationCount do
|
|
self.view.viewRect:Rotate(0, 0, -90)
|
|
end
|
|
|
|
self:SetVisible(false)
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow.Rotate = HL.Method(HL.Number) << function(self, rotateCount)
|
|
self.m_tweenCore = self.view.viewRect:DORotate(Vector3(0, 0, -90 * (rotateCount % 4)), 0.2)
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow.SetPosition = HL.Method(Vector3) << function(self, position)
|
|
self.view.rectTransform.position = position
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow.SetVisible = HL.Method(HL.Boolean) << function(self, visible)
|
|
self.view.gameObject:SetActiveIfNecessary(visible)
|
|
end
|
|
|
|
|
|
|
|
|
|
PuzzleBlockShadow.SetLegal = HL.Method(HL.Boolean) << function(self, legal)
|
|
self.view.viewImage.color = legal and Color.white or Color.red
|
|
end
|
|
|
|
HL.Commit(PuzzleBlockShadow)
|
|
return PuzzleBlockShadow
|
|
|