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

241 行
8.1 KiB

ChildGetView = ChildGetView or BaseClass(BaseView)
local ChildGetView = ChildGetView
function ChildGetView:__init()
self.base_file = "child"
self.layout_file = "ChildGetView"
self.layer_name = "UI"
self.destroy_imm = true
self.use_background = true
self.hide_maincancas = true
self.change_scene_close = true
self.append_to_ctl_queue = false --是否要添加进界面堆栈
self.model = ChildModel:GetInstance()
self.selectSex = false
self.load_callback = function ()
self:LoadSuccess()
self:AddEvent()
end
self.open_callback = function ( )
self:UpdateView()
end
self.destroy_callback = function ( )
self:DestroySuccess()
end
end
function ChildNiceRecordView:Open(data,callBack)
self.data = data
self.callBack = callBack
BaseView.Open(self)
end
function ChildGetView:LoadSuccess()
local nodes = {
"bg:obj:img","btn_close:obj",
"confirmBtn:obj","btn2:obj:raw","btn1:obj:raw",
"moneyBg_right/num_right:txt","moneyBg_left/num_left:txt",
"moneyBg_left/moneyIcon_left:img", "moneyBg_right/moneyIcon_right:img",
"babyConLeft:raw", "babyConRight:raw",
"light2:img:obj", "light1:img:obj",
"con_talk_girl/lb_talk_girl:tmp", "con_talk_boy/lb_talk_boy:tmp",
"con_select_girl:obj", "con_talk_boy:obj",
"con_select_boy:obj", "con_talk_girl:obj",
}
self:GetChildren(nodes)
self.lb_talk_girl_tmp.text = "嘿嘿,人家是漂亮的女孩子哦!"
self.lb_talk_boy_tmp.text = "嘻嘻,我是可爱的男孩子哦!"
self.con_select_boy_obj:SetActive(false)
self.con_talk_boy_obj:SetActive(false)
self.con_select_girl_obj:SetActive(false)
self.con_talk_girl_obj:SetActive(false)
self.input_text = self:GetChild("input"):GetComponent("InputField")
lua_resM:setOutsideImageSprite(self, self.bg_img, GameResPath.GetChildIcon("child_get_view_bg"), false)
lua_resM:setOutsideImageSprite(self, self.light1_img, GameResPath.GetChildIcon("child_get_light_bg"), false)
lua_resM:setOutsideImageSprite(self, self.light2_img, GameResPath.GetChildIcon("child_get_light_bg"), false)
-- 微调宝宝模型的位置
SetAnchoredPosition(self.btn1, -228, 22)
SetAnchoredPosition(self.babyConLeft, -214, 50)
SetAnchoredPosition(self.btn2, 252, 22)
SetAnchoredPosition(self.babyConRight, 234, 50)
-- 下面是模型反向的参数
-- SetAnchoredPosition(self.btn1, -228 -23, 22)
-- SetAnchoredPosition(self.babyConLeft, -214 - 23, 50)
-- SetAnchoredPosition(self.btn2, 252 -23, 22)
-- SetAnchoredPosition(self.babyConRight, 234 -23, 50)
-- SetLocalScale(self.babyConLeft, -1, 1, 1)
-- SetLocalScale(self.babyConRight, -1, 1, 1)
-- self.light1_obj:SetActive(false)
-- self.light2_obj:SetActive(false)
local active_cost = stringtotable(self.model:GetConfigChildKvVal("active_cost"))
self.num_left_txt.text = active_cost[1][3]
self.num_right_txt.text = active_cost[1][3]
local asset, source = WordManager:GetCommonMoneyIcon(tonumber(active_cost[1][1]))
lua_resM:setImageSprite(self, self.moneyIcon_left_img, asset, source, true)
lua_resM:setImageSprite(self, self.moneyIcon_right_img, asset, source, true)
end
function ChildGetView:AddEvent()
local on_click = function ( click_obj )
if self.btn_close_obj == click_obj then
self:Close()
elseif self.confirmBtn_obj == click_obj then
if not self.selectSex then
Message.show("请选择宝宝性别")
return
end
if HasLimitChar(self.input_text.text) then
Message.show("宝宝名存在非法字符,请重新输入")
return
end
local _, filter = LanguageFilter.FilterMsg(self.input_text.text)
if filter == false then
Message.show("内容有敏感词")
return
end
if Trim(self.input_text.text) == "" then
-- Message.show("名字不能为空")
--return
-- self.input_text.text = "宝宝"
end
local filter = LanguageFilter.NameFilter(self.input_text.text)
if filter == nil then
Message.show("角色名存在敏感词,请重新输入")
return
end
if string.find(self.input_text.text, "(<#f_%d>)") then
Message.show("该名字含有非法字符 ")
return
end
if EnglineVersion and AppConst_EnglineVer > 30 then
self.input_text.text = Util.SetNonBreakSpaceText(self.input_text.text)
end
local _name = Trim(self.input_text.text)
self:Close()
self.model:Fire(ChildConst.CHILD_REQ_EVENT, 16502,self.selectSex,_name)
--self.model:Fire(ChildConst.OPEN_CHILD_BASE_VIEW,1,1,1)
elseif self.btn1_obj == click_obj then
self:ChoiceChild(true)
elseif self.btn2_obj == click_obj then
self:ChoiceChild(false)
end
end
AddClickEvent(self.btn_close_obj, on_click)
AddClickEvent(self.confirmBtn_obj, on_click)
AddClickEvent(self.btn1_obj, on_click)
AddClickEvent(self.btn2_obj, on_click)
end
function ChildGetView:UpdateView()
self:UpdateRoleModel( 1 )
self:UpdateRoleModel( 2 )
-- 默认选择
-- local function delay_method( )
-- self:ChoiceChild(true)
-- end
-- setTimeout(delay_method, 0.5)
--local marble_cost = self.model:GetConfigMarbleKvVal("marble_cost")
--[[if not self.item_list_com then
self.item_list_com = self:AddUIComponent(UI.ItemListCreator)
end
local info = {
data_list = self.model.degree_cfg,
item_con = self.Content,
item_class = ChildGetViewItem,
item_width = 864,
item_height = 160,
-- space_x = 0,
-- space_y = 0,
start_x = 13.4,
start_y = -12.5,
scroll_view = self.ScrollView,
create_frequency = 0.02,
on_update_item = function(item, i, v)
item:SetData(v)
end,
}
self.item_list_com:UpdateItems(info)
self.item_list_com:ScrollToItem(self.model.degree,-17.5)]]
end
-- 更新孩子模型
function ChildGetView:UpdateRoleModel( child_sex )
local show_figure_id = self.model:GetChildOriginalModelID(child_sex)
local parent = child_sex == 1 and self.babyConLeft or self.babyConRight
-- local rotate = child_sex == 1 and Vector3(0, 160, 0) or Vector3(0, 0, 0)
local res_data = {
father_node = self,
transform = parent,
fashion_type = FuncOpenModel.TypeId.Child,
figure_id = show_figure_id,
ui_model_type = UIModelCommon.ModelType.RT,
can_rotate = false,
scale = 300,
-- rotate = rotate,
}
FuncOpenModel:getInstance():SetModelRes(res_data)
end
function ChildGetView:ChoiceChild(isLeft)
self.con_select_boy_obj:SetActive(isLeft)
self.con_talk_boy_obj:SetActive(isLeft)
self.con_select_girl_obj:SetActive(not isLeft)
self.con_talk_girl_obj:SetActive(not isLeft)
-- if self.hide_con_timer_id then
-- GlobalTimerQuest:CancelQuest(self.hide_con_timer_id)
-- self.hide_con_timer_id = nil
-- end
-- SetImageGray(self.light1_img, not isLeft)
-- SetImageGray(self.light2_img, isLeft)
self.light1_obj:SetActive(not isLeft)
self.light2_obj:SetActive(isLeft)
if isLeft then
self.input_text.text = "蓝宝宝"
self.selectSex = 1
-- local function delay( )
-- self.con_talk_boy_obj:SetActive(false)
-- end
-- self.hide_con_timer_id = GlobalTimerQuest:AddDelayQuest(delay, 2)
-- self.btn1_obj:SetActive(false)
-- self.btn2_obj:SetActive(true)
-- self.babyConLeft_raw.material = UIModelClassByRT.RT_Material.render_texture
-- self.babyConRight_raw.material = UIModelClassByRT.RT_Material.gray
else
self.input_text.text = "粉宝宝"
self.selectSex = 2
-- local function delay( )
-- self.con_talk_girl_obj:SetActive(false)
-- end
-- self.hide_con_timer_id = GlobalTimerQuest:AddDelayQuest(delay, 2)
-- self.btn1_obj:SetActive(true)
-- self.btn2_obj:SetActive(false)
-- self.babyConLeft_raw.material = UIModelClassByRT.RT_Material.gray
-- self.babyConRight_raw.material = UIModelClassByRT.RT_Material.render_texture
-- SetImageGray(self.light1_img, true)
-- SetImageGray(self.light2_img, false)
end
end
function ChildNiceRecordView:SetCallBack(callBack)
self.callBack = callBack
end
function ChildGetView:DestroySuccess( )
-- if self.hide_con_timer_id then
-- GlobalTimerQuest:CancelQuest(self.hide_con_timer_id)
-- self.hide_con_timer_id = nil
-- end
end