|
|
- --[[@------------------------------------------------------------------
- @description:首充小弹窗
- @author:huangcong
- ----------------------------------------------------------------------]]
- FirstRechargeTipView = FirstRechargeTipView or BaseClass(BaseView)
- local FirstRechargeTipView = FirstRechargeTipView
-
- function FirstRechargeTipView:__init()
- self.base_file = "rechargeActivity"
- self.layout_file = "FirstRechargeTipView"
- self.layer_name = "Activity"
- self.destroy_imm = true
- self.use_background = false
- self.change_scene_close = false
- self.append_to_ctl_queue = false --是否要添加进界面堆栈
- self.need_show_money = false --是否要显示顶部的金钱栏
- self.force_no_ctl_queue = true
- self.item_list = {}
- self.model = RechargeActivityModel:getInstance()
- self.mainVo = RoleManager.Instance.mainRoleInfo
- self.show_type = 0
- self.cur_visible = true
- self.delay_time = 20---20s自动关闭
-
- self.load_callback = function ()
- self:LoadSuccess()
- self:AddEvent()
- end
- self.open_callback = function ( )
- self:OpenSuccess()
- end
- self.destroy_callback = function ( )
- self:DestroySuccess()
- end
- end
-
- function FirstRechargeTipView:Open(data)
- self.data = data
- BaseView.Open(self)
- end
-
- function FirstRechargeTipView:OpenSuccess( )
- self:UpdateView()
- end
-
- function FirstRechargeTipView:LoadSuccess()
- local nodes = {
- "layout/Panel/closeBtn:obj", "layout/Panel/bg:raw", "layout/Panel/rechargeBtn:obj"
- ,"layout/Panel/roleCon", "layout","layout/Panel","layout/Panel/effect",
- "layout/Panel/effect1",
- }
- self:GetChildren(nodes)
-
- lua_resM:setOutsideRawImage(self, self.bg_raw, GameResPath.GetRechargeActivityImage("recharge_sub_bg"))
-
- if self.need_load_again then
- self:UpdateView()
- end
- local pos = ActivityIconManager.Instance:GetActivityIconPos(15901)
- if pos and pos.x then
- self.layout.anchoredPosition = Vector3(pos.x-360+45,pos.y-225,0)
- self.layout.gameObject:SetActive(true)
- end
- self:ClearUIEffect(self.effect)
- self:ClearUIEffect(self.effect1)
- self:AddUIEffect("ui_shouchongtanchuang_2", self.effect, "Top", nil, 1, false,nil,nil,nil,nil,nil)
- -- local function load_finish_func( go )
- -- self:SetUIDepthEx(go,true,610)
- -- end
- -- self:AddUIEffect("ui_shouchongtanchuang_1", self.effect1, "Activity", nil, 1, true,nil,nil,nil,load_finish_func)
- self:UpdateTime()
- end
-
- function FirstRechargeTipView:AddEvent()
- local on_click = function ( click_obj )
- if self.closeBtn_obj == click_obj then
- self:StartAction()
- elseif self.rechargeBtn_obj == click_obj then
- self:StartAction()
- OpenFun.Open(159,1)
- end
- end
- AddClickEvent(self.closeBtn_obj, on_click)
- AddClickEvent(self.rechargeBtn_obj, on_click)
-
- local function onUpdateMainCanvasVisible(view, visible)
- if visible then
- self:Close()
- end
- end
- self:BindEvent(LuaViewManager:getInstance(), LuaViewManager.CHANGE_MAIN_CANVAS_VISIBLE, onUpdateMainCanvasVisible)--更新红点顺便更新界面
- end
-
- function FirstRechargeTipView:UpdateView()
- if not self.is_loaded then
- self.need_load_again = true
- return
- end
- local show_str = RechargeActivityModel.FIRST_RECHARGE_PRODUCKT_ID .. "@" .. RoleManager.Instance.mainRoleInfo.career .. "@" ..1
- local show_cfg = DeepCopy(Config.Rechargefirst[show_str])
- print("huangcong:FirstRechargeTipView [start:101] 111:", 111)
- if show_cfg then
- self:UpdateModelCon(show_cfg.right_res)
- end
- end
-
- function FirstRechargeTipView:DestroySuccess( )
- self:ClearUIEffect(self.effect1)
- self:ClearUIEffect(self.effect)
- self:StopAction()
- if self.timer_id then
- GlobalTimerQuest:CancelQuest(self.timer_id)
- self.timer_id = nil
- end
- end
-
- --更新模型
- function FirstRechargeTipView:UpdateModelCon( model_data )
- local model_data = stringtotable(model_data)
- local figure_data = nil
- if model_data then
- figure_data = model_data[1]
- end
- if figure_data then
- local model_cfg = CustomActivityModel:getInstance():GetActModelConShowCfg(self.base_type,tonumber(figure_data[3]),tonumber(figure_data[4]))
- local scale = 150
- local position = model_cfg and model_cfg.position or Vector3(0,20,-300)
- local fashion_type = tonumber(figure_data[3])
- local career = RoleManager.Instance.mainRoleInfo.career
- if fashion_type == FuncOpenModel.TypeId.FWeapon then--武器位置调高一点
- scale = 220
- position = Vector3(-15,45,-300)
- if career == 3 or career == 4 then
- scale = 330
- position = Vector3(20,-55,-300)
- end
- end
- if figure_data[1] == "show" then
- local res_data = {
- father_node = self,
- transform = self.roleCon,
- fashion_type = tonumber(figure_data[3]),
- raycast_size = Vector2(200,200),
- scale = scale,
- figure_id = figure_data[4],
- position = position,
- layer_name = self.layer_name,
- ui_model_type = UIModelCommon.ModelType.Model,
- show_shadow = false,
- use_bloom = false,
- can_rotate = true,
- }
- print("huangcong:FirstRechargeTipView [start:361] :", model_data)
- PrintTable(model_data)
- print("huangcong:FirstRechargeTipView [end]")
- if TableSize(model_data) > 1 then
- local career = self.mainVo.career
- for i,v in ipairs(model_data) do
- local fashion_type = tonumber(v[3])
- local figure_id = tonumber(v[4])
- if figure_id then
- if type_pos ~= FashionPartPos.wing and type_pos ~= FashionPartPos.Hat and type_pos ~= FashionPartPos.light then
- if career then
- if figure_id < 1000 then
- figure_id = figure_id + career * 1000
- end
- end
- else
- figure_id = figure_id
- end
- end
- if fashion_type == FuncOpenModel.TypeId.Clothes then --衣服
- res_data.fashion_model_id = figure_id
- elseif fashion_type == FuncOpenModel.TypeId.Weapon then --武器
- res_data.weapon_res_id = figure_id
- elseif fashion_type == FuncOpenModel.TypeId.Head then --头饰
- res_data.head_wear_id = figure_id
- elseif fashion_type == FuncOpenModel.TypeId.Footprint then --足迹
- type_pos = FashionPartPos.Footmark
- elseif fashion_type == FuncOpenModel.TypeId.wing then --背部
- res_data.wing_id = figure_id
- elseif fashion_type == FuncOpenModel.TypeId.Hat then--头套
- res_data.hat_wear_id = figure_id
- elseif fashion_type == FuncOpenModel.TypeId.RoleLight then--人物幻光
- res_data.light_id = figure_id
- end
- end
- end
- FuncOpenModel:getInstance():SetModelRes(res_data)
- else
-
- end
- end
-
- end
-
- function FirstRechargeTipView:UpdateTime( )
- local time = self.delay_time
- local function countDown()
- if self._use_delete_method then return end
- time = time - 1
- if time > 0 then
- else
- -- self:Close()
- self:StartAction()
- end
- end
- countDown()
- if not self.timer_id then
- self.timer_id = GlobalTimerQuest:AddPeriodQuest(countDown,1)
- end
- end
-
- function FirstRechargeTipView:StartAction( )
- -- self.layout.transform.pivot = Vector2(1, 1)
- -- self.layout.transform.anchorMin = Vector2(1, 1)
- -- self.layout.transform.anchorMax = Vector2(1, 1)
- local function end_func()
- self:Close()
- end
- local action1 = cc.ScaleTo.New(0.2,0.1,0.1,0.1)
- local action = cc.Sequence.New(action1,cc.CallFunc.New(end_func))
- cc.ActionManager:getInstance():addAction(action, self.Panel.transform)
- end
-
- function FirstRechargeTipView:StopAction( )
- cc.ActionManager:getInstance():removeAllActionsFromTarget(self.Panel.transform)
- end
|