Merge branch 'xma/dev_temp' into xma/dev

dev_chengFeng
gaoxin 2021-03-04 19:49:17 +08:00
commit a578651df9
33 changed files with 729 additions and 79 deletions

View File

@ -0,0 +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/"}

View File

@ -1 +1 @@
{"subChannel":"1", "buglyId":"261348dcd3", "channel":"pc", "resUrl":"http://jl.tyu89.wang/mht/en/", "packageVersion":"0.1", "version":"0.1.1", "serverUrl":"http://42.193.191.129:8080/"}
{"subChannel":"1", "buglyId":"261348dcd3", "channel":"pc", "resUrl":"http://60.1.1.12/jieling_dl/dev/assetBundles/subChannal094-test/", "packageVersion":"0.2", "version":"0.15.0", "serverUrl":"http://60.1.1.23:8080/"}

View File

@ -164,8 +164,9 @@ namespace GameLogic
public static string LaQi_JoinRoom_Url = string.Empty; //拉起应用链接
public const string LoadingMD5Flie = "files.txt"; //加载界面更新MD5文件
public const string GameVersionFile = "version.txt"; //游戏版本号文件
public const string LoadingMD5Flie = "files.txt"; //加载界面更新MD5文件
public const string GameVersionFile = "version.txt"; //游戏版本号文件
public const string GameConfigFile = "config.txt"; //游戏版本号文件
public static int UserId; //用户ID
public static int Token; //用户Token

View File

@ -180,12 +180,23 @@ public class App : UnitySingleton<App>
return VersionManager.Instance;
}
}
/// <summary>
/// 配置数据管理器管理器
/// </summary>
public static ConfigManager ConfigMgr
{
get
{
return ConfigManager.Instance;
}
}
/// <summary>
/// 初始化
/// </summary>
public void Initialize()
{
ConfigMgr.Init();
VersionMgr.Initialize();
}

View File

