155 lines
4.5 KiB
Lua
155 lines
4.5 KiB
Lua
local Platform = {}
|
||
|
||
---- 获取包名
|
||
function Platform:getIdentifier()
|
||
if not Platform:getIsPublishChannel() and VersionCompatible:supportSimulatedPackageName() then
|
||
return CS.BF.BFMain.DPPackageName
|
||
end
|
||
return CS.UnityEngine.Application.identifier
|
||
end
|
||
|
||
---- 是否是内网开发包
|
||
function Platform:getIsDevChannel()
|
||
return IS_DEV
|
||
end
|
||
|
||
---- 是否是外网测试包
|
||
function Platform:getIsTestChannel()
|
||
return IS_TEST
|
||
end
|
||
|
||
---- 是否是正式发布包
|
||
function Platform:getIsPublishChannel()
|
||
return IS_PUBLISH
|
||
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
|
||
|
||
-- 判断是否是T3地区
|
||
function Platform:getPlatformIsT3()
|
||
local systemLanguage = CS.UnityEngine.Application.systemLanguage
|
||
local isAndroid = self:isAndroidPlatform()
|
||
local isT3 = false
|
||
-- 测试模式打开
|
||
if EDITOR_MODE then
|
||
return true
|
||
end
|
||
|
||
-- 需要Android 且 T3地区 才会开放,目前按照系统语言来处理
|
||
if isAndroid then
|
||
-- 除美国、日本、韩国、台湾、德国、法国、英国、加拿大、澳大利亚以外的的地区为T3。
|
||
isT3 = true
|
||
if systemLanguage == CS.UnityEngine.SystemLanguage.English then -- 英语(美国/英国/加拿大/澳大利亚)
|
||
isT3 = false
|
||
elseif systemLanguage == CS.UnityEngine.SystemLanguage.Japanese then -- 日语(日本)
|
||
isT3 = false
|
||
elseif systemLanguage == CS.UnityEngine.SystemLanguage.Korean then -- 韩语(韩国)
|
||
isT3 = false
|
||
elseif systemLanguage == CS.UnityEngine.SystemLanguage.ChineseTraditional then -- 繁体(台湾)
|
||
isT3 = false
|
||
elseif systemLanguage == CS.UnityEngine.SystemLanguage.German then -- 德语(德国)
|
||
isT3 = false
|
||
elseif systemLanguage == CS.UnityEngine.SystemLanguage.French then -- 法语(法国/加拿大)
|
||
isT3 = false
|
||
end
|
||
else
|
||
return false
|
||
end
|
||
|
||
return isT3
|
||
end
|
||
|
||
function Platform:getPlatformIsThirdPay()
|
||
local systemLanguage = CS.UnityEngine.Application.systemLanguage
|
||
local isAndroid = self:isAndroidPlatform()
|
||
local isThirdPay = false
|
||
-- unity模式 并且是越南语的 情况下 打开三方支付
|
||
if EDITOR_MODE and I18N:getCurLanguage() == GConst.LANGUAGE.VIETNAMESE then
|
||
return true
|
||
end
|
||
|
||
if isAndroid and not CS.BF.BFMain.IsShenhe then
|
||
-- if systemLanguage == CS.UnityEngine.SystemLanguage.Russian then
|
||
-- isThirdPay = true
|
||
-- end
|
||
|
||
-- if self:getIdentifier() == "" then
|
||
-- isThirdPay = true
|
||
-- end
|
||
end
|
||
return isThirdPay
|
||
end
|
||
|
||
function Platform:getAdvertisingID()
|
||
if not self.advertisingID then
|
||
self.advertisingID = "none"
|
||
-- self.advertisingID = CS.BF.AdvertisingIDManager.GetAdvertisingID()
|
||
end
|
||
|
||
return self.advertisingID
|
||
end
|
||
|
||
|
||
return Platform |