diff --git a/KEngine b/KEngine index a57b64be..c648aaa9 160000 --- a/KEngine +++ b/KEngine @@ -1 +1 @@ -Subproject commit a57b64be0aaf4ca31ad5a7e470c404586ff0cd6d +Subproject commit c648aaa9b4fb9bcea704180cd433ab5e5608f0da diff --git a/KSFramework/Assets/AppSettings.cs b/KSFramework/Assets/AppSettings.cs index e475479c..19ffcbf2 100644 --- a/KSFramework/Assets/AppSettings.cs +++ b/KSFramework/Assets/AppSettings.cs @@ -56,7 +56,7 @@ public static IReloadableSettings[] SettingsList } #if UNITY_EDITOR - [UnityEditor.MenuItem("KEngine/Settings/Reload All Settings")] + [UnityEditor.MenuItem("KEngine/Settings/Try Reload All Settings Code")] #endif public static void AllSettingsReload() { @@ -157,15 +157,29 @@ public void ReloadAll() _ReloadAll(false); } + /// + /// Do reload the setting class : Test, no exception when duplicate primary key, use custom string content + /// + public void ReloadAllWithString(string context) + { + _ReloadAll(false, context); + } + /// /// Do reload the setting file: Test /// - void _ReloadAll(bool throwWhenDuplicatePrimaryKey) + void _ReloadAll(bool throwWhenDuplicatePrimaryKey, string customContent = null) { for (var j = 0; j < TabFilePaths.Length; j++) { var tabFilePath = TabFilePaths[j]; - using (var tableFile = SettingModule.Get(tabFilePath, false)) + TableFile tableFile; + if (customContent == null) + tableFile = SettingModule.Get(tabFilePath, false); + else + tableFile = TableFile.LoadFromString(customContent); + + using (tableFile) { foreach (var row in tableFile) { @@ -270,7 +284,7 @@ public static string ParsePrimaryKey(TableRow row) } /// - /// Auto Generate for Tab File: "GameConfig/+Base.bytes", "GameConfig/+TSV.bytes" + /// Auto Generate for Tab File: "GameConfig/#Base.bytes", "GameConfig/#TSV.bytes" /// No use of generic and reflection, for better performance, less IL code generating /// > public partial class GameConfigSettings : IReloadableSettings @@ -282,7 +296,7 @@ public partial class GameConfigSettings : IReloadableSettings public static readonly string[] TabFilePaths = { - "GameConfig/+Base.bytes", "GameConfig/+TSV.bytes" + "GameConfig/#Base.bytes", "GameConfig/#TSV.bytes" }; internal static GameConfigSettings _instance = new GameConfigSettings(); Dictionary _dict = new Dictionary(); @@ -348,15 +362,29 @@ public void ReloadAll() _ReloadAll(false); } + /// + /// Do reload the setting class : GameConfig, no exception when duplicate primary key, use custom string content + /// + public void ReloadAllWithString(string context) + { + _ReloadAll(false, context); + } + /// /// Do reload the setting file: GameConfig /// - void _ReloadAll(bool throwWhenDuplicatePrimaryKey) + void _ReloadAll(bool throwWhenDuplicatePrimaryKey, string customContent = null) { for (var j = 0; j < TabFilePaths.Length; j++) { var tabFilePath = TabFilePaths[j]; - using (var tableFile = SettingModule.Get(tabFilePath, false)) + TableFile tableFile; + if (customContent == null) + tableFile = SettingModule.Get(tabFilePath, false); + else + tableFile = TableFile.LoadFromString(customContent); + + using (tableFile) { foreach (var row in tableFile) { @@ -420,7 +448,7 @@ public static GameConfigSetting Get(string primaryKey) } /// - /// Auto Generate for Tab File: "GameConfig/+Base.bytes", "GameConfig/+TSV.bytes" + /// Auto Generate for Tab File: "GameConfig/#Base.bytes", "GameConfig/#TSV.bytes" /// Singleton class for less memory use /// public partial class GameConfigSetting : TableRowParser diff --git a/KSFramework/Assets/Plugins/Slua_Managed.meta b/KSFramework/Assets/Plugins/Slua_Managed.meta index 94a90ff1..7640c350 100644 --- a/KSFramework/Assets/Plugins/Slua_Managed.meta +++ b/KSFramework/Assets/Plugins/Slua_Managed.meta @@ -1,5 +1,8 @@ fileFormatVersion: 2 guid: 82f4cef799e5e0f4f9177b4ca66970ae +folderAsset: yes +timeCreated: 1472605428 +licenseType: Pro DefaultImporter: userData: assetBundleName: diff --git a/KSFramework/Assets/SLua/Editor/LuaCodeGen.cs b/KSFramework/Assets/SLua/Editor/LuaCodeGen.cs index 54565e7b..784d57b2 100644 --- a/KSFramework/Assets/SLua/Editor/LuaCodeGen.cs +++ b/KSFramework/Assets/SLua/Editor/LuaCodeGen.cs @@ -1977,6 +1977,8 @@ private void WriteFunctionCall(MethodInfo m, StreamWriter file, Type t,BindingFl Write(file, "{0}a1/a2;", ret); else if (m.Name == "op_UnaryNegation") Write(file, "{0}-a1;", ret); + else if (m.Name == "op_UnaryPlus") + Write(file, "{0}+a1;", ret); else if (m.Name == "op_Equality") Write(file, "{0}(a1==a2);", ret); else if (m.Name == "op_Inequality") diff --git a/KSFramework/Product/Setting/GameConfig/+Base.bytes b/KSFramework/Product/Setting/GameConfig/#Base.bytes similarity index 100% rename from KSFramework/Product/Setting/GameConfig/+Base.bytes rename to KSFramework/Product/Setting/GameConfig/#Base.bytes diff --git a/KSFramework/Product/Setting/GameConfig/+TSV.bytes b/KSFramework/Product/Setting/GameConfig/#TSV.bytes similarity index 100% rename from KSFramework/Product/Setting/GameConfig/+TSV.bytes rename to KSFramework/Product/Setting/GameConfig/#TSV.bytes diff --git a/KSFramework/Product/SettingSource/GameConfig/+Base.xlsx b/KSFramework/Product/SettingSource/GameConfig/#Base.xlsx similarity index 100% rename from KSFramework/Product/SettingSource/GameConfig/+Base.xlsx rename to KSFramework/Product/SettingSource/GameConfig/#Base.xlsx diff --git a/KSFramework/Product/SettingSource/GameConfig/+TSV.tsv b/KSFramework/Product/SettingSource/GameConfig/#TSV.tsv similarity index 100% rename from KSFramework/Product/SettingSource/GameConfig/+TSV.tsv rename to KSFramework/Product/SettingSource/GameConfig/#TSV.tsv