@ -0,0 +1,172 @@
using UnityEngine;
using UnityEditor;
using GameCore;
using System.Collections;
using System.IO;
using System;
namespace GameLogic
{
public class MConfig
{
Hashtable info;
public MConfig(string json)
{
info = MiniJSON.jsonDecode(json) as Hashtable;
}
public string ToJson()
{
return MiniJSON.jsonEncode(info);
}
public string GetInfo(string key)
{
string[] ks = key.Split('.');
Hashtable ins = info;
for (int i = 0; i < ks.Length; i++)
{
string k = ks[i];
if (!ins.ContainsKey(k))
{
break;
}
// 没有下一个值直接返回
if (i + 1 == ks.Length)
{
return ins[k] as string;
}
else
{
ins = ins[k] as Hashtable;
}
}
return null;
}
public void RemoveInfo(string key)
{
string[] ks = key.Split('.');
Hashtable ins = info;
for (int i = 0; i < ks.Length; i++)
{
string k = ks[i];
if (!ins.ContainsKey(k))
{
break;
}
//
if (i + 1 == ks.Length)
{
ins.Remove(k);
}
else
{
ins = ins[k] as Hashtable;
}
}
}
public void SetInfo(string key, string value)
{
string[] ks = key.Split('.');
Hashtable ins = info;
for (int i = 0; i < ks.Length; i++)
{
string k = ks[i];
if (!ins.ContainsKey(k))
{
break;
}
//
if (i + 1 == ks.Length)
{
ins[k] = value;
}
else
{
ins = ins[k] as Hashtable;
}
}
}
}
public class ConfigManager : Singleton<ConfigManager>
{
/// <summary>
/// 版本号文件
/// </summary>
const string configFile = "config";
/// <summary>
/// 版本文件路径
/// </summary>
string configFilePath
{
get
{
return AppConst.PersistentDataPath + configFile + ".txt";
}
}
MConfig NetInfo;
// 初始化 获取本地的数据
public void Init()
{
try
{
if (File.Exists(configFilePath))
{
NetInfo = new MConfig(File.ReadAllText(configFilePath, System.Text.Encoding.UTF8));
}
}
catch (Exception e)
{
Debug.LogError(e);
}
}
public void SetNetInfo(string info)
{
try
{
NetInfo = new MConfig(info);
SaveToFiles();
}
catch (Exception e)
{
Debug.LogError(e);
}
}
/// <summary>
/// 保存到文件
/// </summary>
void SaveToFiles()
{
string directoryPath = Path.GetDirectoryName(configFilePath);
if (!Directory.Exists(directoryPath)) Directory.CreateDirectory(directoryPath);
File.WriteAllText(configFilePath, NetInfo.ToJson(), System.Text.Encoding.UTF8);
}
/// <summary>
///
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string GetConfigInfo(string key)
{
string v = GetConfigNetInfo(key);
if (v != null) return v;
return null;
}
public string GetConfigNetInfo(string key)
{
if (NetInfo == null) return null;
string v = NetInfo.GetInfo(key);
return v;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 252b072fc95a44740976d9126b5b4626
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,7 +5,6 @@
* @Created by MagicianJoker
--]]
SERVER_VERSION = 0 -- 0 正式服 1 提审服
-- 启用功能引导
ENABLE_FUNC_GUIDE = 1 --0关闭1开启
RECHARGEABLE = true --false不可充值 true可充值

View File

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

View File

@ -21,6 +21,7 @@ RRenderMgr = App.RRenderMgr
--shareSDKMgr = App.ShareSDKMgr
SDKMgr = App.SDKMgr
VersionManager=App.VersionMgr
ConfigMgr=App.ConfigMgr
--umengsdk=App.UmengSdkMgr
imageDownloadMgr = App.ImageDownloadMgr
--BuglySdkManager=App.BuglySdkMgr
@ -33,7 +34,6 @@ Input = UnityEngine.Input
Screen = UnityEngine.Screen
RectTransformUtility = UnityEngine.RectTransformUtility
LayoutUtility = UnityEngine.UI.LayoutUtility
LayoutRebuilder = UnityEngine.UI.LayoutRebuilder
Tweening = DG.Tweening
Ease = DG.Tweening.Ease

View File

@ -8,6 +8,7 @@ require "Framework/Manager/PoolManager"
require "Framework/Manager/SoundManager"
require "Framework/Manager/CardRendererManager"
require "Framework/Manager/RoleRenderManager"
require "Framework/Manager/ServerConfigManager"
require "Data/UIData"
require "Data/SoundData"
require "Data/ConfigData"
@ -89,6 +90,7 @@ function Framework. Initialize()
UIManager.Initialize()
poolManager = PoolManager:new()
CardRendererManager.Initialize()
ServerConfigManager.Initialize()
UpdateBeat:Add(update, Framework)
end

View File

@ -0,0 +1,60 @@
ServerConfigManager = { }
local _ActiveCode = 26 -- 激活版本
ServerConfigManager.SettingConfig = {
ServerVersion = "ServerVersion", -- 用于切换正式服和提审服
ThinkAnalysis_GetDeviceID = "ThinkAnalysis_GetDeviceID", -- 数数获取DeviceID方法
LayoutBuilderWrap = "LayoutBuilderWrap", -- 强制刷新layout组件大小的方法修改到lua中调用
LanguagePackager = "LanguagePackager", -- 本地化处理
}
function ServerConfigManager.Initialize()
end
-- 判断设置是否激活
function ServerConfigManager.IsSettingActive(settingType)
local s_isActive = "Setting."..settingType..".isActive"
local s_versionCode = "Setting."..settingType..".versionCode"
local isActive = ServerConfigManager.GetConfigInfo(s_isActive) == "1"
if isActive then -- 激活
if not AppConst.isSDK then
return true
end
local vc = AndroidDeviceInfo.Instance:GetVersionCode()
if vc >= tonumber(ServerConfigManager.GetConfigInfo(s_versionCode)) then --符合包版本
return true
end
end
return false
end
function ServerConfigManager.GetSettingValue(settingType)
if ServerConfigManager.IsSettingActive(settingType) then
local s_value = "Setting."..settingType..".value"
local value = ServerConfigManager.GetConfigInfo(s_value)
LogGreen(s_value .. " | ".. value)
return value
end
end
-- 获取version信息老版本信息新版中用于获取版本号包版本号
function ServerConfigManager.GetVersionInfo(key)
-- 包版本大于启用的版本使用新的配置
if not AppConst.isSDK or AndroidDeviceInfo.Instance:GetVersionCode() >= _ActiveCode then
local v = ServerConfigManager.GetConfigInfo(key)
if not v then
v = VersionManager:GetVersionInfo(key)
end
return v
else
return VersionManager:GetVersionInfo(key)
end
end
--
function ServerConfigManager.GetConfigInfo(key)
local s = ConfigMgr:GetConfigInfo(key)
return s
end

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 587696ae067d4004ba3b5b8c40e674e9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -222,31 +222,47 @@ function Network:ReceiveErrorInfo(buffer)
if msg.errCode == -1 then
LogError("Network ReceiveErrorInfo errDes"..msg.errMsg)
end
local errorCfg = ConfigManager.TryGetConfigData(ConfigName.ErrorCodeHint, msg.errCode)
if errorCfg then
if errorCfg.ShowType == 1 then --tips
PopupTipPanel.ShowTip(string.format(GetLanguageStrById(errorCfg.Desc), unpack(msg.errParams)))
elseif errorCfg.ShowType == 2 then --弹窗
local contexts = string.split(GetLanguageStrById(errorCfg.Desc), "#") --标题#内容
MsgPanel.ShowOne(string.format(contexts[2], unpack(msg.errParams)), nil, nil, contexts[1])
local desc, title = self:GetErrorTip(msg)
if msg.errCode == -101 or msg.errCode == -102 or msg.errCode == -103 then
if(Time.time- self.ReconnectTime<10)then
return
end
--被顶号或者被封号
Game.Logout()
AppConst.Code = desc--TODO:重登会重置所有lua变量信息用一个不用的C#变量记录,用于记录异常退出信息
return
end
if desc then
if title then
MsgPanel.ShowOne(desc, nil, nil, title)
else
PopupTipPanel.ShowTip(msg.errMsg)
PopupTipPanel.ShowTip(desc)
end
else
if msg.errCode == -101 or msg.errCode == -102 then
if(Time.time- self.ReconnectTime<10)then
return
end
--被顶号或者被封号
Game.Logout()
AppConst.Code = msg.errMsg --TODO:重登会重置所有lua变量信息用一个不用的C#变量记录,用于记录异常退出信息
else
PopupTipPanel.ShowTip(msg.errMsg)
end
PopupTipPanel.ShowTip(msg.errMsg)
end
end
function Network:GetErrorTip(msg)
local errorCfg = ConfigManager.TryGetConfigData(ConfigName.ErrorCodeHint, msg.errCode)
if errorCfg then
local params = {}
for i = 1, #msg.errParams do
table.insert(params, GetLanguageStrById(msg.errParams[i]))
end
if errorCfg.ShowType == 1 then --tips
return string.format(GetLanguageStrById(errorCfg.Desc), unpack(params))
elseif errorCfg.ShowType == 2 then --弹窗
local contexts = string.split(GetLanguageStrById(errorCfg.Desc), "#") --标题#内容
return string.format(contexts[2], unpack(params)), contexts[1]
end
end
return msg.errMsg
end
--注册消息模块
function Network:RegisterMessage(nMsgId, pMessageHandle)
self.socket:RegistNetMessage(nMsgId, pMessageHandle)

View File

@ -71,7 +71,7 @@ end
-- 获取设备Id
function this.GetDeviceId()
if AppConst.isSDK then
if AndroidDeviceInfo.Instance:GetVersionCode() > 24 then
if ServerConfigManager.IsSettingActive(ServerConfigManager.SettingConfig.ThinkAnalysis_GetDeviceID) then
return App.TAMgr:GetDeviceId()
end
return AndroidDeviceInfo.Instance:GetDeviceID()

View File

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

View File

@ -7,7 +7,7 @@ this.IsLogin = false
this.pt_pId = ""
this.pt_gId = ""
local LoginRoot_Url = VersionManager:GetVersionInfo("serverUrl")
local LoginRoot_Url = ServerConfigManager.GetVersionInfo("serverUrl")
function this.Initialize()
this.IsLogin = false
this.GameName='DouDou'

View File

@ -4,7 +4,7 @@ LoginPanel = Inherit(BasePanel)
local this = LoginPanel
this.LoginWay = { Account = 0, WeChat = 1 }
SERVER_VERSION = tonumber(ServerConfigManager.GetSettingValue(ServerConfigManager.SettingConfig.ServerVersion) or 0)
local ServerVersion = SERVER_VERSION
local IsShowNotice = SERVER_VERSION == 0 -- 正式服显示公告
@ -15,11 +15,11 @@ local openIdkey = "openIdkey"
local openIdPw = "openIdPw"
local defaultOpenIdkey = Language[11135]
local defaultOpenIdPw = ""
local LoginRoot_Url = VersionManager:GetVersionInfo("serverUrl")
local LoginRoot_SubChannel = VersionManager:GetVersionInfo("subChannel")
local LoginRoot_Channel = VersionManager:GetVersionInfo("channel")
local LoginRoot_Version = VersionManager:GetVersionInfo("version")
local LoginRoot_PackageVersion = VersionManager:GetVersionInfo("packageVersion")
local LoginRoot_Url = ServerConfigManager.GetVersionInfo("serverUrl")
local LoginRoot_SubChannel = ServerConfigManager.GetVersionInfo("subChannel")
local LoginRoot_Channel = ServerConfigManager.GetVersionInfo("channel")
local LoginRoot_Version = ServerConfigManager.GetVersionInfo("version")
local LoginRoot_PackageVersion = ServerConfigManager.GetVersionInfo("packageVersion")
local orginLayer
local timeStamp = Time.realtimeSinceStartup

View File

@ -1,7 +1,7 @@
require("Base/BasePanel")
NoticePopup = Inherit(BasePanel)
local this = NoticePopup
local LoginRoot_Url = VersionManager:GetVersionInfo("serverUrl")
local LoginRoot_Url = ServerConfigManager.GetVersionInfo("serverUrl")
--初始化组件(用于子类重写)
function NoticePopup:InitComponent()

View File

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

View File

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

View File

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

View File

@ -56,20 +56,21 @@ function reimport(name)
return require(name)
end
function GetPreferredHeight(_transform)
if LayoutRebuilder then
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
ForceRebuildLayout(_transform)
return LayoutUtility.GetPreferredHeight(_transform)
end
function GetPreferredWidth(_transform)
if LayoutRebuilder then
LayoutRebuilder.ForceRebuildLayoutImmediate(_transform)
end
ForceRebuildLayout(_transform)
return LayoutUtility.GetPreferredWidth(_transform)
end
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)
end
end

