c1_lua/lua/app/common/platform.lua
2023-04-03 10:59:13 +08:00

100 lines
2.9 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local Platform = {}
local bfGateInfo = CS.BF.BFPlatform.GetCurrentGateInfo()
Platform.bfGateInfo = bfGateInfo
---- 获取包名
function Platform:getIdentifier()
return CS.UnityEngine.Application.identifier
end
---- 是否是内网包
function Platform:getIsDevChannel()
return CS.BF.BFPlatform.IsDevChannel()
end
---- 是否是release包
function Platform:getIsReleaseChannel()
return CS.BF.BFPlatform.IsReleaseChannel()
end
---- 是否是发布渠道
function Platform:getIsPublishChannel()
return CS.BF.BFPlatform.IsPublishChannel()
end
---- 获取主链接域名
function Platform:getMainDomain()
return bfGateInfo.mainDomain
end
---- 获取主链接端口
function Platform:getMainPort()
return bfGateInfo.mainPort
end
-- 平台
function Platform:getPlatform()
if self._platform then
return self._platform
end
if CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.Android then
self._platform = "Android"
elseif CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.IPhonePlayer then
self._platform = "iOS"
elseif CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.OSXEditor then
self._platform = "Mac"
elseif CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.OSXPlayer then
self._platform = "Mac"
elseif CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.WindowsEditor then
self._platform = "Windows"
elseif CS.UnityEngine.Application.platform == CS.UnityEngine.RuntimePlatform.WindowsPlayer then
self._platform = "Windows"
else
self._platform = "Unknow"
end
return self._platform
end
-- 获取当前版本号
function Platform:getClientVersion()
if self.clientVersion == nil then
self.clientVersion = CS.BF.BFMain.Instance.GameLaunchMgr:GetCurrentVersion()
end
return self.clientVersion
end
-- 获取并处理当前版本号 例1.3.2 => 1*1000000 + 3 * 1000 + 2 = 1003002
function Platform:getClientVersionNum()
local version = Platform:getClientVersion()
local versionStrs = string.split(version, ".")
local versionNum1 = tonumber(versionStrs[1])
local versionNum2 = tonumber(versionStrs[2])
local versionNum3 = tonumber(versionStrs[3])
return versionNum1 * 1000000 + versionNum2 * 1000 + versionNum3
end
function Platform:isIosPlatform()
return self:getPlatform() == "iOS"
end
function Platform:isAndroidPlatform()
return self:getPlatform() == "Android"
end
-- 联网需求后端需要的平台字符串
function Platform:getPlatformStr()
if self.platformStr == nil then
if self:isIosPlatform() then
self.platformStr = "IOS"
elseif self:isAndroidPlatform() then
self.platformStr = "Android"
else
self.platformStr = "Unity"
end
end
return self.platformStr
end
return Platform