源战役客户端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

147 rindas
5.4 KiB

require("game.proto.425.Require425")
require("game.dance.DanceModel")
-- 主界面舞姿选择界面
require("game.dance.DanceMainUISelectPoseView")
require("game.dance.DanceMainUISelectPoseItem")
-- 舞姿界面
require("game.dance.DancePoseView")
require("game.dance.DancePoseItem")
DanceController = DanceController or BaseClass(BaseController, true)
local DanceController = DanceController
--DanceController.IsDebug = true
function DanceController:__init()
DanceController.Instance = self
self.model = DanceModel:getInstance()
self:AddEvents()
self:RegisterAllProtocal()
end
function DanceController:__delete()
end
function DanceController:RegisterAllProtocal( )
local register_cfg = {
[42500] = { -- 舞姿总览
handler = function(self, vo)
self.model:SetDancePosesData(vo)
self.model:CheckDanceRed()
self.model:Fire(DanceModel.UPDATE_DANCE_POSES_DATA)
end,
},
[42501] = { -- 舞姿激活
handler = function(self, vo)
if vo.res == 1 then
Message.show("激活成功", "success")
self.model:UpdateDancePoseList(vo.id)
self.model:CheckDanceRed(vo.id)
self.model:Fire(DanceModel.ACTIVATED_DANCE_POSE, vo.id)
else
ErrorCodeShow(vo.res)
end
end,
},
[42502] = { -- 设置默认舞姿
handler = function(self, vo)
if vo.res == 1 then
Message.show("设置默认舞姿成功", "success")
self.model:UpdateDefaultDancePose(vo.id)
self.model:Fire(DanceModel.UPDATE_DEFAULT_DANCE_POSE, vo.id)
else
ErrorCodeShow(vo.res)
end
end,
},
[42503] = { -- 是否随机舞姿
handler = function(self, vo)
self.model:UpdateRandomDanceFlag(vo.type)
self.model:Fire(DanceModel.UPDATE_RANDOM_DANCE_FLAG)
end,
},
}
self:RegisterProtocalByCFG(register_cfg)
end
function DanceController:AddEvents()
--请求基本信息
local function onRequestEvent(...)
local args = {...}
if args[1] == 42501 or args[1] == 42502 then
self:SendFmtToGame(args[1], "i", args[2])
elseif args[1] == 42503 then
self:SendFmtToGame(args[1], "c", args[2])
else
self:SendFmtToGame(args[1])
end
end
self.model:Bind(DanceModel.REQUEST_CCMD_EVENT, onRequestEvent)
local function onGameStart()
if GetModuleIsOpen(425) then
self.model:Fire(DanceModel.REQUEST_CCMD_EVENT, 42500)
end
end
GlobalEventSystem:Bind(EventName.GAME_START, onGameStart)
local function onLevelUp(lv)
if lv == Config.Moduleid[425].open_lv then
onGameStart()
end
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
-- 打开舞姿选择界面
local function openDanceMainUISelectPoseView(show, pos)
self:OpenView("DanceMainUISelectPoseView", show, pos)
end
self.model:Bind(DanceModel.OPEN_DANCE_POSE_SELECT_VIEW, openDanceMainUISelectPoseView)
-- 打开舞姿界面
local function openDancePoseView(show, dance_id, type_id)
self:OpenView("DancePoseView", show, dance_id, type_id)
end
self.model:Bind(DanceModel.OPEN_DANCE_POSE_VIEW, openDancePoseView)
---- 2021年4月13日新增 统一场景中开始跳舞的接口 ----
-- do_dance true:跳舞 false:取消跳舞 dance_id:舞姿id
local function CHANGE_DANCE_STATUS(do_dance, dance_id)
if do_dance then
local main_role = Scene.Instance:GetMainRole()
if not main_role then return end
local default_dance_id = self.model:GetDefaultDancesPoseId()
if not dance_id or not self.model:GetDancePosesActivatedList(dance_id) then -- 未激活的舞姿不给用,需要切换成默认舞姿
dance_id = default_dance_id
end
if main_role.dance_status and dance_id and main_role.dance_status == dance_id then -- 舞姿相同,啥也不干
return
end
if main_role:IsInState(PoseState.ATTACK) then
Message.show("正在战斗中,请停下战后再跳舞!")
return
elseif main_role:IsSwimState() then -- 处于游泳状态
Message.show("水中无法使用跳舞动作")
return
elseif main_role:IsInState(PoseState.DIZZY)
or main_role:IsInState(PoseState.DEAD)
or main_role:IsInState(PoseState.COLLECT)
or main_role:IsInState(PoseState.FLY_SHOE)
or main_role:IsInState(PoseState.JUMP) then
Message.show("当前状态无法跳舞")
return
end
-- 上了坐骑就得先下来
local is_ride = RoleManager:getInstance():GetMainRoleVo() and (RoleManager:getInstance():GetMainRoleVo().is_ride ~= 0)
if is_ride then
GlobalEventSystem:Fire(EventName.HIDE_HORSE)
end
self:SendFmtToGame(12025, "c", dance_id)
else
self:SendFmtToGame(12025, "c", 0)
end
end
self.model:Bind(DanceModel.CHANGE_DANCE_STATUS, CHANGE_DANCE_STATUS)
end