【管理】包配置管理加入

dev_chengFeng
gaoxin 2021-03-04 19:29:15 +08:00
parent 999e8e8cf4
commit d3a1cba41c
14 changed files with 70 additions and 156 deletions

View File

@ -1,4 +1 @@
{"subChannel":"1", {"channel":"MHT", "Setting":{"LanguagePackager":{"desc":"\u672c\u5730\u5316\u5904\u7406", "versionCode":"26", "isActive":"1"}, "ServerVersion":{"desc":"\u7528\u4e8e\u5207\u6362\u6b63\u5f0f\u670d\u548c\u63d0\u5ba1\u670d", "value":"1", "versionCode":"26", "isActive":"1"}, "ThinkAnalysis_GetDeviceID":{"desc":"\u6570\u6570\u83b7\u53d6DeviceID\u65b9\u6cd5", "versionCode":"24", "isActive":"1"}, "LayoutBuilderWrap":{"desc":"\u5f3a\u5236\u5237\u65b0layout\u7ec4\u4ef6\u5927\u5c0f\u7684\u65b9\u6cd5\u4fee\u6539\u5230lua\u4e2d\u8c03\u7528", "versionCode":"25", "isActive":"1"}}, "subChannel":"2000", "serverUrl":"http://119.28.117.110:8080/"}
"buglyId":"261348dcd3",
"channel":"pc",
"serverUrl":"http://60.1.1.23:8080/"}

View File

@ -109,9 +109,7 @@ namespace GameLogic
return AppConst.PersistentDataPath + configFile + ".txt"; return AppConst.PersistentDataPath + configFile + ".txt";
} }
} }
MConfig StreamingInfo;
MConfig PersistentInfo;
MConfig NetInfo; MConfig NetInfo;
// 初始化 获取本地的数据 // 初始化 获取本地的数据
public void Init() public void Init()
@ -120,22 +118,13 @@ namespace GameLogic
{ {
if (File.Exists(configFilePath)) if (File.Exists(configFilePath))
{ {
PersistentInfo = new MConfig(File.ReadAllText(configFilePath, System.Text.Encoding.UTF8)); NetInfo = new MConfig(File.ReadAllText(configFilePath, System.Text.Encoding.UTF8));
} }
} }
catch (Exception e) catch (Exception e)
{ {
Debug.LogError(e); Debug.LogError(e);
} }
try
{
StreamingInfo = new MConfig(Resources.Load<TextAsset>(configFile).text);
}
catch (Exception e)
{
Debug.LogError(e);
}
} }
public void SetNetInfo(string info) public void SetNetInfo(string info)
@ -157,10 +146,9 @@ namespace GameLogic
/// </summary> /// </summary>
void SaveToFiles() void SaveToFiles()
{ {
PersistentInfo = NetInfo;
string directoryPath = Path.GetDirectoryName(configFilePath); string directoryPath = Path.GetDirectoryName(configFilePath);
if (!Directory.Exists(directoryPath)) Directory.CreateDirectory(directoryPath); if (!Directory.Exists(directoryPath)) Directory.CreateDirectory(directoryPath);
File.WriteAllText(configFilePath, PersistentInfo.ToJson(), System.Text.Encoding.UTF8); File.WriteAllText(configFilePath, NetInfo.ToJson(), System.Text.Encoding.UTF8);
} }
/// <summary> /// <summary>
@ -172,10 +160,6 @@ namespace GameLogic
{ {
string v = GetConfigNetInfo(key); string v = GetConfigNetInfo(key);
if (v != null) return v; if (v != null) return v;
v = GetConfigPersistentInfo(key);
if (v != null) return v;
v = GetConfigStreamingInfo(key);
if (v != null) return v;
return null; return null;
} }
public string GetConfigNetInfo(string key) public string GetConfigNetInfo(string key)
@ -184,19 +168,5 @@ namespace GameLogic
string v = NetInfo.GetInfo(key); string v = NetInfo.GetInfo(key);
return v; return v;
} }
public string GetConfigPersistentInfo(string key)
{
if (PersistentInfo == null) return null;
string v = PersistentInfo.GetInfo(key);
return v;
}
public string GetConfigStreamingInfo(string key)
{
if (StreamingInfo == null) return null;
string v = StreamingInfo.GetInfo(key);
return v;
}
} }
} }

