From f07c4c39521f3750afa35fa8399537855c6f5236 Mon Sep 17 00:00:00 2001 From: jiaoyangna <3046463818@qq.com> Date: Mon, 1 Mar 2021 17:06:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E4=BD=93=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/LuaFramework/Scripts/Utility/Util.cs | 6 ++ .../UI/Pokemon/PokemonSummonPanel.prefab | 20 +++--- .../~Lua/Framework/Manager/SubUIManager.lua | 3 + .../~Lua/Framework/Manager/UIManager.lua | 3 + Assets/Source/Generate/DelegateFactory.cs | 61 +++++++++++++++++++ Assets/Source/Generate/GameLogic_UtilWrap.cs | 17 ++++++ Assets/Source/Generate/LuaBinder.cs | 28 +++++++++ .../Generate/UnityEngine_ApplicationWrap.cs | 43 +++++++++++++ 8 files changed, 171 insertions(+), 10 deletions(-) diff --git a/Assets/LuaFramework/Scripts/Utility/Util.cs b/Assets/LuaFramework/Scripts/Utility/Util.cs index 6601b6be72..935d0731d6 100644 --- a/Assets/LuaFramework/Scripts/Utility/Util.cs +++ b/Assets/LuaFramework/Scripts/Utility/Util.cs @@ -1132,6 +1132,12 @@ namespace GameLogic return App.ResMgr.LoadAsset(spriteStr); } + public static Font LoadFont() + { + Font BuildInFont = Resources.GetBuiltinResource("Arial.ttf"); + return BuildInFont; + } + public static void LoadSpriteAsync(string spriteName, Image image) { App.ResMgr.LoadAssetAsync(spriteName, (tmpName, sprite) => { diff --git a/Assets/ManagedResources/Prefabs/UI/Pokemon/PokemonSummonPanel.prefab b/Assets/ManagedResources/Prefabs/UI/Pokemon/PokemonSummonPanel.prefab index f810cfe26b..ae3bd55d9a 100644 --- a/Assets/ManagedResources/Prefabs/UI/Pokemon/PokemonSummonPanel.prefab +++ b/Assets/ManagedResources/Prefabs/UI/Pokemon/PokemonSummonPanel.prefab @@ -2858,6 +2858,16 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 2972572135738739882} m_Modifications: + - target: {fileID: 8511423249256405072, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, + type: 3} + propertyPath: m_Name + value: Effect_Dan_changzhu + objectReference: {fileID: 0} + - target: {fileID: 8511423249256405072, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, + type: 3} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} - target: {fileID: 7869096045278935994, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, type: 3} propertyPath: m_LocalPosition.x @@ -2913,16 +2923,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 8511423249256405072, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, - type: 3} - propertyPath: m_Name - value: Effect_Dan_changzhu - objectReference: {fileID: 0} - - target: {fileID: 8511423249256405072, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: fe4b34a2e2ffda44ba6a1e58d8be23d3, type: 3} --- !u!4 &1439099829012666779 stripped diff --git a/Assets/ManagedResources/~Lua/Framework/Manager/SubUIManager.lua b/Assets/ManagedResources/~Lua/Framework/Manager/SubUIManager.lua index 3a4256c5fd..f3a4d06012 100644 --- a/Assets/ManagedResources/~Lua/Framework/Manager/SubUIManager.lua +++ b/Assets/ManagedResources/~Lua/Framework/Manager/SubUIManager.lua @@ -28,6 +28,9 @@ local function createPanel(uiConfig, parent) for i = 0, textArr.Length-1 do local textStr=textArr[i].text textArr[i].text=GetLanguageStrById(textStr) + if GetCurLanguage() == 2 then + textArr[i].font = Util.LoadFont() + end end local imageArr=gameObject:GetComponentsInChildren(typeof(UnityEngine.UI.Image),true); for i = 0, imageArr.Length-1 do diff --git a/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua b/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua index 0125f435ab..53b5e42be1 100644 --- a/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua +++ b/Assets/ManagedResources/~Lua/Framework/Manager/UIManager.lua @@ -596,6 +596,9 @@ function UIManager.CreatePanel(uiConfig, parent) for i = 0, textArr.Length-1 do local textStr=textArr[i].text textArr[i].text=GetLanguageStrById(textStr) + if GetCurLanguage() == 2 then + textArr[i].font = Util.LoadFont() + end end local imageArr=gameObject:GetComponentsInChildren(typeof(UnityEngine.UI.Image),true); for i = 0, imageArr.Length-1 do diff --git a/Assets/Source/Generate/DelegateFactory.cs b/Assets/Source/Generate/DelegateFactory.cs index 302ac4d67d..03dcf70179 100644 --- a/Assets/Source/Generate/DelegateFactory.cs +++ b/Assets/Source/Generate/DelegateFactory.cs @@ -71,6 +71,7 @@ public class DelegateFactory dict.Add(typeof(UnityEngine.Application.AdvertisingIdentifierCallback), factory.UnityEngine_Application_AdvertisingIdentifierCallback); dict.Add(typeof(UnityEngine.Application.LowMemoryCallback), factory.UnityEngine_Application_LowMemoryCallback); dict.Add(typeof(UnityEngine.Application.LogCallback), factory.UnityEngine_Application_LogCallback); + dict.Add(typeof(System.Action), factory.System_Action_bool); dict.Add(typeof(System.Func), factory.System_Func_bool); dict.Add(typeof(UnityEngine.AudioClip.PCMReaderCallback), factory.UnityEngine_AudioClip_PCMReaderCallback); dict.Add(typeof(UnityEngine.AudioClip.PCMSetPositionCallback), factory.UnityEngine_AudioClip_PCMSetPositionCallback); @@ -153,6 +154,7 @@ public class DelegateFactory DelegateTraits.Init(factory.UnityEngine_Application_AdvertisingIdentifierCallback); DelegateTraits.Init(factory.UnityEngine_Application_LowMemoryCallback); DelegateTraits.Init(factory.UnityEngine_Application_LogCallback); + DelegateTraits>.Init(factory.System_Action_bool); DelegateTraits>.Init(factory.System_Func_bool); DelegateTraits.Init(factory.UnityEngine_AudioClip_PCMReaderCallback); DelegateTraits.Init(factory.UnityEngine_AudioClip_PCMSetPositionCallback); @@ -235,6 +237,7 @@ public class DelegateFactory TypeTraits.Init(factory.Check_UnityEngine_Application_AdvertisingIdentifierCallback); TypeTraits.Init(factory.Check_UnityEngine_Application_LowMemoryCallback); TypeTraits.Init(factory.Check_UnityEngine_Application_LogCallback); + TypeTraits>.Init(factory.Check_System_Action_bool); TypeTraits>.Init(factory.Check_System_Func_bool); TypeTraits.Init(factory.Check_UnityEngine_AudioClip_PCMReaderCallback); TypeTraits.Init(factory.Check_UnityEngine_AudioClip_PCMSetPositionCallback); @@ -317,6 +320,7 @@ public class DelegateFactory StackTraits.Push = factory.Push_UnityEngine_Application_AdvertisingIdentifierCallback; StackTraits.Push = factory.Push_UnityEngine_Application_LowMemoryCallback; StackTraits.Push = factory.Push_UnityEngine_Application_LogCallback; + StackTraits>.Push = factory.Push_System_Action_bool; StackTraits>.Push = factory.Push_System_Func_bool; StackTraits.Push = factory.Push_UnityEngine_AudioClip_PCMReaderCallback; StackTraits.Push = factory.Push_UnityEngine_AudioClip_PCMSetPositionCallback; @@ -3583,6 +3587,63 @@ public class DelegateFactory ToLua.Push(L, o); } + class System_Action_bool_Event : LuaDelegate + { + public System_Action_bool_Event(LuaFunction func) : base(func) { } + public System_Action_bool_Event(LuaFunction func, LuaTable self) : base(func, self) { } + + public void Call(bool param0) + { + func.BeginPCall(); + func.Push(param0); + func.PCall(); + func.EndPCall(); + } + + public void CallWithSelf(bool param0) + { + func.BeginPCall(); + func.Push(self); + func.Push(param0); + func.PCall(); + func.EndPCall(); + } + } + + public System.Action System_Action_bool(LuaFunction func, LuaTable self, bool flag) + { + if (func == null) + { + System.Action fn = delegate(bool param0) { }; + return fn; + } + + if(!flag) + { + System_Action_bool_Event target = new System_Action_bool_Event(func); + System.Action d = target.Call; + target.method = d.Method; + return d; + } + else + { + System_Action_bool_Event target = new System_Action_bool_Event(func, self); + System.Action d = target.CallWithSelf; + target.method = d.Method; + return d; + } + } + + bool Check_System_Action_bool(IntPtr L, int pos) + { + return TypeChecker.CheckDelegateType(typeof(System.Action), L, pos); + } + + void Push_System_Action_bool(IntPtr L, System.Action o) + { + ToLua.Push(L, o); + } + class System_Func_bool_Event : LuaDelegate { public System_Func_bool_Event(LuaFunction func) : base(func) { } diff --git a/Assets/Source/Generate/GameLogic_UtilWrap.cs b/Assets/Source/Generate/GameLogic_UtilWrap.cs index 1d72c92091..d36795ab0c 100644 --- a/Assets/Source/Generate/GameLogic_UtilWrap.cs +++ b/Assets/Source/Generate/GameLogic_UtilWrap.cs @@ -86,6 +86,7 @@ public class GameLogic_UtilWrap L.RegFunction("DoLoopRotate", DoLoopRotate); L.RegFunction("GetChildrenTrans", GetChildrenTrans); L.RegFunction("LoadSprite", LoadSprite); + L.RegFunction("LoadFont", LoadFont); L.RegFunction("LoadSpriteAsync", LoadSpriteAsync); L.RegFunction("SetGray", SetGray); L.RegFunction("SetSpineGray", SetSpineGray); @@ -1554,6 +1555,22 @@ public class GameLogic_UtilWrap } } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int LoadFont(IntPtr L) + { + try + { + ToLua.CheckArgsCount(L, 0); + UnityEngine.Font o = GameLogic.Util.LoadFont(); + ToLua.PushSealed(L, o); + return 1; + } + catch (Exception e) + { + return LuaDLL.toluaL_exception(L, e); + } + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int LoadSpriteAsync(IntPtr L) { diff --git a/Assets/Source/Generate/LuaBinder.cs b/Assets/Source/Generate/LuaBinder.cs index 326d772df9..4f6cb86f57 100644 --- a/Assets/Source/Generate/LuaBinder.cs +++ b/Assets/Source/Generate/LuaBinder.cs @@ -386,6 +386,7 @@ public static class LuaBinder L.RegFunction("Action_int", System_Action_int); L.RegFunction("Comparison_int", System_Comparison_int); L.RegFunction("Func_int_int", System_Func_int_int); + L.RegFunction("Action_bool", System_Action_bool); L.RegFunction("Func_bool", System_Func_bool); L.RegFunction("Action_UnityEngine_AsyncOperation", System_Action_UnityEngine_AsyncOperation); L.RegFunction("Action_string", System_Action_string); @@ -2410,6 +2411,33 @@ public static class LuaBinder } } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int System_Action_bool(IntPtr L) + { + try + { + int count = LuaDLL.lua_gettop(L); + LuaFunction func = ToLua.CheckLuaFunction(L, 1); + + if (count == 1) + { + Delegate arg1 = DelegateTraits>.Create(func); + ToLua.Push(L, arg1); + } + else + { + LuaTable self = ToLua.CheckLuaTable(L, 2); + Delegate arg1 = DelegateTraits>.Create(func, self); + ToLua.Push(L, arg1); + } + return 1; + } + catch(Exception e) + { + return LuaDLL.toluaL_exception(L, e); + } + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int System_Func_bool(IntPtr L) { diff --git a/Assets/Source/Generate/UnityEngine_ApplicationWrap.cs b/Assets/Source/Generate/UnityEngine_ApplicationWrap.cs index 8bb8a9fe63..8e6aedd8cf 100644 --- a/Assets/Source/Generate/UnityEngine_ApplicationWrap.cs +++ b/Assets/Source/Generate/UnityEngine_ApplicationWrap.cs @@ -54,6 +54,7 @@ public class UnityEngine_ApplicationWrap L.RegVar("logMessageReceived", get_logMessageReceived, set_logMessageReceived); L.RegVar("logMessageReceivedThreaded", get_logMessageReceivedThreaded, set_logMessageReceivedThreaded); L.RegVar("onBeforeRender", get_onBeforeRender, set_onBeforeRender); + L.RegVar("focusChanged", get_focusChanged, set_focusChanged); L.RegVar("wantsToQuit", get_wantsToQuit, set_wantsToQuit); L.RegVar("quitting", get_quitting, set_quitting); L.RegFunction("AdvertisingIdentifierCallback", UnityEngine_Application_AdvertisingIdentifierCallback); @@ -752,6 +753,13 @@ public class UnityEngine_ApplicationWrap return 1; } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int get_focusChanged(IntPtr L) + { + ToLua.Push(L, new EventObject(typeof(System.Action))); + return 1; + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int get_wantsToQuit(IntPtr L) { @@ -951,6 +959,41 @@ public class UnityEngine_ApplicationWrap } } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] + static int set_focusChanged(IntPtr L) + { + try + { + EventObject arg0 = null; + + if (LuaDLL.lua_isuserdata(L, 2) != 0) + { + arg0 = (EventObject)ToLua.ToObject(L, 2); + } + else + { + return LuaDLL.luaL_throw(L, "The event 'UnityEngine.Application.focusChanged' can only appear on the left hand side of += or -= when used outside of the type 'UnityEngine.Application'"); + } + + if (arg0.op == EventOp.Add) + { + System.Action ev = (System.Action)arg0.func; + UnityEngine.Application.focusChanged += ev; + } + else if (arg0.op == EventOp.Sub) + { + System.Action ev = (System.Action)arg0.func; + UnityEngine.Application.focusChanged -= ev; + } + + return 0; + } + catch (Exception e) + { + return LuaDLL.toluaL_exception(L, e); + } + } + [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))] static int set_wantsToQuit(IntPtr L) {