源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

64 行
1.5 KiB

--基础组件类
BaseComponent = BaseComponent or BaseClass(EventDispatcher)
local BaseComponent = BaseComponent
function BaseComponent:__init(parent_transform)
self.parent_transform = parent_transform
end
function BaseComponent:CreateGameObject(uiType,uiName)
self.gameObject = UiFactory.createChild(self.parent_transform,uiType,uiName or uiType)
if self.gameObject then
self.transform = self.gameObject.transform
self.cache_findChild = self.transform.Find
self:LoadSuccess()
if self.pos_x and self.pos_y then
self:SetPosition(self.pos_x,self.pos_y)
end
end
end
--[[
获取子对象的transform
特别注意此方法是从根节点开始搜寻子对象 所以要写全路径 比如:"input/Text"
]]
function BaseComponent:GetChild(name)
if self.cache_findChild and self.transform then
return self.cache_findChild(self.transform,name)
end
end
--在子类中继承
function BaseComponent:LoadSuccess()
end
function BaseComponent:SetVisible(b)
self.gameObject:SetActive(b)
end
function BaseComponent:GetVisible()
return self.gameObject.activeSelf
end
function BaseComponent:SetPosition(x, y)
if self.transform then
self.transform.anchoredPosition = Vector2(x, y)
else
self.pos_x,self.pos_y = x,y
end
end
function BaseComponent:GetPosition()
return self.transform.localPosition
end
function BaseComponent:__delete()
self._use_delete_method = true
if self.gameObject then
destroy(self.gameObject)
self.gameObject = nil
end
end
function BaseComponent:GetChildren( names )
GetChildren(self, names)
end