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

240 行
7.1 KiB

ReChargePreView = ReChargePreView or BaseClass(BaseView)
local ReChargePreView = ReChargePreView
--首充预告
function ReChargePreView:__init(parent)
self.base_file = "guide"
self.layout_file = "ReChargePreView"
self.layer_name = "UI"
self.mainVo = RoleManager.Instance.mainRoleInfo
self.destroy_imm = true
self.hide_maincancas = false
self.diff_time = 15
self.close_mode = CloseMode.CloseVisible
self.change_scene_close = true
self.is_set_order_sorting = false
-- self.use_local_view = true
--回调方法
self.load_callback = function()
self:LoadSuccess()
self:InitEvent()
end
self.open_callback = function()
if self.is_pre_load then
return
end
self:UpdateView()
self.diff_time = 15
self:StopTimer()
self:StartTimer()
-- self:AddUIEffect("ui_meirishouchong", self.goEffect, self.layer_name, nil, {x=1,y=1}, true,false,nil,nil)
end
self.close_callback = function()
end
self.destroy_callback = function()
self:Clear()
end
end
function ReChargePreView:Open(bool)
self.is_pre_load = bool
BaseView.Open(self)
end
function ReChargePreView:LoadSuccess()
self.closeBtn,
self.combatLabel,
self.useBtn = self:GetChildGameObjects({
"CloseBtn",
"combatLabel",
"UseBtn"
})
self.itemCon,
self.goEffect,
self.otherCon = self:GetChildTransforms({
"itemCon",
"effect",
"otherItemCon",
})
self.roleCombat,
self.otherCombat
= GetChildTexts(self.transform,
{
"combatLabel",
"otherCombat",
})
self.bg = self:GetChildImages({
"Border",
})
local pos = ActivityIconManager.Instance:GetIconPos(7)
if pos then
self.transform.anchoredPosition = Vector2(pos.x--[[-190--]]+75, pos.y--[[-215--]]+445)
end
local config = OutSidePictureMgr.PreLoad.ReChargePreView_BG
if config then
lua_resM:setOutsideImageSprite(self, self.bg,GameResPath.GetImage(config.modele,config.res))
end
end
function ReChargePreView:InitEvent()
local function onClickHandler(target)
if target == self.closeBtn then
self:Close()
elseif target == self.useBtn then
RechargeActivityModel:getInstance():Fire(RechargeActivityModel.OPEN_FIRST_RECHARGE_VIEW)
self:Close()
end
end
AddClickEvent(self.useBtn,onClickHandler)
AddClickEvent(self.closeBtn,onClickHandler)
end
function ReChargePreView:UpdateView( )
local pos = ActivityIconManager.Instance:GetIconPos(7)
if pos then
self.transform.anchoredPosition = Vector2(pos.x--[[-190--]]+75, pos.y--[[-215--]]+445)
end
self:SetRoleModel()
end
function ReChargePreView:Clear( )
self:ClearUIEffect(self.goEffect)
self:StopTimer()
end
function ReChargePreView:StartTimer()
local function onTimer()
if self.diff_time < 1 then
self:Close()
else
self.diff_time = self.diff_time - 1
end
end
self.timer_id = GlobalTimerQuest:AddPeriodQuest(onTimer,1,-1)
end
function ReChargePreView:StopTimer()
if self.timer_id then
GlobalTimerQuest:CancelQuest(self.timer_id)
self.timer_id = nil
end
end
function ReChargePreView:SetRoleModel()
-- local angel = 0
-- local pos = Vector3(35,-110)
-- local scale = 100
-- local action = nil
-- local res_id = 158001
-- local data = {
-- clothe_res_id = res_id,
-- SceneBaseType.Horse,
-- layer_name = self.layer_name,
-- rotate = angel,
-- can_rotate = true,
-- scale = scale,
-- position = pos,
-- layout_file = self.layout_file
-- }
local cfg = Config.Rechargefirst["40@"..self.mainVo.career.."@1"] --直接拿第一个 因为只是显示模型而已 所以其他的也是相同的
if cfg then
local model_id, texture_id = self.mainVo:GetRoleClotheTextureId()
local weapon_model_id, weapon_texture_id = self.mainVo:GetWeaponClotheId()
local head_model_id, head_clothe_id = self.mainVo:GetRoleHeadId()
local fashion_model_id, fashion_texture_id = self.mainVo:GetRoleClotheTextureId()
local leftRes = ErlangParser:GetInstance():Parse(cfg.left_res)
if TableSize(leftRes) > 0 then
local pos_id, fashion_id, config
for _, v in ipairs(leftRes) do
pos_id = tonumber(v[1])
fashion_id = tonumber(v[2])
config = Config.Fashionmodel[pos_id .. "@" .. fashion_id .. "@" .. self.mainVo.career]
if config then
if pos_id == FashionPartPos.Clothe then
fashion_model_id = config.model_id
fashion_texture_id = config.color_id
elseif pos_id == FashionPartPos.Weapon then
weapon_model_id = config.model_id
weapon_texture_id = config.color_id
elseif pos_id == FashionPartPos.Head then
head_model_id = config.model_id
head_clothe_id = config.color_id
end
end
end
end
local data = {
career = self.mainVo.career,
sex = self.mainVo.sex,
clothe_res_id = self.mainVo:GetRoleClotheId(),
weapon_res_id = weapon_model_id,
weapon_clothe_id = weapon_texture_id,
type = SceneBaseType.Role,
layer_name = self.layer_name,
scale = 150,
position = Vector3(0,0,0),
fashion_model_id = fashion_model_id,
texture_id = fashion_texture_id,
-- wing_id = data.wing_id,
-- image_id = data.image_id,
head_wear_id = head_model_id,
head_clothe_id = head_clothe_id,
layout_file = self.layout_file
}
-- lua_resM:SetRoleModel(self, self.itemCon, data)
local rightRes = ErlangParser:GetInstance():Parse(cfg.right_res)
if TableSize(rightRes) > 0 then
-- local show_type = tonumber(rightRes[1] [1]) -- 1模型,2图片
-- self.rightImgObj.gameObject:SetActive(show_type == 2)
-- self.otherCon.gameObject:SetActive(show_type == 1)
local godweapon_id = rightRes[1][2]
local callBack = function()
self.curr_Model = lua_resM:GetPartModel(self, self.otherCon)
if self.curr_Model then
local body_pvo = {} --Config.SceneObjectParticle.Body[tonumber(godweapon_id)]
if body_pvo and body_pvo.always then
for bone_name,particle_vo in pairs(body_pvo.always) do
local bone = FindBone(self.curr_Model.transform, bone_name)
if bone then
local renders = bone:GetComponentsInChildren(typeof(UnityEngine.Renderer))
if renders then
for i = 0, renders.Length - 1 do
local render = renders[i]
render.sortingOrder = 600 + 1
end
end
end
end
end
end
end
local data = {
clothe_res_id = tonumber(godweapon_id),
type = SceneBaseType.Monster,
layer_name = self.layer_name,
scale = 150,
position = Vector3(0,0,0),
layout_file = self.layout_file,
callBack = callBack,
}
lua_resM:SetRoleModel(self, self.otherCon, data)
end
end
-- self.roleCombat.text = "战力+8888"
-- self.otherCombat.text = "战力23000+"
end