View File

@ -1,5 +1,7 @@
languageDic={} languageDic={}
IsLanguagePack = ServerConfigManager.IsSettingActive(ServerConfigManager.SettingConfig.LanguagePackager)
function InitLanguageData() function InitLanguageData()
local languageData= ConfigManager.GetConfig(ConfigName.Language) local languageData= ConfigManager.GetConfig(ConfigName.Language)
for index, config in ConfigPairs(languageData) do for index, config in ConfigPairs(languageData) do
@ -13,4 +15,5 @@ function InitLanguageData()
end end
LogGreen("语言初始化完成:"..tostring(#languageData)) LogGreen("语言初始化完成:"..tostring(#languageData))
end end
InitLanguageData() InitLanguageData()

View File

@ -34,7 +34,6 @@ Input = UnityEngine.Input
Screen = UnityEngine.Screen Screen = UnityEngine.Screen
RectTransformUtility = UnityEngine.RectTransformUtility RectTransformUtility = UnityEngine.RectTransformUtility
LayoutUtility = UnityEngine.UI.LayoutUtility LayoutUtility = UnityEngine.UI.LayoutUtility
LayoutRebuilder = UnityEngine.UI.LayoutRebuilder
Tweening = DG.Tweening Tweening = DG.Tweening
Ease = DG.Tweening.Ease Ease = DG.Tweening.Ease

View File

@ -1,6 +1,6 @@
ServerConfigManager = { } ServerConfigManager = { }
local _ActiveCode = 0 -- 激活版本 local _ActiveCode = 26 -- 激活版本
ServerConfigManager.SettingConfig = { ServerConfigManager.SettingConfig = {
ServerVersion = "ServerVersion", -- 用于切换正式服和提审服 ServerVersion = "ServerVersion", -- 用于切换正式服和提审服
@ -20,6 +20,9 @@ function ServerConfigManager.IsSettingActive(settingType)
local s_versionCode = "Setting."..settingType..".versionCode" local s_versionCode = "Setting."..settingType..".versionCode"
local isActive = ServerConfigManager.GetConfigInfo(s_isActive) == "1" local isActive = ServerConfigManager.GetConfigInfo(s_isActive) == "1"
if isActive then -- 激活 if isActive then -- 激活
if not AppConst.isSDK then
return true
end
local vc = AndroidDeviceInfo.Instance:GetVersionCode() local vc = AndroidDeviceInfo.Instance:GetVersionCode()
if vc >= tonumber(ServerConfigManager.GetConfigInfo(s_versionCode)) then --符合包版本 if vc >= tonumber(ServerConfigManager.GetConfigInfo(s_versionCode)) then --符合包版本
return true return true
@ -31,7 +34,7 @@ function ServerConfigManager.GetSettingValue(settingType)
if ServerConfigManager.IsSettingActive(settingType) then if ServerConfigManager.IsSettingActive(settingType) then
local s_value = "Setting."..settingType..".value" local s_value = "Setting."..settingType..".value"
local value = ServerConfigManager.GetConfigInfo(s_value) local value = ServerConfigManager.GetConfigInfo(s_value)
LogError(s_value .. "| ".. value) LogGreen(s_value .. " | ".. value)
return value return value
end end
end end
@ -39,7 +42,7 @@ end
-- 获取version信息老版本信息新版中用于获取版本号包版本号 -- 获取version信息老版本信息新版中用于获取版本号包版本号
function ServerConfigManager.GetVersionInfo(key) function ServerConfigManager.GetVersionInfo(key)
-- 包版本大于启用的版本使用新的配置 -- 包版本大于启用的版本使用新的配置
if AndroidDeviceInfo.Instance:GetVersionCode() >= _ActiveCode then if not AppConst.isSDK or AndroidDeviceInfo.Instance:GetVersionCode() >= _ActiveCode then
local v = ServerConfigManager.GetConfigInfo(key) local v = ServerConfigManager.GetConfigInfo(key)
if not v then if not v then
v = VersionManager:GetVersionInfo(key) v = VersionManager:GetVersionInfo(key)
@ -54,18 +57,4 @@ end
function ServerConfigManager.GetConfigInfo(key) function ServerConfigManager.GetConfigInfo(key)
local s = ConfigMgr:GetConfigInfo(key) local s = ConfigMgr:GetConfigInfo(key)
return s return s
end
function ServerConfigManager.GetConfigNetInfo(key)
local s = ConfigMgr:GetConfigNetInfo(key)
return s
end
function ServerConfigManager.GetConfigPersistentInfo(key)
local s = ConfigMgr:GetConfigPersistentInfo(key)
return s
end
function ServerConfigManager.GetConfigStreamingInfo(key)
local s = ConfigMgr:GetConfigStreamingInfo(key)
return s
end end

View File

@ -249,11 +249,11 @@ end
--界面打开时调用(用于子类重写) --界面打开时调用(用于子类重写)
function GuildInfoPopup:OnOpen(...) function GuildInfoPopup:OnOpen(...)
this.RefreshShow() this.RefreshShow()
LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutName.transform) ForceRebuildLayout(this.layoutName.transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutLevel.transform) ForceRebuildLayout(this.layoutLevel.transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutMaster.transform) ForceRebuildLayout(this.layoutMaster.transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutMember.transform) ForceRebuildLayout(this.layoutMember.transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(this.layoutDeclaration.transform) ForceRebuildLayout(this.layoutDeclaration.transform)
end end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写) --界面打开或者重新打开后,界面刷新时调用(用于子类重写)

View File

@ -64,7 +64,7 @@ function MsgPanel.ShowOne(msg, action, text, title)
MsgPanel.btn_Left.gameObject:SetActive(true) MsgPanel.btn_Left.gameObject:SetActive(true)
MsgPanel.btn_Right.gameObject:SetActive(false) MsgPanel.btn_Right.gameObject:SetActive(false)
MsgPanel._toggle.gameObject:SetActive(false) MsgPanel._toggle.gameObject:SetActive(false)
LayoutRebuilder.ForceRebuildLayoutImmediate(MsgPanel._toggle.transform) ForceRebuildLayout(MsgPanel._toggle.transform)
end end
--展示两个按钮 --展示两个按钮
@ -88,7 +88,7 @@ function MsgPanel.ShowTwo(msg, leftAction, rightAction, leftText, rightText, tit
else else
MsgPanel._toggle.gameObject:SetActive(false) MsgPanel._toggle.gameObject:SetActive(false)
end end
LayoutRebuilder.ForceRebuildLayoutImmediate(MsgPanel._toggle.transform) ForceRebuildLayout(MsgPanel._toggle.transform)
end end
function MsgPanel.Hide() function MsgPanel.Hide()

View File

@ -110,8 +110,8 @@ function RewardTalismanSingleShowPopup:OnShow()
self.btnSure:SetActive(false) self.btnSure:SetActive(false)
end end
self:OnShowPanelData() self:OnShowPanelData()
LayoutRebuilder.ForceRebuildLayoutImmediate(self.curMainProscroll.transform) ForceRebuildLayout(self.curMainProscroll.transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(self.curotherProscroll.transform) ForceRebuildLayout(self.curotherProscroll.transform)
end end
function RewardTalismanSingleShowPopup:OnShowPanelData() function RewardTalismanSingleShowPopup:OnShowPanelData()
local curEquipTreasureFigData = {} local curEquipTreasureFigData = {}

View File

@ -40,44 +40,54 @@ function SettingInfo:InitComponent(gameObject, rootPanel)
-- this.languageBtn = Util.GetGameObject(gameObject, "other/box/languageBtn") -- this.languageBtn = Util.GetGameObject(gameObject, "other/box/languageBtn")
-- this.languageText= Util.GetGameObject(this.languageBtn,"Text"):GetComponent("Text") -- this.languageText= Util.GetGameObject(this.languageBtn,"Text"):GetComponent("Text")
-- this.languageText.text=GetCurLanguage()==0 and "中文" or "英文" -- this.languageText.text=GetCurLanguage()==0 and "中文" or "英文"
if IsLanguagePack then
this.dropDown = Util.GetGameObject(gameObject,"other/box1/Dropdown"):GetComponent("Dropdown")
this.dropDownText = Util.GetGameObject(gameObject,"other/box1/Dropdown/Label"):GetComponent("Text")
this.dropDownTip = Util.GetGameObject(gameObject,"other/box1/tip")
else
this.dropDown = Util.GetGameObject(gameObject,"other/box1/Dropdown")
this.dropDown:SetActive(false)
this.dropDown = Util.GetGameObject(gameObject,"other/box1/Dropdown"):GetComponent("Dropdown") end
this.dropDownText = Util.GetGameObject(gameObject,"other/box1/Dropdown/Label"):GetComponent("Text")
this.dropDownTip = Util.GetGameObject(gameObject,"other/box1/tip")
end end
function SettingInfo:SetTipShow() function SettingInfo:SetTipShow()
local flag = PlayerPrefs.GetInt("language_flag") if IsLanguagePack then
LogGreen("PlayerPrefs:"..flag) local flag = PlayerPrefs.GetInt("language_flag")
if flag == 0 then LogGreen("PlayerPrefs:"..flag)
this.dropDownText.text = Language[11854] if flag == 0 then
elseif flag == 2 then this.dropDownText.text = Language[11854]
this.dropDownText.text = "Tiếng Việt" elseif flag == 2 then
elseif flag == 1 then this.dropDownText.text = "Tiếng Việt"
this.dropDownText.text = "English" elseif flag == 1 then
end this.dropDownText.text = "English"
this.dropDown.value = flag end
if GetCurLanguage() ~= flag then this.dropDown.value = flag
this.dropDownTip.gameObject:SetActive(true) if GetCurLanguage() ~= flag then
else this.dropDownTip.gameObject:SetActive(true)
this.dropDownTip.gameObject:SetActive(false) else
this.dropDownTip.gameObject:SetActive(false)
end
end end
end end
--绑定事件(用于子类重写) --绑定事件(用于子类重写)
function SettingInfo:BindEvent() function SettingInfo:BindEvent()
this.dropDown.onValueChanged:AddListener( if IsLanguagePack then
function(value) this.dropDown.onValueChanged:AddListener(
PlayerPrefs.SetInt("language_flag",value) function(value)
this:SetTipShow() PlayerPrefs.SetInt("language_flag",value)
if value == GetCurLanguage() then this:SetTipShow()
return if value == GetCurLanguage() then
end return
MsgPanel.ShowTwo(Language[11856],function() end,function() end
Game.Logout() MsgPanel.ShowTwo(Language[11856],function() end,function()
end,Language[10731],Language[10732],"",false,"") Game.Logout()
end end,Language[10731],Language[10732],"",false,"")
) end
)
end
--cdKey兑换 --cdKey兑换
Util.AddClick(this.cdKey, function() Util.AddClick(this.cdKey, function()
UIManager.OpenPanel(UIName.CDKeyExchangePanel) UIManager.OpenPanel(UIName.CDKeyExchangePanel)

View File

@ -56,20 +56,21 @@ function reimport(name)
return require(name) return require(name)
end end
function GetPreferredHeight(_transform) function GetPreferredHeight(_transform)
if LayoutRebuilder then ForceRebuildLayout(_transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
return LayoutUtility.GetPreferredHeight(_transform) return LayoutUtility.GetPreferredHeight(_transform)
end end
function GetPreferredWidth(_transform) function GetPreferredWidth(_transform)
if LayoutRebuilder then ForceRebuildLayout(_transform)
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
return LayoutUtility.GetPreferredWidth(_transform) return LayoutUtility.GetPreferredWidth(_transform)
end end
function ForceRebuildLayout(_transform) function ForceRebuildLayout(_transform)
if LayoutRebuilder then if ServerConfigManager.IsSettingActive(ServerConfigManager.SettingConfig.LayoutBuilderWrap) then
if not LayoutRebuilder then
LayoutRebuilder = UnityEngine.UI.LayoutRebuilder
end
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform) LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end end
end end

View File

@ -1,11 +0,0 @@
{
"subChannel":"1",
"channel":"pc",
"serverUrl":"http://60.1.1.23:8080/",
"Setting":{
"ServerVersion":{"desc":"用于切换正式服和提审服", "versionCode":"25", "isActive":"1", "value":"1"},
"ThinkAnalysis_GetDeviceID":{"desc":"数数获取DeviceID方法", "versionCode":"24", "isActive":"1"},
"LayoutBuilderWrap":{"desc":"强制刷新layout组件大小的方法修改到lua中调用", "versionCode":"25", "isActive":"1"},
"LanguagePackager":{"desc":"本地化处理", "versionCode":"25", "isActive":"1"},
}
}

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 343cc3bd6dddfa64381bbe4c53e06a87
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -11,8 +11,6 @@ public class GameLogic_ConfigManagerWrap
L.RegFunction("SetNetInfo", SetNetInfo); L.RegFunction("SetNetInfo", SetNetInfo);
L.RegFunction("GetConfigInfo", GetConfigInfo); L.RegFunction("GetConfigInfo", GetConfigInfo);
L.RegFunction("GetConfigNetInfo", GetConfigNetInfo); L.RegFunction("GetConfigNetInfo", GetConfigNetInfo);
L.RegFunction("GetConfigPersistentInfo", GetConfigPersistentInfo);
L.RegFunction("GetConfigStreamingInfo", GetConfigStreamingInfo);
L.RegFunction("New", _CreateGameLogic_ConfigManager); L.RegFunction("New", _CreateGameLogic_ConfigManager);
L.RegFunction("__tostring", ToLua.op_ToString); L.RegFunction("__tostring", ToLua.op_ToString);
L.EndClass(); L.EndClass();
@ -110,41 +108,5 @@ public class GameLogic_ConfigManagerWrap
return LuaDLL.toluaL_exception(L, e); return LuaDLL.toluaL_exception(L, e);
} }
} }
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GetConfigPersistentInfo(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
GameLogic.ConfigManager obj = (GameLogic.ConfigManager)ToLua.CheckObject<GameLogic.ConfigManager>(L, 1);
string arg0 = ToLua.CheckString(L, 2);
string o = obj.GetConfigPersistentInfo(arg0);
LuaDLL.lua_pushstring(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GetConfigStreamingInfo(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
GameLogic.ConfigManager obj = (GameLogic.ConfigManager)ToLua.CheckObject<GameLogic.ConfigManager>(L, 1);
string arg0 = ToLua.CheckString(L, 2);
string o = obj.GetConfigStreamingInfo(arg0);
LuaDLL.lua_pushstring(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
} }

View File

@ -181,6 +181,7 @@ public static class LuaBinder
UnityEngine_UI_VerticalLayoutGroupWrap.Register(L); UnityEngine_UI_VerticalLayoutGroupWrap.Register(L);
UnityEngine_UI_LayoutElementWrap.Register(L); UnityEngine_UI_LayoutElementWrap.Register(L);
UnityEngine_UI_ContentSizeFitterWrap.Register(L); UnityEngine_UI_ContentSizeFitterWrap.Register(L);
UnityEngine_UI_SpriteStateWrap.Register(L);
UnityEngine_UI_LayoutUtilityWrap.Register(L); UnityEngine_UI_LayoutUtilityWrap.Register(L);
UnityEngine_UI_LayoutRebuilderWrap.Register(L); UnityEngine_UI_LayoutRebuilderWrap.Register(L);
UnityEngine_UI_GraphicWrap.Register(L); UnityEngine_UI_GraphicWrap.Register(L);