ModelPreviewCon = ModelPreviewCon or BaseClass(BaseItem)
|
|
function ModelPreviewCon:__init(parent)
|
|
self.parent = parent
|
|
self.base_file = "common"
|
|
self.layout_file = "ModelPreviewCon"
|
|
self.layer_name = "Top"
|
|
self.mainVo = RoleManager.Instance.mainRoleInfo
|
|
-- self.use_local_view = true
|
|
self:Load()
|
|
end
|
|
|
|
function ModelPreviewCon:Load_callback()
|
|
self.bg = self:GetChild("bg")
|
|
self.ModelBG = self:GetChild("bg/ModelBG")
|
|
self.ModelCon = self:GetChild("ModelCon")
|
|
if self.need_refreshData then
|
|
self:SetData(self.type_id,self.curr_height)
|
|
end
|
|
self:InitEvent()
|
|
end
|
|
|
|
function ModelPreviewCon:InitEvent()
|
|
|
|
end
|
|
|
|
function ModelPreviewCon:__delete()
|
|
self:StopAnim()
|
|
end
|
|
|
|
|
|
function ModelPreviewCon:SetData( type_id ,curr_height)
|
|
self.type_id = type_id
|
|
self.curr_height = curr_height
|
|
if self.is_loaded then
|
|
self.need_refreshData = false
|
|
self.transform.anchoredPosition = Vector2(-702, 0)
|
|
self.bg.sizeDelta = Vector2(370, self.curr_height)
|
|
self.ModelCon.sizeDelta = Vector2(370, self.curr_height-50)
|
|
self.ModelCon.transform.anchoredPosition = Vector2(0, -self.curr_height/2)
|
|
self.ModelBG.sizeDelta = Vector2(356, self.curr_height-10)
|
|
self:StopAnim()
|
|
self:ShowModelPreview()
|
|
else
|
|
self.need_refreshData = true
|
|
end
|
|
end
|
|
|
|
function ModelPreviewCon:ShowModelPreview( )
|
|
if Config.ConfigModelPreview[self.type_id] then
|
|
local cfg = Config.ConfigModelPreview[self.type_id]
|
|
local model_id, texture_id = self.mainVo:GetRoleClotheId()
|
|
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 footmark_id = 0
|
|
local Scene_Type = SceneBaseType.Monster
|
|
if cfg.type == 5 then
|
|
self.transform.anchoredPosition = Vector2(-486, 0)
|
|
end
|
|
if cfg.type == 4 or cfg.type == 9 then--时装,限时时装
|
|
Scene_Type = SceneBaseType.Role
|
|
local type_id = self.type_id
|
|
if cfg.type == 9 then
|
|
type_id = cfg.model_id
|
|
end
|
|
local config = Config.Fashionmodel[cfg.subtype.."@"..type_id.."@"..self.mainVo.career]
|
|
if config then
|
|
if cfg.subtype == FashionPartPos.Clothe then
|
|
fashion_model_id = config.model_id
|
|
fashion_texture_id = config.color_id or 0
|
|
elseif cfg.subtype == FashionPartPos.Weapon then
|
|
weapon_model_id = config.model_id
|
|
weapon_texture_id = config.color_id or 0
|
|
elseif cfg.subtype == FashionPartPos.Head then
|
|
head_model_id = config.model_id
|
|
head_clothe_id = config.color_id or 0
|
|
elseif cfg.subtype == FashionPartPos.Footmark then
|
|
footmark_id = config.model_id
|
|
end
|
|
else
|
|
print("服装预览找不到配置")
|
|
end
|
|
else
|
|
model_id = cfg.model_id
|
|
fashion_model_id = model_id
|
|
fashion_texture_id = 0
|
|
weapon_model_id = model_id
|
|
weapon_texture_id = model_id
|
|
head_model_id = 0
|
|
head_clothe_id = 0
|
|
end
|
|
local data
|
|
if cfg.type == 4 and cfg.subtype == FashionPartPos.Footmark then
|
|
data = {
|
|
career = self.mainVo.career,
|
|
sex = self.mainVo.sex,
|
|
clothe_res_id = model_id,
|
|
weapon_res_id = weapon_model_id,
|
|
weapon_clothe_id = weapon_texture_id,
|
|
type = SceneBaseType.Role,
|
|
layer_name = self.layer_name,
|
|
rotate = 45,
|
|
action_name_list = {"run"},
|
|
can_rotate = false,
|
|
scale = cfg.scale,
|
|
position = cfg.position,
|
|
fashion_model_id = fashion_model_id,
|
|
texture_id = fashion_texture_id,
|
|
head_wear_id = head_model_id,
|
|
head_clothe_id = head_clothe_id,
|
|
footmark_id = footmark_id,
|
|
layout_file = self.layout_file
|
|
}
|
|
elseif cfg.type == 11 or cfg.type == 12 then
|
|
data = {
|
|
res_id = model_id,
|
|
texture_id = 0,
|
|
modelPartPos = FashionPartPos.Weapon,
|
|
type = Config.UIModelConfig[model_id] and Config.UIModelConfig[model_id].type or 3,
|
|
raycastParent = false,
|
|
layer_name = self.layer_name,
|
|
-- action_delta = 100,
|
|
rotate = cfg.rotate or 0,
|
|
can_rotate = false,
|
|
texture_size = {x = 300, y = 300},
|
|
scale = cfg.scale,
|
|
position = cfg.position,
|
|
}
|
|
else
|
|
data = {
|
|
career = self.mainVo.career,
|
|
sex = self.mainVo.sex,
|
|
clothe_res_id = model_id,
|
|
weapon_res_id = weapon_model_id,
|
|
weapon_clothe_id = weapon_texture_id,
|
|
type = Scene_Type,
|
|
layer_name = self.layer_name,
|
|
scale = cfg.scale,
|
|
position = cfg.position,
|
|
fashion_model_id = fashion_model_id,
|
|
texture_id = fashion_texture_id,
|
|
head_wear_id = head_model_id,
|
|
head_clothe_id = head_clothe_id,
|
|
rotate = cfg.rotate or 0,
|
|
}
|
|
end
|
|
if cfg.type == 11 or cfg.type == 12 then
|
|
self:FloatUDAnima()
|
|
lua_resM:NewSetPartModel(self, self.ModelCon, data)
|
|
else
|
|
lua_resM:SetRoleModel(self, self.ModelCon,data)
|
|
end
|
|
end
|
|
end
|
|
|
|
--武器的上下浮动效果
|
|
function ModelPreviewCon:FloatUDAnima()
|
|
self.tween_id3 =TweenLite.to(self, self.ModelCon,TweenLite.UiAnimationType.ANCHORED_POSY,-140, 1.5, call_fun,TweenFunc.PINGPONG,true)
|
|
end
|
|
|
|
function ModelPreviewCon:StopAnim()
|
|
if self.tween_id3 then
|
|
TweenLite.Stop(self.tween_id3)
|
|
self.tween_id3 = nil
|
|
end
|
|
end
|