View File

@ -314,6 +314,25 @@ namespace ResUpdate
}
downLoadURL = VersionManager.Instance.GetVersionInfo("resUrl") + AppConst.PlatformPath + "/";
// 获取config
string conUrl = downLoadURL + AppConst.GameConfigFile;
Debug.Log("Download_Resouces_Url:" + conUrl);
UnityWebRequest request0 = UnityWebRequest.Get(conUrl);
request0.certificateHandler = new AcceptAllCertificatesSignedWithASpecificPublicKey();
yield return request0.SendWebRequest();
if (request0.isNetworkError)
{
SetResourcesUpdateState(true, ResourcesUpdateState.GetGameConfigsFailed);
yield break;
}
else
{
Debug.Log("www.text.config:" + request0.downloadHandler.text);
ConfigManager.Instance.SetNetInfo(request0.downloadHandler.text);
}
// 获取version
string resUrl = downLoadURL + AppConst.GameVersionFile;
Debug.Log("Download_Resouces_Url:" + resUrl);
@ -327,7 +346,7 @@ namespace ResUpdate
}
else
{
Debug.Log("www.text:" + request.downloadHandler.text);
Debug.Log("www.text.version:" + request.downloadHandler.text);
Hashtable table = MiniJSON.jsonDecode(request.downloadHandler.text) as Hashtable;
if (table == null)

View File

@ -249,6 +249,7 @@ public static class CustomSettings
_GT(typeof(ResourcesUpdateState)),
_GT(typeof(ImageDownloadManager)),
_GT(typeof(VersionManager)),
_GT(typeof(ConfigManager)),
_GT(typeof(UpdateManager)),
_GT(typeof(SetInternetPic)),
_GT(typeof(SkeletonGraphic)),

View File

@ -0,0 +1,129 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Linq;
using GameEditor.Core;
using GameEditor.GameEditor.PlayerBuilder;
using GameLogic;
using System.Diagnostics;
using ResUpdate;
using System.Threading;
namespace GameEditor.FrameTool {
public class ConfigWindow : EditorWindow
{
string m_ExcelPath;
private void OnEnable()
{
m_ExcelPath = EditorPrefs.GetString("m_ExcelPath");
}
// Add menu named "My Window" to the Window menu
[MenuItem("Build/Config")]
static void Init()
{
// Get existing open window or if none, make a new one:
ConfigWindow window = (ConfigWindow)EditorWindow.GetWindow(typeof(ConfigWindow));
window.Show();
window.InitWindow();
}
void InitWindow()
{
InitSize();
InitGames();
}
/// <summary>
/// 初始化大小
/// </summary>
void InitSize()
{
minSize = new Vector2(300, 400);
maxSize = new Vector2(300, 650);
}
/// <summary>
/// 初始化游戏
/// </summary>
void InitGames()
{
}
void OnGUI()
{
EditorGUILayout.BeginVertical();
EditorGUILayout.Space();
EditorGUILayout.LabelField("Config文件路径");
EditorGUILayout.BeginHorizontal();
m_ExcelPath = EditorGUILayout.TextField("", m_ExcelPath);
if (GUILayout.Button("加载", GUILayout.Width(60f)))
{
}
if (GUILayout.Button("打开目录", GUILayout.Width(60f)))
{
OpenDirectory(m_ExcelPath);
}
EditorGUILayout.EndHorizontal();
//if (excelArr != null && excelArr.Length > 0)
//{
// excelIndex = EditorGUILayout.Popup("选择excel文件", excelIndex, excelArr);
//}
}
static string shellPath;
public static void OpenDirectory(string path)
{
if (string.IsNullOrEmpty(path)) return;
if (!Directory.Exists(path))
{
UnityEngine.Debug.LogError("No Directory: " + path);
return;
}
//Application.dataPath 只能在主线程中获取
int lastIndex = Application.dataPath.LastIndexOf("/");
shellPath = Application.dataPath.Substring(0, lastIndex) + "/Shell/";
// 新开线程防止锁死
Thread newThread = new Thread(new ParameterizedThreadStart(CmdOpenDirectory));
newThread.Start(path);
}
private static void CmdOpenDirectory(object obj)
{
Process p = new Process();
#if UNITY_EDITOR_WIN
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/c start " + obj.ToString();
#elif UNITY_EDITOR_OSX
p.StartInfo.FileName = "bash";
string shPath = shellPath + "openDir.sh";
p.StartInfo.Arguments = shPath + " " + obj.ToString();
#endif
//UnityEngine.Debug.Log(p.StartInfo.Arguments);
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.WaitForExit();
p.Close();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 430a2ef9ef9800c4d8bff3f5edc235e1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -29,6 +29,7 @@ public class AppWrap
L.RegVar("SDKMgr", get_SDKMgr, null);
L.RegVar("RRenderMgr", get_RRenderMgr, null);
L.RegVar("VersionMgr", get_VersionMgr, null);
L.RegVar("ConfigMgr", get_ConfigMgr, null);
L.EndClass();
}
@ -341,5 +342,19 @@ public class AppWrap
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_ConfigMgr(IntPtr L)
{
try
{
ToLua.PushObject(L, App.ConfigMgr);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
}

View File

@ -0,0 +1,29 @@
//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;
public class GameCore_Singleton_GameLogic_ConfigManagerWrap
{
public static void Register(LuaState L)
{
L.BeginClass(typeof(GameCore.Singleton<GameLogic.ConfigManager>), typeof(System.Object), "Singleton_GameLogic_ConfigManager");
L.RegFunction("__tostring", ToLua.op_ToString);
L.RegVar("Instance", get_Instance, null);
L.EndClass();
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_Instance(IntPtr L)
{
try
{
ToLua.PushObject(L, GameCore.Singleton<GameLogic.ConfigManager>.Instance);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 67952d9124f8ab5498b0ac978bcbdea7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -53,6 +53,7 @@ public class GameLogic_AppConstWrap
L.RegVar("LaQi_JoinRoom_Url", get_LaQi_JoinRoom_Url, set_LaQi_JoinRoom_Url);
L.RegVar("LoadingMD5Flie", get_LoadingMD5Flie, null);
L.RegVar("GameVersionFile", get_GameVersionFile, null);
L.RegVar("GameConfigFile", get_GameConfigFile, null);
L.RegVar("UserId", get_UserId, set_UserId);
L.RegVar("Token", get_Token, set_Token);
L.RegVar("SdkId", get_SdkId, set_SdkId);
@ -730,6 +731,20 @@ public class GameLogic_AppConstWrap
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_GameConfigFile(IntPtr L)
{
try
{
LuaDLL.lua_pushstring(L, GameLogic.AppConst.GameConfigFile);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int get_UserId(IntPtr L)
{

View File

@ -0,0 +1,112 @@
//this source code was auto-generated by tolua#, do not modify it
using System;
using LuaInterface;
public class GameLogic_ConfigManagerWrap
{
public static void Register(LuaState L)
{
L.BeginClass(typeof(GameLogic.ConfigManager), typeof(GameCore.Singleton<GameLogic.ConfigManager>));
L.RegFunction("Init", Init);
L.RegFunction("SetNetInfo", SetNetInfo);
L.RegFunction("GetConfigInfo", GetConfigInfo);
L.RegFunction("GetConfigNetInfo", GetConfigNetInfo);
L.RegFunction("New", _CreateGameLogic_ConfigManager);
L.RegFunction("__tostring", ToLua.op_ToString);
L.EndClass();
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int _CreateGameLogic_ConfigManager(IntPtr L)
{
try
{
int count = LuaDLL.lua_gettop(L);
if (count == 0)
{
GameLogic.ConfigManager obj = new GameLogic.ConfigManager();
ToLua.PushObject(L, obj);
return 1;
}
else
{
return LuaDLL.luaL_throw(L, "invalid arguments to ctor method: GameLogic.ConfigManager.New");
}
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int Init(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 1);
GameLogic.ConfigManager obj = (GameLogic.ConfigManager)ToLua.CheckObject<GameLogic.ConfigManager>(L, 1);
obj.Init();
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int SetNetInfo(IntPtr L)
{
try
{
ToLua.CheckArgsCount(L, 2);
GameLogic.ConfigManager obj = (GameLogic.ConfigManager)ToLua.CheckObject<GameLogic.ConfigManager>(L, 1);
string arg0 = ToLua.CheckString(L, 2);
obj.SetNetInfo(arg0);
return 0;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GetConfigInfo(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.GetConfigInfo(arg0);
LuaDLL.lua_pushstring(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int GetConfigNetInfo(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.GetConfigNetInfo(arg0);
LuaDLL.lua_pushstring(L, o);
return 1;
}
catch (Exception e)
{
return LuaDLL.toluaL_exception(L, e);
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 467effe90bc1d524a8830982f9034e0f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -51,6 +51,7 @@ public static class LuaBinder
GameCore_UnitySingleton_SDK_SDKManagerWrap.Register(L);
GameCore_UnitySingleton_GameLogic_ImageDownloadManagerWrap.Register(L);
GameCore_Singleton_GameLogic_VersionManagerWrap.Register(L);
GameCore_Singleton_GameLogic_ConfigManagerWrap.Register(L);
GameCore_Singleton_GameLogic_UpdateManagerWrap.Register(L);
GameCore_UnitySingleton_GameLogic_PhoneManagerWrap.Register(L);
GameCore_UnitySingleton_GameLogic_ObjectPoolManagerWrap.Register(L);
@ -180,6 +181,7 @@ public static class LuaBinder
UnityEngine_UI_VerticalLayoutGroupWrap.Register(L);
UnityEngine_UI_LayoutElementWrap.Register(L);
UnityEngine_UI_ContentSizeFitterWrap.Register(L);
UnityEngine_UI_SpriteStateWrap.Register(L);
UnityEngine_UI_LayoutUtilityWrap.Register(L);
UnityEngine_UI_LayoutRebuilderWrap.Register(L);
UnityEngine_UI_GraphicWrap.Register(L);
@ -264,6 +266,7 @@ public static class LuaBinder
GameLogic_UIDepthAdapterWrap.Register(L);
GameLogic_ImageDownloadManagerWrap.Register(L);
GameLogic_VersionManagerWrap.Register(L);
GameLogic_ConfigManagerWrap.Register(L);
GameLogic_UpdateManagerWrap.Register(L);
GameLogic_PhoneManagerWrap.Register(L);
GameLogic_EventTriggerListenerWrap.Register(L);