源战役客户端
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 

76 lignes
1.8 KiB

UITalkBoard = UITalkBoard or BaseClass(BaseItem)
function UITalkBoard:__init()
self.layout_file = "TalkBoard"
self.base_file = "uiComponent"
self:Load()
end
function UITalkBoard:__delete()
if self.camera_move_id then
GlobalEventSystem:UnBind(self.camera_move_id)
self.camera_move_id = nil
end
if self.camera_change_size_id then
GlobalEventSystem:UnBind(self.camera_change_size_id)
self.camera_change_size_id = nil
end
if self.delay_timer then
GlobalTimerQuest:CancelQuest(self.delay_timer)
self.delay_timer = nil
end
end
function UITalkBoard:Load_callback()
self.contentText = self:GetChild("Content"):GetComponent("Text")
self.bg_image = self:GetChild("Image"):GetComponent("Image")
self.bg_con = self:GetChild("Image")
self.content_con = self:GetChild("Content")
self:InitEvent()
end
function UITalkBoard:InitEvent()
end
function UITalkBoard:UpdatePos(x,y,z)
SetLocalPosition(self.transform,x,y,z)
end
function UITalkBoard:SetContent(content,content_width)
self.gameObject:SetActive(true)
self.content = content
self.contentText.text = content
self.content_con.sizeDelta = Vector2(content_width,100)
--20 是 距离上下左右的偏移,另外一个 20 是 下面那个尖尖的高度
local width = math.min(self.contentText.preferredWidth,content_width)
local height = self.contentText.preferredHeight
self.bg_con.sizeDelta = Vector2(width + 20 ,height + 20 + 20)
self.content_con.localPosition = Vector3(10,height + 20 + 20 - 10,0)
end
function UITalkBoard:StartTimer(time)
if self.delay_timer == nil then
local delay_callback = function()
self:Show(false)
self.delay_timer = nil
end
self.delay_timer = GlobalTimerQuest:AddDelayQuest(delay_callback, time)
end
end
function UITalkBoard:Show(bool)
self.gameObject:SetActive(bool)
end