源战役客户端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 
 

69 行
2.1 KiB

--3d rt ui 类
UIRtModelClass = UIRtModelClass or BaseClass(UIPartical)
UIRtModelClass.using_render_texture_list = {}
function UIRtModelClass:__init(go,parent, root, model_data)
self.curr_index = UIRtModelClass.GetRenderTextureIndex()
self.pos_x = 0
self.gameObject = go
self.gameObject.transform.position = Vector3(self.curr_index * 20000,10000, 10000)
self.model_data = model_data
self:SetData(parent,root,model_data)
self:AddEvents()
end
function UIRtModelClass.GetRenderTextureIndex()
local index = 1
while (UIRtModelClass.using_render_texture_list[index]) do
index = index + 1
end
UIRtModelClass.using_render_texture_list[index] = true
return index
end
function UIRtModelClass:__delete()
UIRtModelClass.using_render_texture_list[self.curr_index] = nil-----------------
if self.gameObject then
destroy(self.gameObject, true)
end
if self.rt then
UnityEngine.RenderTexture.ReleaseTemporary(self.rt)
self.rt = nil
end
end
function UIRtModelClass:SetData(parent, root, model_data)
self.camera = self.gameObject.transform:Find("3DUICamera"):GetComponent("Camera")
self.ui_root = self.gameObject.transform:Find("3DUIRoot").gameObject
local root_pos = model_data.root_pos or Vector2(0, 0)
local root_scale = model_data.root_scale or 1
local root_rotation = model_data.root_rotation or Vector3(0, 0, 0)
if root then
local root_trans = root.transform
root:SetActive(true)
root_trans:SetParent(self.ui_root.transform)
self:SetRTUILayer(self.ui_root.transform)
SetLocalScale(root_trans,root_scale, root_scale, root_scale)
SetAnchoredPosition(root_trans, root_pos.x, root_pos.y)
root_trans.localRotation = Quaternion.Euler(root_rotation.x, root_rotation.y, root_rotation.z)
end
self.size = self.size or Vector2(600,360)
if not self.renderSize then
self.renderSize = self.size
end
local temp_x, temp_y = self.size.x, self.size.y
if not self.rt then
self.rt = UnityEngine.RenderTexture.GetTemporary(temp_x, temp_y, 24)
end
self.camera.targetTexture = self.rt
local raw_image = parent:GetComponent("RawImage")
raw_image.texture = self.rt
parent.sizeDelta = self.size
end
function UIRtModelClass:AddEvents()
end