|
|
- require("gameplatform.Platform")
- require("gameplatform.PlatformSetting")
-
- PlatformMgr = PlatformMgr or BaseClass()
- local PlatformMgr = PlatformMgr
-
- PlatformMgr.SY_RECORD_EVENT = {
- LOGIN = 1001, --登录
- CREATE = 1002, --创角
- SELECT = 1003, --选角
- ENTER = 1004, --进入游戏
- }
-
- function PlatformMgr:__init()
- if PlatformMgr.Instance ~= nil then
- error("attempt to create singleton(PlatformMgr) twice!")
- return
- end
- PlatformMgr.Instance = self
- self.cur_platform = nil
- self.bind_level_change = false
-
- self:InitPlatform()
- end
-
- function PlatformMgr:getInstance()
- if PlatformMgr.Instance == nil then
- PlatformMgr.New()
- end
- return PlatformMgr.Instance
- end
-
- function PlatformMgr:InitPlatform()
- if ClientConfig.plat_lua_name and ClientConfig.plat_lua_class then
- require("gameplatform." .. ClientConfig.plat_lua_name)
- self.cur_platform = _G[ClientConfig.plat_lua_class].New()
- else
- self.cur_platform = GamePlatform.New()
- end
-
- if self.cur_platform then
- self.cur_platform:InitWindow()
- end
-
- local create_role = function(role_id)
- self:SubmitCreateRoleInfo(role_id)
- self:SuyouEventRecord(PlatformMgr.SY_RECORD_EVENT.CREATE)
- end
- GlobalEventSystem:Bind(LoginStateEvent.CREATE_ROLE_SUCCEED,create_role)
-
- local game_start = function()
- self:SubmitEnterGame()
- self:SuyouEventRecord(PlatformMgr.SY_RECORD_EVENT.ENTER)
-
- if not self.bind_level_change then
- self.bind_level_change = true
-
- local level_change = function()
- if self._use_delete_method then return end
- self:RoleLevelChange()
- end
- RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, level_change)
- end
- end
- GlobalEventSystem:Bind(EventName.GAME_START,game_start)
- end
-
- function PlatformMgr:SDKCallBack( func_name, func_data)
- if self.cur_platform then
- self.cur_platform:SDKCallBack( func_name, func_data )
- end
- end
-
- function PlatformMgr:ShowWindow( show_state )
- if self.cur_platform then
- self.cur_platform:ShowWindow( show_state )
- end
- end
-
- function PlatformMgr:LoginRequest(login_back)
- if self.cur_platform then
- self.cur_platform:LoginRequest(login_back)
- end
- end
-
- function PlatformMgr:SetLoginCallBack(login_back)
- if self.cur_platform then
- self.cur_platform:SetLoginCallBack(login_back)
- end
- end
-
- function PlatformMgr:LoginOut()
- if self.cur_platform then
- self.cur_platform:LoginOut()
- end
- end
-
- function PlatformMgr:PayRequest( custom_money, custom_info, custom_callpack )
- if ClientConfig.open_pay then
- if self.cur_platform then
- self.cur_platform:PayRequest( custom_money, custom_info, custom_callpack)
- end
- else
- Message.show("您好,游戏当前未开放充值,请等待每日发放福利!")
- end
- end
-
- function PlatformMgr:ExitPlatform()
- if self.cur_platform then
- self.cur_platform:ExitPlatform()
- self.cur_platform:DeleteMe()
- self.cur_platform = nil
- end
- end
-
- function PlatformMgr:InitWindow()
- if self.cur_platform then
- self.cur_platform:InitWindow()
- end
- end
-
- function PlatformMgr:SubmitCreateRoleInfo(role_id)
- if self.cur_platform then
- self.cur_platform:SubmitCreateRoleInfo(role_id)
- end
- end
-
- function PlatformMgr:SubmitEnterGame()
- if self.cur_platform then
- self.cur_platform:SubmitEnterGame()
- end
- end
-
- function PlatformMgr:RoleLevelChange()
- if self.cur_platform then
- self.cur_platform:RoleLevelChange()
- end
- end
-
- function PlatformMgr:SubmitSelectServer()
- if self.cur_platform then
- self.cur_platform:SubmitSelectServer()
- end
- self:SuyouEventRecord(PlatformMgr.SY_RECORD_EVENT.SELECT)
- end
-
- function PlatformMgr:ExitGame( default_func )
- if self.cur_platform then
- self.cur_platform:ExitPlatform()
- if not self.cur_platform:NeedCustomExitGame() then
- default_func()
- end
- end
- end
-
- function PlatformMgr:IsCustomUser()
- if self.cur_platform then
- return self.cur_platform:IsCustomUser()
- end
- return false
- end
-
- function PlatformMgr:ShowUserCenter()
- if self.cur_platform then
- self.cur_platform:ShowUserCenter()
- end
- end
-
- function PlatformMgr:RequestPayData( money, call_back )
- if self.cur_platform then
- self.cur_platform:RequestPayData(money, call_back)
- end
- end
-
- function PlatformMgr:IsPlatAlphaState()
- local is_alpha_state = string.find(ClientConfig.plat_name, "alpha")
- if is_alpha_state then
- return true
- else
- return false
- end
- end
-
- function PlatformMgr:NoSupportPhotoMsg()
- -- if ClientConfig.plat_name == "lz_leniu_smqy_yyb" and AppConst_EnglineVer < 50 then
- -- return "头像上传失败,请联系客服QQ:800810788"
- -- end
- return nil
- end
-
- function PlatformMgr:GetUserID()
- if self.cur_platform then
- return self.cur_platform:GetUserID()
- end
- end
-
- --速游专属
- function PlatformMgr:IsSuyouPlatform()
- local inner_state = string.find(ClientConfig.plat_name, "wzqst")
- if inner_state then
- return true
- end
-
- local suyou_state = string.find(ClientConfig.plat_name, "suyou")
- if suyou_state then
- return true
- end
-
- return false
- end
-
- function PlatformMgr:IsMlLianyun()
- return false
- end
- --讯飞提审用:开放聊天没有等级限制,并显示讯飞信息
- function PlatformMgr:IsIflyRecord()
- PlatformMgr.OPEN_CHAT_LIST = PlatformMgr.OPEN_CHAT_LIST or {["bgdwd"] = true, ["bfqstwd"] = true, ["bfqstml"] = true, ["bfqstiosml"] = true, ["bfqstsuyou"] = true}
- return PlatformMgr.OPEN_CHAT_LIST[ClientConfig.plat_name]
-
- end
-
- --内部包,根据服务端秘籍协议推送列表来判断
- PlatformMgr.is_internal_palt = nil
- function PlatformMgr:IsInternalPalt()
- -- if PlatformMgr.is_internal_palt == nil then
- -- PlatformMgr.OPEN_CHAT_LIST = PlatformMgr.INTERNAL_PLAT_LIST or {["mrsddev"] = true, ["mrzjdev"] = true}
- -- PlatformMgr.is_internal_palt = PlatformMgr.OPEN_CHAT_LIST[ClientConfig.plat_name]
- -- end
- return PlatformMgr.is_internal_palt
- end
-
- function PlatformMgr:IsLeniuPlatform()
- local find = string.find(ClientConfig.plat_name, "leniu")
- if find then
- return true
- end
- return false
- end
-
- function PlatformMgr:ShareBySDK()
- if self.cur_platform then
- self.cur_platform:ShareBySDK()
- end
- end
-
- function PlatformMgr:JumpToAppStore()
- Message.Show("等待跳转")
- end
-
- --Eyou平台(繁体)
- function PlatformMgr:IsEyouPlatform()
- local is_eyou = string.find(ClientConfig.plat_name, "lz_eyou")
- local is_tw = string.find(ClientConfig.plat_name, "tw")
- if is_eyou and is_tw then
- return true
- end
- return false
- end
-
- --Eyou平台(英文)
- function PlatformMgr:IsEyouEnPlatform()
- local is_eyou = string.find(ClientConfig.plat_name, "lz_eyou")
- local is_en = string.find(ClientConfig.plat_name, "en")
- if is_eyou and is_en then
- return true
- end
- return false
- end
-
- --Eyou平台(韩文)
- function PlatformMgr:IsEyouKrPlatform()
- local is_eyou = string.find(ClientConfig.plat_name, "lz_eyou")
- local is_kr = string.find(ClientConfig.plat_name, "kr")
- if is_eyou and is_kr then
- return true
- end
- return false
- end
-
- --Eyou平台(日文)
- function PlatformMgr:IsEyouJpPlatform()
- local is_eyou = string.find(ClientConfig.plat_name, "lz_eyou")
- local is_jp = string.find(ClientConfig.plat_name, "jp")
- if is_eyou and is_jp then
- return true
- end
- return false
- end
-
- --是否云试玩平台
- function PlatformMgr:IsCloudTest( )
- end
-
- function PlatformMgr:SuyouEventRecord( event_id )
- if self.cur_platform then
- self.cur_platform:SuyouEventRecord( event_id )
- end
- end
-
- function PlatformMgr:CanSendVoice( )
- if RuntimePlatform and Application.platform == RuntimePlatform.IPhonePlayer then
- return true
- end
- if self.cur_platform then
- return self.cur_platform:CanSendVoice()
- end
- end
-
- function PlatformMgr:RequestSendVoice( )
- if self.cur_platform then
- self.cur_platform:RequestAudioPermission()
- end
- end
-
- function PlatformMgr:IsNeedRequestAudioPermission( )
- -- if self.cur_platform then
- -- return self.cur_platform:IsNeedRequestAudioPermission()
- -- end
- end
-
- function PlatformMgr:SubmitSpecialData( parm_type, parm_value )
- if self.cur_platform then
- self.cur_platform:SubmitSpecialData(parm_type, parm_value)
- end
- end
-
- function PlatformMgr:TATrack( data )
- if self.cur_platform then
- self.cur_platform:TATrack(data)
- end
- end
-
- function PlatformMgr:IsForeignActivityVersion( )--是否是国外活动版本
- return false
- end
|