From 872e289db691c3bd9d408fe4ba0f34eb73ce0fb2 Mon Sep 17 00:00:00 2001 From: kebiao <380000937@qq.com> Date: Wed, 30 Jan 2019 20:01:06 +0800 Subject: [PATCH] up --- .../Plugins/kbengine_unity3d_plugins/Event.cs | 378 -------- .../kbengine_unity3d_plugins.meta} | 4 +- .../AvatarBase.cs | 0 .../AvatarBase.cs.meta | 4 +- .../kbengine_unity3d_plugins/Blowfish.cs | 531 ++++++++++ .../kbengine_unity3d_plugins/Blowfish.cs.meta | 13 + .../{ => kbengine_unity3d_plugins}/Bundle.cs | 42 +- .../Bundle.cs.meta | 4 +- .../ClientSDKUpdater.cs | 147 +++ .../ClientSDKUpdater.cs.meta | 13 + .../CustomDataTypes.cs | 0 .../CustomDataTypes.cs.meta | 4 +- .../DataTypes.cs | 0 .../DataTypes.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/Dbg.cs | 0 .../Dbg.cs.meta | 4 +- .../EncryptionFilter.cs | 190 ++++ .../EncryptionFilter.cs.meta | 13 + .../{ => kbengine_unity3d_plugins}/Entity.cs | 16 +- .../Entity.cs.meta | 4 +- .../EntityCall.cs | 0 .../EntityCall.cs.meta | 4 +- .../EntityCallAvatarBase.cs | 0 .../EntityCallAvatarBase.cs.meta | 4 +- .../EntityCallFoodBase.cs | 0 .../EntityCallFoodBase.cs.meta | 4 +- .../EntityCallHallsBase.cs | 0 .../EntityCallHallsBase.cs.meta | 4 +- .../EntityCallRoomBase.cs | 0 .../EntityCallRoomBase.cs.meta | 4 +- .../EntityCallSmashBase.cs | 0 .../EntityCallSmashBase.cs.meta | 4 +- .../EntityDef.cs | 5 +- .../EntityDef.cs.meta | 4 +- .../kbengine_unity3d_plugins/Event.cs | 787 +++++++++++++++ .../Event.cs.meta | 4 +- .../FoodBase.cs | 0 .../FoodBase.cs.meta | 4 +- .../HallsBase.cs | 0 .../HallsBase.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/KBEMain.cs | 33 +- .../KBEMain.cs.meta | 4 +- .../KBETypes.cs | 0 .../KBETypes.cs.meta | 4 +- .../KBEngine.cs | 906 +++++++++++++----- .../KBEngine.cs.meta | 4 +- .../KBEngineArgs.cs | 9 +- .../KBEngineArgs.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/Math.cs | 0 .../Math.cs.meta | 4 +- .../MemoryStream.cs | 57 +- .../MemoryStream.cs.meta | 4 +- .../MessageReader.cs | 0 .../MessageReader.cs.meta | 4 +- .../Messages.cs | 666 +++++++++++-- .../Messages.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/Method.cs | 0 .../Method.cs.meta | 4 +- .../NetworkInterface.cs | 37 +- .../NetworkInterface.cs.meta | 4 +- .../ObjectPool.cs | 0 .../ObjectPool.cs.meta | 4 +- .../PacketReceiver.cs | 27 +- .../PacketReceiver.cs.meta | 4 +- .../PacketSender.cs | 0 .../PacketSender.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/Profile.cs | 4 +- .../Profile.cs.meta | 4 +- .../Property.cs | 0 .../Property.cs.meta | 4 +- .../{ => kbengine_unity3d_plugins}/README.md | 8 +- .../README.md.meta | 4 +- .../RoomBase.cs | 0 .../RoomBase.cs.meta | 4 +- .../ScriptModule.cs | 0 .../ScriptModule.cs.meta | 4 +- .../ServerErrorDescrs.cs | 0 .../ServerErrorDescrs.cs.meta | 4 +- .../SmashBase.cs | 0 .../SmashBase.cs.meta | 4 +- Assets/Scenes/_scenes.meta | 5 - Assets/Scenes/{_scenes => }/login.unity | Bin Assets/Scenes/{_scenes => }/login.unity.meta | 0 Assets/Scenes/{_scenes => }/world.unity | Bin Assets/Scenes/{_scenes => }/world.unity.meta | 0 Assets/{Scenes => }/start.unity | Bin Assets/{Scenes => }/start.unity.meta | 0 87 files changed, 3167 insertions(+), 868 deletions(-) delete mode 100644 Assets/Plugins/kbengine_unity3d_plugins/Event.cs rename Assets/{Scripts/kbe_scripts/interfaces.meta => Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins.meta} (70%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/AvatarBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/AvatarBase.cs.meta (77%) create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs.meta rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Bundle.cs (85%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Bundle.cs.meta (77%) create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs.meta rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/CustomDataTypes.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/CustomDataTypes.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/DataTypes.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/DataTypes.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Dbg.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Dbg.cs.meta (77%) create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs.meta rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Entity.cs (95%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Entity.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCall.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCall.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallAvatarBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallAvatarBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallFoodBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallFoodBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallHallsBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallHallsBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallRoomBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallRoomBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallSmashBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityCallSmashBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityDef.cs (99%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/EntityDef.cs.meta (77%) create mode 100644 Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Event.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/FoodBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/FoodBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/HallsBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/HallsBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEMain.cs (70%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEMain.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBETypes.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBETypes.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEngine.cs (74%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEngine.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEngineArgs.cs (82%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/KBEngineArgs.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Math.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Math.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/MemoryStream.cs (88%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/MemoryStream.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/MessageReader.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/MessageReader.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Messages.cs (70%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Messages.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Method.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Method.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/NetworkInterface.cs (89%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/NetworkInterface.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ObjectPool.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ObjectPool.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/PacketReceiver.cs (78%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/PacketReceiver.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/PacketSender.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/PacketSender.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Profile.cs (89%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Profile.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Property.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/Property.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/README.md (98%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/README.md.meta (68%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/RoomBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/RoomBase.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ScriptModule.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ScriptModule.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ServerErrorDescrs.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/ServerErrorDescrs.cs.meta (77%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/SmashBase.cs (100%) rename Assets/Plugins/kbengine_unity3d_plugins/{ => kbengine_unity3d_plugins}/SmashBase.cs.meta (77%) delete mode 100644 Assets/Scenes/_scenes.meta rename Assets/Scenes/{_scenes => }/login.unity (100%) rename Assets/Scenes/{_scenes => }/login.unity.meta (100%) rename Assets/Scenes/{_scenes => }/world.unity (100%) rename Assets/Scenes/{_scenes => }/world.unity.meta (100%) rename Assets/{Scenes => }/start.unity (100%) rename Assets/{Scenes => }/start.unity.meta (100%) diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Event.cs b/Assets/Plugins/kbengine_unity3d_plugins/Event.cs deleted file mode 100644 index 78eb608..0000000 --- a/Assets/Plugins/kbengine_unity3d_plugins/Event.cs +++ /dev/null @@ -1,378 +0,0 @@ -namespace KBEngine -{ - using UnityEngine; - using System; - using System.Collections; - using System.Collections.Generic; - using System.Threading; - - /* - 事件模块 - KBEngine插件层与Unity3D表现层通过事件来交互 - */ - public class Event - { - public struct Pair - { - public object obj; - public string funcname; - public System.Reflection.MethodInfo method; - }; - - public struct EventObj - { - public Pair info; - public object[] args; - }; - - static Dictionary> events_out = new Dictionary>(); - - static LinkedList firedEvents_out = new LinkedList(); - static LinkedList doingEvents_out = new LinkedList(); - - static Dictionary> events_in = new Dictionary>(); - - static LinkedList firedEvents_in = new LinkedList(); - static LinkedList doingEvents_in = new LinkedList(); - - static bool _isPauseOut = false; - - public Event() - { - } - - public static void clear() - { - events_out.Clear(); - events_in.Clear(); - clearFiredEvents(); - } - - public static void clearFiredEvents() - { - monitor_Enter(events_out); - firedEvents_out.Clear(); - monitor_Exit(events_out); - - doingEvents_out.Clear(); - - monitor_Enter(events_in); - firedEvents_in.Clear(); - monitor_Exit(events_in); - - doingEvents_in.Clear(); - - _isPauseOut = false; - } - - public static void pause() - { - _isPauseOut = true; - } - - public static void resume() - { - _isPauseOut = false; - } - - public static bool isPause() - { - return _isPauseOut; - } - - public static void monitor_Enter(object obj) - { - if(KBEngineApp.app == null) - return; - - Monitor.Enter(obj); - } - - public static void monitor_Exit(object obj) - { - if(KBEngineApp.app == null) - return; - - Monitor.Exit(obj); - } - - public static bool hasRegisterOut(string eventname) - { - return _hasRegister(events_out, eventname); - } - - public static bool hasRegisterIn(string eventname) - { - return _hasRegister(events_in, eventname); - } - - private static bool _hasRegister(Dictionary> events, string eventname) - { - bool has = false; - - monitor_Enter(events); - has = events.ContainsKey(eventname); - monitor_Exit(events); - - return has; - } - - /* - 注册监听由kbe插件抛出的事件。(out = kbe->render) - 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, - 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 - */ - public static bool registerOut(string eventname, object obj, string funcname) - { - return register(events_out, eventname, obj, funcname); - } - - /* - 注册监听由渲染表现层抛出的事件(in = render->kbe) - 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 - */ - public static bool registerIn(string eventname, object obj, string funcname) - { - return register(events_in, eventname, obj, funcname); - } - - private static bool register(Dictionary> events, string eventname, object obj, string funcname) - { - deregister(events, eventname, obj, funcname); - List lst = null; - - Pair pair = new Pair(); - pair.obj = obj; - pair.funcname = funcname; - pair.method = obj.GetType().GetMethod(funcname); - if(pair.method == null) - { - Dbg.ERROR_MSG("Event::register: " + obj + "not found method[" + funcname + "]"); - return false; - } - - monitor_Enter(events); - if(!events.TryGetValue(eventname, out lst)) - { - lst = new List(); - lst.Add(pair); - //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!"); - events.Add(eventname, lst); - monitor_Exit(events); - return true; - } - - //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!"); - lst.Add(pair); - monitor_Exit(events); - return true; - } - - public static bool deregisterOut(string eventname, object obj, string funcname) - { - return deregister(events_out, eventname, obj, funcname); - } - - public static bool deregisterIn(string eventname, object obj, string funcname) - { - return deregister(events_in, eventname, obj, funcname); - } - - private static bool deregister(Dictionary> events, string eventname, object obj, string funcname) - { - monitor_Enter(events); - List lst = null; - - if(!events.TryGetValue(eventname, out lst)) - { - monitor_Exit(events); - return false; - } - - for(int i=0; i> events, object obj) - { - monitor_Enter(events); - - var iter = events.GetEnumerator(); - while (iter.MoveNext()) - { - List lst = iter.Current.Value; - // 从后往前遍历,以避免中途删除的问题 - for (int i = lst.Count - 1; i >= 0; i--) - { - if (obj == lst[i].obj) - { - //Dbg.DEBUG_MSG("Event::deregister: event(" + e.Key + ":" + lst[i].funcname + ")!"); - lst.RemoveAt(i); - } - } - } - - monitor_Exit(events); - return true; - } - - /* - kbe插件触发事件(out = kbe->render) - 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, - 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 - */ - public static void fireOut(string eventname, params object[] args) - { - fire_(events_out, firedEvents_out, eventname, args); - } - - /* - 渲染表现层抛出事件(in = render->kbe) - 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 - */ - public static void fireIn(string eventname, params object[] args) - { - fire_(events_in, firedEvents_in, eventname, args); - } - - /* - 触发kbe插件和渲染表现层都能够收到的事件 - */ - public static void fireAll(string eventname, params object[] args) - { - fire_(events_in, firedEvents_in, eventname, args); - fire_(events_out, firedEvents_out, eventname, args); - } - - private static void fire_(Dictionary> events, LinkedList firedEvents, string eventname, object[] args) - { - monitor_Enter(events); - List lst = null; - - if(!events.TryGetValue(eventname, out lst)) - { - if(events == events_in) - Dbg.WARNING_MSG("Event::fireIn: event(" + eventname + ") not found!"); - else - Dbg.WARNING_MSG("Event::fireOut: event(" + eventname + ") not found!"); - - monitor_Exit(events); - return; - } - - for(int i=0; i 0) - { - var iter = firedEvents_out.GetEnumerator(); - while (iter.MoveNext()) - { - doingEvents_out.AddLast(iter.Current); - } - - firedEvents_out.Clear(); - } - - monitor_Exit(events_out); - - while (doingEvents_out.Count > 0 && !_isPauseOut) - { - - EventObj eobj = doingEvents_out.First.Value; - - //Debug.Log("processOutEvents:" + eobj.info.funcname + "(" + eobj.info + ")"); - //foreach(object v in eobj.args) - //{ - // Debug.Log("processOutEvents:args=" + v); - //} - try - { - eobj.info.method.Invoke (eobj.info.obj, eobj.args); - } - catch (Exception e) - { - Dbg.ERROR_MSG("Event::processOutEvents: event=" + eobj.info.funcname + "\n" + e.ToString()); - } - - if(doingEvents_out.Count > 0) - doingEvents_out.RemoveFirst(); - } - } - - public static void processInEvents() - { - monitor_Enter(events_in); - - if(firedEvents_in.Count > 0) - { - var iter = firedEvents_in.GetEnumerator(); - while (iter.MoveNext()) - { - doingEvents_in.AddLast(iter.Current); - } - - firedEvents_in.Clear(); - } - - monitor_Exit(events_in); - - while (doingEvents_in.Count > 0) - { - - EventObj eobj = doingEvents_in.First.Value; - - //Debug.Log("processInEvents:" + eobj.info.funcname + "(" + eobj.info + ")"); - //foreach(object v in eobj.args) - //{ - // Debug.Log("processInEvents:args=" + v); - //} - try - { - eobj.info.method.Invoke (eobj.info.obj, eobj.args); - } - catch (Exception e) - { - Dbg.ERROR_MSG("Event::processInEvents: event=" + eobj.info.funcname + "\n" + e.ToString()); - } - - if(doingEvents_in.Count > 0) - doingEvents_in.RemoveFirst(); - } - } - - } -} diff --git a/Assets/Scripts/kbe_scripts/interfaces.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins.meta similarity index 70% rename from Assets/Scripts/kbe_scripts/interfaces.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins.meta index 95f6283..ad7051e 100644 --- a/Assets/Scripts/kbe_scripts/interfaces.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 58fa7abdff0e229469ac6c4500717345 +guid: f4602ef8b6ef5364e8c54ba196f30b40 folderAsset: yes -timeCreated: 1523693896 +timeCreated: 1548849568 licenseType: Free DefaultImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/AvatarBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/AvatarBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/AvatarBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/AvatarBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta index 98d5b40..3069850 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/AvatarBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 2f77885211336724aa7c9719c820ac80 -timeCreated: 1523691765 +guid: 4b3fbffbea9661e4cbf2800f2e21e7c3 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs new file mode 100644 index 0000000..06fd479 --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs @@ -0,0 +1,531 @@ +namespace KBEngine +{ + using System; + using System.IO; + using System.Text; + using System.Collections; + using System.Collections.Generic; + using System.Security.Cryptography; + + public class Blowfish + { + const int N = 16; + const int KEYBYTES = 8; + private byte[] _key = new byte[0]; + private bool _isGood = true; + + private static RNGCryptoServiceProvider rngCsp = new RNGCryptoServiceProvider(); + + // key的最小和最大大小 + private const int MIN_KEY_SIZE = 32 / 8; + private const int MAX_KEY_SIZE = 448 / 8; + + // 默认key的大小 + private const int DEFAULT_KEY_SIZE = 128 / 8; + + static uint[] _P = + { + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, + 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b + }; + static uint[,] _S = + { + { + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, + 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, + 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, + 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, + 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, + 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, + 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, + 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, + 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, + 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, + 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, + 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, + 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, + 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, + 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, + 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, + 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, + 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, + 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, + 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, + 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, + 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, + 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, + 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, + 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, + 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, + 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, + 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, + 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, + 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, + 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, + 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, + 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a + }, + { + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, + 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, + 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, + 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, + 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, + 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, + 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, + 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, + 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, + 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, + 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, + 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, + 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, + 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, + 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, + 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, + 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, + 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, + 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, + 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, + 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, + 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, + 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, + 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, + 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, + 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, + 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, + 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, + 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, + 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, + 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, + 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, + 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7 + }, + { + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, + 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, + 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, + 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, + 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, + 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, + 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, + 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, + 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, + 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, + 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, + 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, + 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, + 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, + 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341, 0x992eff74, + 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, + 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, + 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, + 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, + 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, + 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, + 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, + 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, + 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, + 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, + 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, + 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, + 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, + 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, + 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, + 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, + 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, + 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0 + }, + { + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, + 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, + 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, + 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, + 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, + 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, + 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, + 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, + 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, + 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, + 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, + 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, + 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, + 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, + 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, + 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, + 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, + 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, + 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, + 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, + 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, + 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, + 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, + 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, + 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, + 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, + 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, + 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, + 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, + 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, + 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, + 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, + 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 + } + }; + + uint[] P; + uint[,] S; + + public Blowfish(byte[] key) + { + _key = key; + init(); + } + + public Blowfish(string key) : this(Encoding.Unicode.GetBytes(key)) + { + + } + + public Blowfish(int keySize = DEFAULT_KEY_SIZE) + { + _key = new byte[keySize]; + rngCsp.GetBytes(_key); + init(); + } + + ~Blowfish() + { + } + + public bool isGood() + { + return _isGood; + } + + private void init() + { + if(_key.Length < MIN_KEY_SIZE || _key.Length > MAX_KEY_SIZE) + { + _isGood = false; + Dbg.ERROR_MSG("Blowfish::init: invalid length " + _key.Length); + return; + } + + short i; + short j; + short k; + uint data; + uint datal; + uint datar; + + P = _P.Clone() as uint[]; + S = _S.Clone() as uint[,]; + + j = 0; + for (i = 0; i < N + 2; ++i) + { + data = 0x00000000; + for (k = 0; k < 4; ++k) + { + data = (data << 8) | _key[j]; + j++; + if (j >= _key.Length) + { + j = 0; + } + } + P[i] = P[i] ^ data; + } + + datal = 0x00000000; + datar = 0x00000000; + + for (i = 0; i < N + 2; i += 2) + { + encipher(ref datal, ref datar); + P[i] = datal; + P[i + 1] = datar; + } + + for (i = 0; i < 4; ++i) + { + for (j = 0; j < 256; j += 2) + { + encipher(ref datal, ref datar); + + S[i, j] = datal; + S[i, j + 1] = datar; + } + } + + _isGood = true; + } + + private uint f(uint x) + { + ushort a; + ushort b; + ushort c; + ushort d; + uint y; + + d = (ushort)(x & 0x00FF); + x >>= 8; + c = (ushort)(x & 0x00FF); + x >>= 8; + b = (ushort)(x & 0x00FF); + x >>= 8; + a = (ushort)(x & 0x00FF); + //y = ((S[0][a] + S[1][b]) ^ S[2][c]) + S[3][d]; + y = S[0, a] + S[1, b]; + y = y ^ S[2, c]; + y = y + S[3, d]; + + return y; + } + + /// + /// Encrypts a byte array in place. + /// + /// The array to encrypt. + /// The amount to encrypt. + public void encipher(byte[] data, int length) + { + if ((length % 8) != 0) + throw new Exception("Invalid Length"); + + uint xl, xr; + UInt64 prevBlock = 0; + + for (int i = 0; i < length; i += 8) + { + if (prevBlock != 0) + { + UInt64 oldValue = BitConverter.ToUInt64(data, i); + UInt64 ret = oldValue ^ prevBlock; + prevBlock = oldValue; + + data[i] = (byte)ret; + data[i + 1] = (byte)(ret >> 0x8); + data[i + 2] = (byte)(ret >> 0x10); + data[i + 3] = (byte)(ret >> 0x18); + data[i + 4] = (byte)(ret >> 0x20); + data[i + 5] = (byte)(ret >> 0x28); + data[i + 6] = (byte)(ret >> 0x30); + data[i + 7] = (byte)(ret >> 0x38); + } + else + { + prevBlock = BitConverter.ToUInt64(data, i); + } + + // Encode the data in 8 byte blocks. + xl = (uint)((data[i] << 24) | (data[i + 1] << 16) | (data[i + 2] << 8) | data[i + 3]); + xr = (uint)((data[i + 4] << 24) | (data[i + 5] << 16) | (data[i + 6] << 8) | data[i + 7]); + encipher(ref xl, ref xr); + // Now Replace the data. + data[i] = (byte)(xl >> 24); + data[i + 1] = (byte)(xl >> 16); + data[i + 2] = (byte)(xl >> 8); + data[i + 3] = (byte)(xl); + data[i + 4] = (byte)(xr >> 24); + data[i + 5] = (byte)(xr >> 16); + data[i + 6] = (byte)(xr >> 8); + data[i + 7] = (byte)(xr); + } + } + + /// + /// Encrypts 8 bytes of data (1 block) + /// + /// The left part of the 8 bytes. + /// The right part of the 8 bytes. + private void encipher(ref uint xl, ref uint xr) + { + uint Xl; + uint Xr; + uint temp; + short i; + + Xl = xl; + Xr = xr; + + for (i = 0; i < N; ++i) + { + Xl = Xl ^ P[i]; + Xr = f(Xl) ^ Xr; + + temp = Xl; + Xl = Xr; + Xr = temp; + } + + temp = Xl; + Xl = Xr; + Xr = temp; + + Xr = Xr ^ P[N]; + Xl = Xl ^ P[N + 1]; + + xl = Xl; + xr = Xr; + } + + /// + /// Encrypts string + /// + /// The string to encrypt + /// Encrypted string + public String encipher(String data) + { + byte[] b = Encoding.Unicode.GetBytes(data); + encipher(b, b.Length); + + return Convert.ToBase64String(b); + } + + /// + /// Decrypts a byte array in place. + /// + /// The array to decrypt. + /// The amount to decrypt. + public void decipher(byte[] data, int startIndex, int length) + { + uint xl, xr; + if ((length % 8) != 0) + throw new Exception("Invalid Length"); + + UInt64 prevBlock = 0; + for (int i = 0; i < length; i += 8) + { + // Encode the data in 8 byte blocks. + int index = startIndex + i; + xl = (uint)((data[index] << 24) | (data[index + 1] << 16) | (data[index + 2] << 8) | data[index + 3]); + xr = (uint)((data[index + 4] << 24) | (data[index + 5] << 16) | (data[index + 6] << 8) | data[index + 7]); + decipher(ref xl, ref xr); + // Now Replace the data. + data[index] = (byte)(xl >> 24); + data[index + 1] = (byte)(xl >> 16); + data[index + 2] = (byte)(xl >> 8); + data[index + 3] = (byte)(xl); + data[index + 4] = (byte)(xr >> 24); + data[index + 5] = (byte)(xr >> 16); + data[index + 6] = (byte)(xr >> 8); + data[index + 7] = (byte)(xr); + + if(prevBlock != 0) + { + UInt64 ret = BitConverter.ToUInt64(data, index) ^ prevBlock; + + data[index] = (byte)ret; + data[index + 1] = (byte)(ret >> 0x08); + data[index + 2] = (byte)(ret >> 0x10); + data[index + 3] = (byte)(ret >> 0x18); + data[index + 4] = (byte)(ret >> 0x20); + data[index + 5] = (byte)(ret >> 0x28); + data[index + 6] = (byte)(ret >> 0x30); + data[index + 7] = (byte)(ret >> 0x38); + } + + prevBlock = BitConverter.ToUInt64(data, index); + } + } + + /// + /// Decrypts 8 bytes of data (1 block) + /// + /// The left part of the 8 bytes. + /// The right part of the 8 bytes. + private void decipher(ref uint xl, ref uint xr) + { + uint Xl; + uint Xr; + uint temp; + short i; + + Xl = xl; + Xr = xr; + + for (i = N + 1; i > 1; --i) + { + Xl = Xl ^ P[i]; + Xr = f(Xl) ^ Xr; + + /* Exchange Xl and Xr */ + temp = Xl; + Xl = Xr; + Xr = temp; + } + + /* Exchange Xl and Xr */ + temp = Xl; + Xl = Xr; + Xr = temp; + + Xr = Xr ^ P[1]; + Xl = Xl ^ P[0]; + + xl = Xl; + xr = Xr; + } + + /// + /// Decrypt string + /// + /// The String to decrypt + /// Decrypted string + public String decipher(String data) + { + byte[] b = Convert.FromBase64String(data); + decipher(b, 0, b.Length); + + return Encoding.Unicode.GetString(b); + } + + public byte[] key() + { + return _key; + } + } +} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs.meta new file mode 100644 index 0000000..e39c5d7 --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Blowfish.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 08247f4e89daf8d4ab5c028060d5fc6b +timeCreated: 1548849570 +licenseType: Free +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs similarity index 85% rename from Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs index 702af53..ec40ec1 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs @@ -25,8 +25,20 @@ public Bundle() public void clear() { - stream = MemoryStream.createObject(); - streamList = new List(); + // 把不用的MemoryStream放回缓冲池,以减少垃圾回收的消耗 + for (int i = 0; i < streamList.Count; ++i) + { + if (stream != streamList[i]) + streamList[i].reclaimObject(); + } + + streamList.Clear(); + + if(stream != null) + stream.clear(); + else + stream = MemoryStream.createObject(); + numMessage = 0; messageLength = 0; msgtype = null; @@ -110,21 +122,12 @@ public void send(NetworkInterface networkInterface) Dbg.ERROR_MSG("Bundle::send: networkInterface invalid!"); } - // 把不用的MemoryStream放回缓冲池,以减少垃圾回收的消耗 - for (int i = 0; i < streamList.Count; ++i) - { - streamList[i].reclaimObject(); - } - - streamList.Clear(); - stream.clear(); - // 我们认为,发送完成,就视为这个bundle不再使用了, // 所以我们会把它放回对象池,以减少垃圾回收带来的消耗, // 如果需要继续使用,应该重新Bundle.createObject(), // 如果外面不重新createObject()而直接使用,就可能会出现莫名的问题, // 仅以此备注,警示使用者。 - Bundle.reclaimObject(this); + reclaimObject(); } public void checkStream(int v) @@ -239,5 +242,20 @@ public void writeVector4(Vector4 v) checkStream(16); stream.writeVector4(v); } + + public void writeEntitycall(byte[] v) + { + checkStream(16); + + UInt64 cid = 0; + Int32 id = 0; + UInt16 type = 0; + UInt16 utype = 0; + + stream.writeUint64(cid); + stream.writeInt32(id); + stream.writeUint16(type); + stream.writeUint16(utype); + } } } diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs.meta index 3097263..f354d2e 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Bundle.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Bundle.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: c922a1137b03408428de849f3814cde7 -timeCreated: 1523691765 +guid: 39832a810603d9d4eafb247be39f3439 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs new file mode 100644 index 0000000..e12ec12 --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs @@ -0,0 +1,147 @@ +namespace KBEngine +{ +#if UNITY_EDITOR + using UnityEngine; + using UnityEditor; + using System.Collections; + using System; + using System.IO; + using KBEngine; + + public class ClientSDKUpdater : MonoBehaviour + { + string warnUpdateSDK = ""; + MemoryStream sdkFileStream = null; + int downloadFiles = 0; + string sdkPath = ""; + string sdkTempPath = ""; + string sdkBakPath = ""; + + void Start() + { + string kbengineCoreFile = "KBEngine.cs"; + string[] res = System.IO.Directory.GetFiles(Application.dataPath, kbengineCoreFile, SearchOption.AllDirectories); + sdkPath = res[0].Replace(kbengineCoreFile, "").Replace("\\", "/"); + sdkPath = sdkPath.Remove(sdkPath.Length - 1, 1); + + sdkTempPath = sdkPath + "_temp"; + sdkBakPath = sdkPath + "_bak"; + + warnUpdateSDK = "Version does not match the server.\nClick to update KBEnginePlugin!\nPull from: " + KBEngineApp.app.getInitArgs().ip + ":" + KBEngineApp.app.getInitArgs().port; + installEvents(); + } + + public virtual void installEvents() + { + Event.registerIn("onImportClientSDK", this, "onImportClientSDK"); + } + + protected virtual void OnDestroy() + { + KBEngine.Event.deregisterOut(this); + } + + public void onImportClientSDK(int remainingFiles, string fileName, int fileSize, byte[] fileDatas) + { + if (sdkFileStream == null) + sdkFileStream = MemoryStream.createObject(); + + sdkFileStream.append(fileDatas, (uint)sdkFileStream.rpos, (uint)fileDatas.Length); + + warnUpdateSDK = "Download:" + fileName + " -> " + sdkFileStream.length() + "/" + fileSize + "bytes! " + (int)(((float)downloadFiles / (float)(downloadFiles + remainingFiles)) * 100) + "%"; + Debug.Log(warnUpdateSDK); + + if (sdkFileStream.length() == fileSize) + { + Debug.Log("onImportClientSDK: " + fileName + "->" + fileSize + "bytes success!"); + + string path = Path.GetDirectoryName(sdkTempPath + "//" + fileName); + if (!Directory.Exists(path)) + Directory.CreateDirectory(path); + + StreamWriter sw; + FileInfo t = new FileInfo(sdkTempPath + "//" + fileName); + string data = System.Text.Encoding.UTF8.GetString(sdkFileStream.data(), 0, fileSize); + sw = t.CreateText(); + sw.WriteLine(data); + sw.Close(); + sw.Dispose(); + + sdkFileStream.reclaimObject(); + sdkFileStream = null; + downloadFiles += 1; + + if (remainingFiles == 0) + { + warnUpdateSDK = ""; + downloadFiles = 0; + replaceNewSDK(); + } + } + } + + void downloadSDKFromServer() + { + downloadFiles = 0; + + if (Directory.Exists(sdkTempPath)) + Directory.Delete(sdkTempPath, true); + + Directory.CreateDirectory(sdkTempPath); + + if (sdkFileStream != null) + { + sdkFileStream.reclaimObject(); + sdkFileStream = null; + } + + // kbcmd options + string tool_options = "Unity"; + string callbackIP = ""; + UInt16 callbackPort = 0; + int clientWindowSize = (int)KBEngineApp.app.getInitArgs().RECV_BUFFER_MAX; + + Bundle bundle = Bundle.createObject(); + bundle.newMessage(Messages.messages["Loginapp_importClientSDK"]); + bundle.writeString(tool_options); + bundle.writeInt32(clientWindowSize); + bundle.writeString(callbackIP); + bundle.writeUint16(callbackPort); + bundle.send(KBEngineApp.app.networkInterface()); + } + + void replaceNewSDK() + { + System.IO.Directory.Move(sdkPath, sdkBakPath); + System.IO.Directory.Move(sdkTempPath, sdkPath); + + // 删除旧的SKD文件夹 + Directory.Delete(sdkBakPath, true); + + EditorApplication.isPlaying = false; + AssetDatabase.Refresh(); + } + + void OnGUI() + { + if (warnUpdateSDK.Length > 0) + { + GUI.contentColor = Color.red; + GUI.backgroundColor = Color.red; + + if (GUI.Button(new Rect(Screen.width * 0.05f, Screen.height * 0.01f, Screen.width * 0.9f, Screen.height * 0.2f), warnUpdateSDK)) + { + // 从服务器下载新的SDK + downloadSDKFromServer(); + } + } + } + + void Update() + { + + + } + } +#endif +} \ No newline at end of file diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs.meta new file mode 100644 index 0000000..d4bf4dc --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ClientSDKUpdater.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 159bf7de581d5a1469e368d293cdef35 +timeCreated: 1548849570 +licenseType: Free +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/kbengine_unity3d_plugins/CustomDataTypes.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/CustomDataTypes.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/CustomDataTypes.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/CustomDataTypes.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta index 7c3f4e9..3d15ca2 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/CustomDataTypes.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 5cf9b7c8557d8214bb5e6462696d2a64 -timeCreated: 1523691765 +guid: 0b363e2bf69145d4dac9404728207188 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/DataTypes.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/DataTypes.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/DataTypes.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/DataTypes.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/DataTypes.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/DataTypes.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/DataTypes.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/DataTypes.cs.meta index dca42f4..05c68a4 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/DataTypes.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/DataTypes.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 1a5bd3ecde69f1b4ba45c9b1be630344 -timeCreated: 1523691765 +guid: ec1cf43e4ce1f7f4cbb17b18316121e3 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Dbg.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Dbg.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/Dbg.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Dbg.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Dbg.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Dbg.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Dbg.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Dbg.cs.meta index 41ee5f3..b4c4882 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Dbg.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Dbg.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 3648afd872c8a84409a165e6e7470fcb -timeCreated: 1523691765 +guid: f4418a1e642dffd4f899672e62773d16 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs new file mode 100644 index 0000000..948e7f0 --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs @@ -0,0 +1,190 @@ +namespace KBEngine +{ + using UnityEngine; + using System; + using System.Collections; + using System.Collections.Generic; + + public abstract class EncryptionFilter + { + public abstract void encrypt(MemoryStream stream); + + public abstract void decrypt(MemoryStream stream); + public abstract void decrypt(byte[] buffer, int startIndex, int length); + + public abstract bool send(PacketSender sender, MemoryStream stream); + public abstract bool recv(MessageReader reader, byte[] buffer, UInt32 rpos, UInt32 len); + } + + + class BlowfishFilter : EncryptionFilter + { + private Blowfish _blowfish = new Blowfish(); + + private MemoryStream _packet = new MemoryStream(); + MemoryStream _enctyptStrem = new MemoryStream(); + + private UINT8 _padSize = 0; + private UInt16 _packLen = 0; + const UInt32 BLOCK_SIZE = 8; + const UInt32 MIN_PACKET_SIZE = sizeof(UInt16) + 1 + BLOCK_SIZE; + + public BlowfishFilter() + { + } + + ~BlowfishFilter() + { + } + + public byte[] key() + { + return _blowfish.key(); + } + + public override void encrypt(MemoryStream stream) + { + int padSize = 0; + if (stream.length() % BLOCK_SIZE != 0) + { + padSize = (int)(BLOCK_SIZE - (stream.length() % BLOCK_SIZE)); + stream.wpos += padSize; + + if(stream.wpos > MemoryStream.BUFFER_MAX) + Debug.LogError("BlowfishFilter::encrypt: stream.wpos(" + stream.wpos + ") > MemoryStream.BUFFER_MAX(" + MemoryStream.BUFFER_MAX + ")!"); + } + + _blowfish.encipher(stream.data(), (int)stream.length()); + + UInt16 packLen = (UInt16)(stream.length() + 1); + _enctyptStrem.writeUint16(packLen); + _enctyptStrem.writeUint8((UINT8)padSize); + _enctyptStrem.append(stream.data(), (UInt32)stream.rpos, stream.length()); + + stream.swap(_enctyptStrem); + _enctyptStrem.clear(); + } + + public override void decrypt(MemoryStream stream) + { + _blowfish.decipher(stream.data(), stream.rpos, (int)stream.length()); + } + + public override void decrypt(byte[] buffer, int startIndex, int length) + { + _blowfish.decipher(buffer, startIndex, length); + } + + public override bool send(PacketSender sender, MemoryStream stream) + { + if(!_blowfish.isGood()) + { + Dbg.ERROR_MSG("BlowfishFilter::send: Dropping packet, due to invalid filter"); + return false; + } + + encrypt(stream); + return sender.send(stream); + } + + public override bool recv(MessageReader reader, byte[] buffer, UInt32 rpos, UInt32 len) + { + if (!_blowfish.isGood()) + { + Dbg.ERROR_MSG("BlowfishFilter::recv: Dropping packet, due to invalid filter"); + return false; + } + + if (_packet.length() == 0 && len >= MIN_PACKET_SIZE && BitConverter.ToUInt16(buffer, (int)rpos) - 1 == len - 3) + { + int packLen = BitConverter.ToUInt16(buffer, (int)rpos) - 1; + int padSize = buffer[rpos + 2]; + + decrypt(buffer, (int)(rpos + 3), (int)(len - 3)); + + int length = packLen - padSize; + if (reader != null) + { + reader.process(buffer, rpos + 3, (UInt32)length); + } + + return true; + } + + _packet.append(buffer, rpos, len); + + while(_packet.length() > 0) + { + UInt32 currLen = 0; + int oldwpos = 0; + if (_packLen <= 0) + { + // 如果满足一个最小包则尝试解包, 否则缓存这个包待与下一个包合并然后解包 + if (_packet.length() >= MIN_PACKET_SIZE) + { + _packLen = _packet.readUint16(); + _padSize = _packet.readUint8(); + + _packLen -= 1; + + if (_packet.length() > _packLen) + { + currLen = (UInt32)(_packet.rpos + _packLen); + oldwpos = _packet.wpos; + _packet.wpos = (int)currLen; + } + else if (_packet.length() < _packLen) + { + return false; + } + } + else + { + return false; + } + } + else + { + // 如果上一次有做过解包行为但包还没有完整则继续处理 + // 如果包是完整的下面流程会解密, 如果有多余的内容需要将其剪裁出来待与下一个包合并 + if (_packet.length() > _packLen) + { + currLen = (UInt32)(_packet.rpos + _packLen); + oldwpos = _packet.wpos; + _packet.wpos = (int)currLen; + } + else if (_packet.length() < _packLen) + { + return false; + } + } + + decrypt(_packet); + _packet.wpos -= _padSize; + + // 上面的流程能保证wpos之后不会有多余的包 + // 如果有多余的包数据会放在_recvStream + if (reader != null) + { + reader.process(_packet.data(), (UInt32)_packet.rpos, _packet.length()); + } + + if (currLen > 0) + { + _packet.rpos = (int)currLen; + _packet.wpos = oldwpos; + } + else + { + _packet.clear(); + } + + _packLen = 0; + _padSize = 0; + } + + return true; + } + } +} + diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs.meta new file mode 100644 index 0000000..e5d83cf --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EncryptionFilter.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: 6b1a305ab4775d54ca617ed43bc62c22 +timeCreated: 1548849570 +licenseType: Free +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Entity.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs similarity index 95% rename from Assets/Plugins/kbengine_unity3d_plugins/Entity.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs index 8e0f98a..426cab8 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Entity.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs @@ -245,7 +245,7 @@ public void enterWorld() Dbg.ERROR_MSG(className + "::onEnterWorld: error=" + e.ToString()); } - Event.fireOut("onEnterWorld", new object[]{this}); + Event.fireOut(EventOutTypes.onEnterWorld, this); } public virtual void onEnterWorld() @@ -265,7 +265,7 @@ public void leaveWorld() Dbg.ERROR_MSG(className + "::onLeaveWorld: error=" + e.ToString()); } - Event.fireOut("onLeaveWorld", new object[]{this}); + Event.fireOut(EventOutTypes.onLeaveWorld, this); } public virtual void onLeaveWorld() @@ -285,11 +285,11 @@ public virtual void enterSpace() Dbg.ERROR_MSG(className + "::onEnterSpace: error=" + e.ToString()); } - Event.fireOut("onEnterSpace", new object[]{this}); + Event.fireOut(EventOutTypes.onEnterSpace, this); // 要立即刷新表现层对象的位置 - Event.fireOut("set_position", new object[]{this}); - Event.fireOut("set_direction", new object[]{this}); + Event.fireOut(EventOutTypes.set_position, this); + Event.fireOut(EventOutTypes.set_direction, this); } public virtual void onEnterSpace() @@ -309,7 +309,7 @@ public virtual void leaveSpace() Dbg.ERROR_MSG(className + "::onLeaveSpace: error=" + e.ToString()); } - Event.fireOut("onLeaveSpace", new object[]{this}); + Event.fireOut(EventOutTypes.onLeaveSpace, this); } public virtual void onLeaveSpace() @@ -324,7 +324,7 @@ public virtual void onPositionChanged(Vector3 oldValue) KBEngineApp.app.entityServerPos(position); if(inWorld) - Event.fireOut("set_position", new object[]{this}); + Event.fireOut(EventOutTypes.set_position, this); } public virtual void onUpdateVolatileData() @@ -340,7 +340,7 @@ public virtual void onDirectionChanged(Vector3 oldValue) direction.x = direction.x * 360 / ((float)System.Math.PI * 2); direction.y = direction.y * 360 / ((float)System.Math.PI * 2); direction.z = direction.z * 360 / ((float)System.Math.PI * 2); - Event.fireOut("set_direction", new object[]{this}); + Event.fireOut(EventOutTypes.set_direction, this); } else { diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Entity.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Entity.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs.meta index 9d9aade..4de9145 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Entity.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Entity.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: e2e6e7bcd3b3d12428f5ca1f3e77f559 -timeCreated: 1523691765 +guid: 67459fe5735c38e41b47c58b7c69d9eb +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCall.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCall.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCall.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCall.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCall.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCall.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCall.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCall.cs.meta index 829327f..3a57150 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCall.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCall.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 7b9a3cefdc2dace46884d80d260e177f -timeCreated: 1523691765 +guid: 9f4ba33aaa755ac458dd84f1099adf8f +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta index c29c1cd..9e55bac 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallAvatarBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: bfb85554b977ba844b77e1e0b5547c1a -timeCreated: 1523691765 +guid: e93ebb2c5c6707449aecf95e6811b41a +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta index f6d1c02..36a051e 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallFoodBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: a0675bc07fe44fd41a1b89b7e013276a -timeCreated: 1523691765 +guid: 731a52183e18d8243946f18d589b8fd3 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta index 4525946..cc0396e 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallHallsBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: bf9ae81d25e1e394baee5f90b6fce1b2 -timeCreated: 1523691765 +guid: 7abd23d2c36a12d4fa158c79e2e6f857 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta index cd45f83..30e9e62 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallRoomBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: ef71a860c82830c4faf4a8c12776f696 -timeCreated: 1523691765 +guid: 5fefe4633716d594da511d6497180b9e +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta index 9edf7d8..cb5cf99 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityCallSmashBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: e6d4b448d2f92a44486ac63062df6812 -timeCreated: 1523691765 +guid: 7f7a0e1e4b03b8b4d9efa2c39f7d1cd7 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs similarity index 99% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs index 1bb52d4..1c712be 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs @@ -226,6 +226,7 @@ public static void initScriptModules() //Dbg.DEBUG_MSG("EntityDef::initScriptModules: add(Avatar), property(state / 8)."); + pAvatarModule.useMethodDescrAlias = true; ScriptModule pFoodModule = new ScriptModule("Food"); EntityDef.moduledefs["Food"] = pFoodModule; EntityDef.idmoduledefs[4] = pFoodModule; @@ -288,6 +289,7 @@ public static void initScriptModules() //Dbg.DEBUG_MSG("EntityDef::initScriptModules: add(Food), property(modelID / 14)."); + pFoodModule.useMethodDescrAlias = true; ScriptModule pSmashModule = new ScriptModule("Smash"); EntityDef.moduledefs["Smash"] = pSmashModule; EntityDef.idmoduledefs[5] = pSmashModule; @@ -365,6 +367,7 @@ public static void initScriptModules() //Dbg.DEBUG_MSG("EntityDef::initScriptModules: add(Smash), property(modelScale / 16)."); + pSmashModule.useMethodDescrAlias = true; } public static void initDefTypes() @@ -546,7 +549,7 @@ public static void initDefTypes() } { - UInt16 utype = 10; + UInt16 utype = 20; string typeName = "ENTITYCALL"; string name = "ENTITYCALL"; DATATYPE_BASE val = null; diff --git a/Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs.meta index 81b8e95..8437dba 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/EntityDef.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/EntityDef.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 50849408a8401a74ca304f911d7cfb2b -timeCreated: 1523691765 +guid: f36d24f8ffad2fc45ba19d4877e8237e +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs new file mode 100644 index 0000000..fc0a0f8 --- /dev/null +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs @@ -0,0 +1,787 @@ +namespace KBEngine +{ + using UnityEngine; + using System; + using System.Collections; + using System.Collections.Generic; + using System.Threading; + + /// + /// KBE-Plugin fire-out events(KBE => Unity): + /// + public class EventOutTypes + { + // ------------------------------------连接相关------------------------------------ + /// + /// Kicked of the current server. + /// param1(uint16): retcode. // server_errors + /// + public const string onKicked = "onKicked"; + + /// + /// Disconnected from the server. + /// + public const string onDisconnected = "onDisconnected"; + + /// + /// Status of connection server. + /// param1(bool): success or fail + /// + public const string onConnectionState = "onConnectionState"; + + // ------------------------------------logon相关------------------------------------ + /// + /// Create account feedback results. + /// param1(uint16): retcode. // server_errors + /// param2(bytes): datas. // If you use third-party account system, the system may fill some of the third-party additional datas. + /// + public const string onCreateAccountResult = "onCreateAccountResult"; + + /// + /// Engine version mismatch. + /// param1(string): clientVersion + /// param2(string): serverVersion + /// + public const string onVersionNotMatch = "onVersionNotMatch"; + + /// + /// script version mismatch. + /// param1(string): clientScriptVersion + /// param2(string): serverScriptVersion + /// + public const string onScriptVersionNotMatch = "onScriptVersionNotMatch"; + + /// + /// Login failed. + /// param1(uint16): retcode. // server_errors + /// + public const string onLoginFailed = "onLoginFailed"; + + /// + /// Login to baseapp. + /// + public const string onLoginBaseapp = "onLoginBaseapp"; + + /// + /// Login baseapp failed. + /// param1(uint16): retcode. // server_errors + /// + public const string onLoginBaseappFailed = "onLoginBaseappFailed"; + + /// + /// Relogin to baseapp. + /// + public const string onReloginBaseapp = "onReloginBaseapp"; + + /// + /// Relogin baseapp success. + /// + public const string onReloginBaseappSuccessfully = "onReloginBaseappSuccessfully"; + + /// + /// Relogin baseapp failed. + /// param1(uint16): retcode. // server_errors + /// + public const string onReloginBaseappFailed = "onReloginBaseappFailed"; + + // ------------------------------------实体cell相关事件------------------------------------ + + /// + /// Entity enter the client-world. + /// param1: Entity + /// + public const string onEnterWorld = "onEnterWorld"; + + /// + /// Entity leave the client-world. + /// param1: Entity + /// + public const string onLeaveWorld = "onLeaveWorld"; + + /// + /// Player enter the new space. + /// param1: Entity + /// + public const string onEnterSpace = "onEnterSpace"; + + /// + /// Player leave the space. + /// param1: Entity + /// + public const string onLeaveSpace = "onLeaveSpace"; + + /// + /// Sets the current position of the entity. + /// param1: Entity + /// + public const string set_position = "set_position"; + + /// + /// Sets the current direction of the entity. + /// param1: Entity + /// + public const string set_direction = "set_direction"; + + /// + /// The entity position is updated, you can smooth the moving entity to new location. + /// param1: Entity + /// + public const string updatePosition = "updatePosition"; + + /// + /// The current space is specified by the geometry mapping. + /// Popular said is to load the specified Map Resources. + /// param1(string): resPath + /// + public const string addSpaceGeometryMapping = "addSpaceGeometryMapping"; + + /// + /// Server spaceData set data. + /// param1(int32): spaceID + /// param2(string): key + /// param3(string): value + /// + public const string onSetSpaceData = "onSetSpaceData"; + + /// + /// Start downloading data. + /// param1(int32): rspaceID + /// param2(string): key + /// + public const string onDelSpaceData = "onDelSpaceData"; + + /// + /// Triggered when the entity is controlled or out of control. + /// param1: Entity + /// param2(bool): isControlled + /// + public const string onControlled = "onControlled"; + + /// + /// Lose controlled entity. + /// param1: Entity + /// + public const string onLoseControlledEntity = "onLoseControlledEntity"; + + // ------------------------------------数据下载相关------------------------------------ + /// + /// Start downloading data. + /// param1(uint16): resouce id + /// param2(uint32): data size + /// param3(string): description + /// + public const string onStreamDataStarted = "onStreamDataStarted"; + + /// + /// Receive data. + /// param1(uint16): resouce id + /// param2(bytes): datas + /// + public const string onStreamDataRecv = "onStreamDataRecv"; + + /// + /// The downloaded data is completed. + /// param1(uint16): resouce id + /// + public const string onStreamDataCompleted = "onStreamDataCompleted"; + }; + + /// + /// KBE-Plugin fire-in events(Unity => KBE): + /// + public class EventInTypes + { + /// + /// Create new account. + /// param1(string): accountName + /// param2(string): password + /// param3(bytes): datas // Datas by user defined. Data will be recorded into the KBE account database, you can access the datas through the script layer. If you use third-party account system, datas will be submitted to the third-party system. + /// + public const string createAccount = "createAccount"; + + /// + /// Login to server. + /// param1(string): accountName + /// param2(string): password + /// param3(bytes): datas // Datas by user defined. Data will be recorded into the KBE account database, you can access the datas through the script layer. If you use third-party account system, datas will be submitted to the third-party system. + /// + public const string login = "login"; + + /// + /// Logout to baseapp, called when exiting the client. + /// + public const string logout = "logout"; + + /// + /// Relogin to baseapp. + /// + public const string reloginBaseapp = "reloginBaseapp"; + + /// + /// Reset password. + /// param1(string): accountName + /// + public const string resetPassword = "resetPassword"; + + /// + /// Request to set up a new password for the account. Note: account must be online. + /// param1(string): old_password + /// param2(string): new_password + /// + public const string newPassword = "newPassword"; + + /// + /// Request server binding account Email. + /// param1(string): emailAddress + /// + public const string bindAccountEmail = "bindAccountEmail"; + }; + + /// + /// 事件模块: KBEngine插件层与Unity3D表现层通过事件来交互,特别是在多线程模式下较方便 + /// + public class Event + { + public struct Pair + { + public object obj; + public string funcname; + public System.Reflection.MethodInfo method; + }; + + public struct EventObj + { + public Pair info; + public string eventname; + public object[] args; + }; + + static Dictionary> events_out = new Dictionary>(); + + public static bool outEventsImmediately = true; + + static LinkedList firedEvents_out = new LinkedList(); + static LinkedList doingEvents_out = new LinkedList(); + + static Dictionary> events_in = new Dictionary>(); + + static LinkedList firedEvents_in = new LinkedList(); + static LinkedList doingEvents_in = new LinkedList(); + + static bool _isPauseOut = false; + + public Event() + { + } + + public static void clear() + { + events_out.Clear(); + events_in.Clear(); + clearFiredEvents(); + } + + public static void clearFiredEvents() + { + monitor_Enter(events_out); + firedEvents_out.Clear(); + monitor_Exit(events_out); + + doingEvents_out.Clear(); + + monitor_Enter(events_in); + firedEvents_in.Clear(); + monitor_Exit(events_in); + + doingEvents_in.Clear(); + + _isPauseOut = false; + } + + public static void pause() + { + _isPauseOut = true; + } + + public static void resume() + { + _isPauseOut = false; + processOutEvents(); + } + + public static bool isPause() + { + return _isPauseOut; + } + + public static void monitor_Enter(object obj) + { + if(KBEngineApp.app == null) + return; + + Monitor.Enter(obj); + } + + public static void monitor_Exit(object obj) + { + if(KBEngineApp.app == null) + return; + + Monitor.Exit(obj); + } + + public static bool hasRegisterOut(string eventname) + { + return _hasRegister(events_out, eventname); + } + + public static bool hasRegisterIn(string eventname) + { + return _hasRegister(events_in, eventname); + } + + private static bool _hasRegister(Dictionary> events, string eventname) + { + bool has = false; + + monitor_Enter(events); + has = events.ContainsKey(eventname); + monitor_Exit(events); + + return has; + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, object obj, string funcname) + { + return register(events_out, eventname, obj, funcname); + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, Action handler) + { + return registerOut(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, Action handler) + { + return registerOut(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, Action handler) + { + return registerOut(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, Action handler) + { + return registerOut(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由kbe插件抛出的事件。(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static bool registerOut(string eventname, Action handler) + { + return registerOut(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, object obj, string funcname) + { + return register(events_in, eventname, obj, funcname); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, Action handler) + { + return registerIn(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, Action handler) + { + return registerIn(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, Action handler) + { + return registerIn(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, Action handler) + { + return registerIn(eventname, handler.Target, handler.Method.Name); + } + + /// + /// 注册监听由渲染表现层抛出的事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static bool registerIn(string eventname, Action handler) + { + return registerIn(eventname, handler.Target, handler.Method.Name); + } + + private static bool register(Dictionary> events, string eventname, object obj, string funcname) + { + deregister(events, eventname, obj, funcname); + List lst = null; + + Pair pair = new Pair(); + pair.obj = obj; + pair.funcname = funcname; + pair.method = obj.GetType().GetMethod(funcname); + + if(pair.method == null) + { + Dbg.ERROR_MSG("Event::register: " + obj + "not found method[" + funcname + "]"); + return false; + } + + monitor_Enter(events); + if(!events.TryGetValue(eventname, out lst)) + { + lst = new List(); + lst.Add(pair); + //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!"); + events.Add(eventname, lst); + monitor_Exit(events); + return true; + } + + //Dbg.DEBUG_MSG("Event::register: event(" + eventname + ")!"); + lst.Add(pair); + monitor_Exit(events); + return true; + } + + public static bool deregisterOut(string eventname, object obj, string funcname) + { + removeFiredEventOut(obj, eventname, funcname); + return deregister(events_out, eventname, obj, funcname); + } + + public static bool deregisterOut(string eventname, Action handler) + { + return deregisterOut(eventname, handler.Target, handler.Method.Name); + } + + public static bool deregisterIn(string eventname, object obj, string funcname) + { + removeFiredEventIn(obj, eventname, funcname); + return deregister(events_in, eventname, obj, funcname); + } + + public static bool deregisterIn(string eventname, Action handler) + { + return deregisterIn(eventname, handler.Target, handler.Method.Name); + } + + private static bool deregister(Dictionary> events, string eventname, object obj, string funcname) + { + monitor_Enter(events); + List lst = null; + + if(!events.TryGetValue(eventname, out lst)) + { + monitor_Exit(events); + return false; + } + + for(int i=0; i> events, object obj) + { + monitor_Enter(events); + + var iter = events.GetEnumerator(); + while (iter.MoveNext()) + { + List lst = iter.Current.Value; + // 从后往前遍历,以避免中途删除的问题 + for (int i = lst.Count - 1; i >= 0; i--) + { + if (obj == lst[i].obj) + { + //Dbg.DEBUG_MSG("Event::deregister: event(" + e.Key + ":" + lst[i].funcname + ")!"); + lst.RemoveAt(i); + } + } + } + + monitor_Exit(events); + return true; + } + + /// + /// kbe插件触发事件(out = kbe->render) + /// 通常由渲染表现层来注册, 例如:监听角色血量属性的变化, 如果UI层注册这个事件, + /// 事件触发后就可以根据事件所附带的当前血量值来改变角色头顶的血条值。 + /// + public static void fireOut(string eventname, params object[] args) + { + fire_(events_out, firedEvents_out, eventname, args, outEventsImmediately); + } + + /// + /// 渲染表现层抛出事件(in = render->kbe) + /// 通常由kbe插件层来注册, 例如:UI层点击登录, 此时需要触发一个事件给kbe插件层进行与服务端交互的处理。 + /// + public static void fireIn(string eventname, params object[] args) + { + fire_(events_in, firedEvents_in, eventname, args, false); + } + + /// + /// 触发kbe插件和渲染表现层都能够收到的事件 + /// + public static void fireAll(string eventname, params object[] args) + { + fire_(events_in, firedEvents_in, eventname, args, false); + fire_(events_out, firedEvents_out, eventname, args, false); + } + + private static void fire_(Dictionary> events, LinkedList firedEvents, string eventname, object[] args, bool eventsImmediately) + { + monitor_Enter(events); + List lst = null; + + if(!events.TryGetValue(eventname, out lst)) + { + //if(events == events_in) + // Dbg.WARNING_MSG("Event::fireIn: event(" + eventname + ") not found!"); + //else + // Dbg.WARNING_MSG("Event::fireOut: event(" + eventname + ") not found!"); + + monitor_Exit(events); + return; + } + + if(eventsImmediately && !_isPauseOut) + { + for(int i=0; i 0) + { + var iter = firedEvents_out.GetEnumerator(); + while (iter.MoveNext()) + { + doingEvents_out.AddLast(iter.Current); + } + + firedEvents_out.Clear(); + } + + monitor_Exit(events_out); + + while (doingEvents_out.Count > 0 && !_isPauseOut) + { + + EventObj eobj = doingEvents_out.First.Value; + + //Debug.Log("processOutEvents:" + eobj.info.funcname + "(" + eobj.info + ")"); + //foreach(object v in eobj.args) + //{ + // Debug.Log("processOutEvents:args=" + v); + //} + try + { + eobj.info.method.Invoke (eobj.info.obj, eobj.args); + } + catch (Exception e) + { + Dbg.ERROR_MSG("Event::processOutEvents: event=" + eobj.info.method.DeclaringType.FullName + "::" + eobj.info.funcname + "\n" + e.ToString()); + } + + if(doingEvents_out.Count > 0) + doingEvents_out.RemoveFirst(); + } + } + + public static void processInEvents() + { + monitor_Enter(events_in); + + if(firedEvents_in.Count > 0) + { + var iter = firedEvents_in.GetEnumerator(); + while (iter.MoveNext()) + { + doingEvents_in.AddLast(iter.Current); + } + + firedEvents_in.Clear(); + } + + monitor_Exit(events_in); + + while (doingEvents_in.Count > 0) + { + + EventObj eobj = doingEvents_in.First.Value; + + //Debug.Log("processInEvents:" + eobj.info.funcname + "(" + eobj.info + ")"); + //foreach(object v in eobj.args) + //{ + // Debug.Log("processInEvents:args=" + v); + //} + try + { + eobj.info.method.Invoke (eobj.info.obj, eobj.args); + } + catch (Exception e) + { + Dbg.ERROR_MSG("Event::processInEvents: event=" + eobj.info.method.DeclaringType.FullName + "::" + eobj.info.funcname + "\n" + e.ToString()); + } + + if(doingEvents_in.Count > 0) + doingEvents_in.RemoveFirst(); + } + } + + public static void removeAllFiredEventIn(object obj) + { + removeFiredEvent(firedEvents_in, obj); + } + + public static void removeAllFiredEventOut(object obj) + { + removeFiredEvent(firedEvents_out, obj); + } + + public static void removeFiredEventIn(object obj, string eventname, string funcname) + { + removeFiredEvent(firedEvents_in, obj, eventname, funcname); + } + + public static void removeFiredEventOut(object obj, string eventname, string funcname) + { + removeFiredEvent(firedEvents_out, obj, eventname, funcname); + } + + public static void removeFiredEvent(LinkedList firedEvents, object obj, string eventname="", string funcname="") + { + monitor_Enter(firedEvents); + + while(true) + { + bool found = false; + foreach(EventObj eobj in firedEvents) + { + if( ((eventname == "" && funcname == "") || (eventname == eobj.eventname && funcname == eobj.info.funcname)) + && eobj.info.obj == obj) + { + firedEvents.Remove(eobj); + found = true; + break; + } + } + + if (!found) + break; + } + + monitor_Exit(firedEvents); + } + + } +} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Event.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Event.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs.meta index 37081e7..624e131 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Event.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Event.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 0d4cc76b14cfe8845854fae956039609 -timeCreated: 1523691765 +guid: 49b3b12af27d70b4c933c0dfe9dcf512 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/FoodBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/FoodBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/FoodBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/FoodBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/FoodBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/FoodBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/FoodBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/FoodBase.cs.meta index 9a11b35..33bb3e1 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/FoodBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/FoodBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 6b4e396df9e36124fb23342e4df3a6d4 -timeCreated: 1523691765 +guid: f5d3765bc3fdbc249b55db3da01df66d +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/HallsBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/HallsBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/HallsBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/HallsBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/HallsBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/HallsBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/HallsBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/HallsBase.cs.meta index ca471f7..ce20a8d 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/HallsBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/HallsBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: c3e3ab18a170e6d46b43d2d863cbaa1f -timeCreated: 1523691765 +guid: 05de863c80d52fe48ad6df5721181643 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs similarity index 70% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs index 773948f..a57db45 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs @@ -18,14 +18,17 @@ public class KBEMain : MonoBehaviour public string ip = "127.0.0.1"; public int port = 20013; public KBEngineApp.CLIENT_TYPE clientType = KBEngineApp.CLIENT_TYPE.CLIENT_TYPE_MINI; - public bool syncPlayer = true; - public int threadUpdateHZ = 30; - public int serverHeartbeatTick = 15; + public KBEngineApp.NETWORK_ENCRYPT_TYPE networkEncryptType = KBEngineApp.NETWORK_ENCRYPT_TYPE.ENCRYPT_TYPE_NONE; + public int syncPlayerMS = 1000 / 30; + public int threadUpdateHZ = 30 * 2; + public int serverHeartbeatTick = 60; public int SEND_BUFFER_MAX = (int)KBEngine.NetworkInterface.TCP_PACKET_MAX; public int RECV_BUFFER_MAX = (int)KBEngine.NetworkInterface.TCP_PACKET_MAX; public bool useAliasEntityID = true; public bool isOnInitCallPropertysSetMethods = true; + public bool automaticallyUpdateSDK = true; + protected virtual void Awake() { DontDestroyOnLoad(transform.gameObject); @@ -41,8 +44,26 @@ protected virtual void Start () public virtual void installEvents() { + KBEngine.Event.registerOut(EventOutTypes.onVersionNotMatch, this, "onVersionNotMatch"); + KBEngine.Event.registerOut(EventOutTypes.onScriptVersionNotMatch, this, "onScriptVersionNotMatch"); } + public void onVersionNotMatch(string verInfo, string serVerInfo) + { +#if UNITY_EDITOR + if(automaticallyUpdateSDK) + gameObject.AddComponent(); +#endif + } + + public void onScriptVersionNotMatch(string verInfo, string serVerInfo) + { +#if UNITY_EDITOR + if(automaticallyUpdateSDK) + gameObject.AddComponent(); +#endif + } + public virtual void initKBEngine() { // 如果此处发生错误,请查看 Assets\Scripts\kbe_scripts\if_Entity_error_use______git_submodule_update_____kbengine_plugins_______open_this_file_and_I_will_tell_you.cs @@ -54,9 +75,10 @@ public virtual void initKBEngine() args.ip = ip; args.port = port; args.clientType = clientType; - args.syncPlayer = syncPlayer; + args.networkEncryptType = networkEncryptType; + args.syncPlayerMS = syncPlayerMS; args.threadUpdateHZ = threadUpdateHZ; - args.serverHeartbeatTick = serverHeartbeatTick; + args.serverHeartbeatTick = serverHeartbeatTick / 2; args.useAliasEntityID = useAliasEntityID; args.isOnInitCallPropertysSetMethods = isOnInitCallPropertysSetMethods; @@ -79,6 +101,7 @@ protected virtual void OnDestroy() KBEngineApp.app.destroy(); KBEngineApp.app = null; } + KBEngine.Event.clear(); MonoBehaviour.print("clientapp::OnDestroy(): end"); } diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs.meta index 5fce69b..f37ac8b 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEMain.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEMain.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 23d1f57bcdd25184f9d223ff620f0431 -timeCreated: 1523691765 +guid: cf771afb47f89e246b61a11306e99bb7 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBETypes.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBETypes.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/KBETypes.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBETypes.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBETypes.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBETypes.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/KBETypes.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBETypes.cs.meta index e7a3a69..a6c7c5b 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBETypes.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBETypes.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 13113a4ed3ce7d744afea1e7184060fd -timeCreated: 1523691765 +guid: 507808b98fd7b634baab4b598faa4e52 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs similarity index 74% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs index 284df03..351c9de 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs @@ -1,11 +1,11 @@ namespace KBEngine { - using UnityEngine; + using UnityEngine; using System; using System.Collections; using System.Collections.Generic; using System.Text; - using System.Threading; + using System.Threading; using System.Text.RegularExpressions; using MessageID = System.UInt16; @@ -16,22 +16,22 @@ 包括网络创建、持久化协议、entities的管理、以及引起对外可调用接口。 一些可以参考的地方: - http://www.kbengine.org/docs/programming/clientsdkprogramming.html - http://www.kbengine.org/docs/programming/kbe_message_format.html + http://kbengine.github.io/docs/programming/clientsdkprogramming.html + http://kbengine.github.io/docs/programming/kbe_message_format.html - http://www.kbengine.org/cn/docs/programming/clientsdkprogramming.html - http://www.kbengine.org/cn/docs/programming/kbe_message_format.html + http://kbengine.github.io/cn/docs/programming/clientsdkprogramming.html + http://kbengine.github.io/cn/docs/programming/kbe_message_format.html */ public class KBEngineApp { public static KBEngineApp app = null; private NetworkInterface _networkInterface = null; - - KBEngineArgs _args = null; - - // 客户端的类别 - // http://www.kbengine.org/docs/programming/clientsdkprogramming.html - // http://www.kbengine.org/cn/docs/programming/clientsdkprogramming.html + + KBEngineArgs _args = null; + + // 客户端的类别 + // http://kbengine.github.io/docs/programming/clientsdkprogramming.html + // http://kbengine.github.io/cn/docs/programming/clientsdkprogramming.html public enum CLIENT_TYPE { // Mobile(Phone, Pad) @@ -55,9 +55,19 @@ public enum CLIENT_TYPE // Mini-Client CLIENT_TYPE_MINI = 7, }; - - public string username = "kbengine"; - public string password = "123456"; + + //加密通信类型 + public enum NETWORK_ENCRYPT_TYPE + { + //无加密 + ENCRYPT_TYPE_NONE = 0, + + //Blowfish + ENCRYPT_TYPE_BLOWFISH = 1, + }; + + public string username = "kbengine"; + public string password = "123456"; // 服务端分配的baseapp地址 public string baseappIP = ""; @@ -77,11 +87,11 @@ public enum CLIENT_TYPE // 服务端与客户端的版本号以及协议MD5 public string serverVersion = ""; - public string clientVersion = "1.1.9"; + public string clientVersion = "1.2.11"; public string serverScriptVersion = ""; public string clientScriptVersion = "0.1.0"; - public string serverProtocolMD5 = "0BE897A78606CDC31C85C87ABFE3452B"; - public string serverEntitydefMD5 = "7F903387C45EFA0C3B4D254C93919F1B"; + public string serverProtocolMD5 = "826CF2AFFCA69CDC8A4ED8B345C55F24"; + public string serverEntitydefMD5 = "B62C823C4976A26783C35DF874B28FD1"; // 当前玩家的实体id与实体类别 public UInt64 entity_uuid = 0; @@ -112,6 +122,13 @@ public enum CLIENT_TYPE private System.DateTime _lastTickCBTime = System.DateTime.Now; private System.DateTime _lastUpdateToServerTime = System.DateTime.Now; + //上传玩家信息到服务器间隔,单位毫秒 + private float _updatePlayerToServerPeroid = 100.0f; + private const int _1MS_TO_100NS = 10000; + + //加密过滤器 + private EncryptionFilter _filter = null; + // 玩家当前所在空间的id, 以及空间对应的资源 public UInt32 spaceID = 0; public string spaceResPath = ""; @@ -120,44 +137,58 @@ public enum CLIENT_TYPE // 按照标准,每个客户端部分都应该包含这个属性 public const string component = "client"; - public KBEngineApp(KBEngineArgs args) - { + public KBEngineApp(KBEngineArgs args) + { if (app != null) throw new Exception("Only one instance of KBEngineApp!"); app = this; + Event.outEventsImmediately = !args.isMultiThreads; initialize(args); - } + } + + public static KBEngineApp getSingleton() + { + if(KBEngineApp.app == null) + { + throw new Exception("Please create KBEngineApp!"); + } + + return KBEngineApp.app; + } public virtual bool initialize(KBEngineArgs args) { _args = args; - + _updatePlayerToServerPeroid = (float)_args.syncPlayerMS; + EntityDef.init(); - initNetwork(); + initNetwork(); - // 注册事件 - installEvents(); + // 注册事件 + installEvents(); - return true; + return true; } void initNetwork() { + _filter = null; Messages.init(); - _networkInterface = new NetworkInterface(); + _networkInterface = new NetworkInterface(); } void installEvents() { - Event.registerIn("createAccount", this, "createAccount"); - Event.registerIn("login", this, "login"); - Event.registerIn("reloginBaseapp", this, "reloginBaseapp"); - Event.registerIn("resetPassword", this, "resetPassword"); - Event.registerIn("bindAccountEmail", this, "bindAccountEmail"); - Event.registerIn("newPassword", this, "newPassword"); + Event.registerIn(EventInTypes.createAccount, this, "createAccount"); + Event.registerIn(EventInTypes.login, this, "login"); + Event.registerIn(EventInTypes.logout, this, "logout"); + Event.registerIn(EventInTypes.reloginBaseapp, this, "reloginBaseapp"); + Event.registerIn(EventInTypes.resetPassword, this, "resetPassword"); + Event.registerIn(EventInTypes.bindAccountEmail, this, "bindAccountEmail"); + Event.registerIn(EventInTypes.newPassword, this, "newPassword"); // 内部事件 Event.registerIn("_closeNetwork", this, "_closeNetwork"); @@ -168,42 +199,45 @@ public KBEngineArgs getInitArgs() return _args; } - public virtual void destroy() - { - Dbg.WARNING_MSG("KBEngine::destroy()"); - - reset(); - KBEngine.Event.deregisterIn(this); - resetMessages(); - - KBEngineApp.app = null; - } - - public NetworkInterface networkInterface() - { - return _networkInterface; - } - - public byte[] serverdatas() - { - return _serverdatas; - } - - public void entityServerPos(Vector3 pos) - { - _entityServerPos = pos; - } - - public void resetMessages() - { + public virtual void destroy() + { + Dbg.WARNING_MSG("KBEngine::destroy()"); + + if(currserver == "baseapp") + logout(); + + reset(); + KBEngine.Event.deregisterIn(this); + resetMessages(); + + KBEngineApp.app = null; + } + + public NetworkInterface networkInterface() + { + return _networkInterface; + } + + public byte[] serverdatas() + { + return _serverdatas; + } + + public void entityServerPos(Vector3 pos) + { + _entityServerPos = pos; + } + + public void resetMessages() + { _serverErrs.Clear(); Messages.clear(); EntityDef.reset(); Entity.clear(); Dbg.DEBUG_MSG("KBEngine::resetMessages()"); - } - + } + public virtual void reset() { KBEngine.Event.clearFiredEvents(); @@ -234,6 +268,7 @@ public virtual void reset() if (_networkInterface != null) _networkInterface.reset(); + _filter = null; _networkInterface = new NetworkInterface(); _spacedatas.Clear(); @@ -351,7 +386,16 @@ public void hello() bundle.newMessage(Messages.messages["Loginapp_hello"]); else bundle.newMessage(Messages.messages["Baseapp_hello"]); - + + _filter = null; + + if (_args.networkEncryptType == NETWORK_ENCRYPT_TYPE.ENCRYPT_TYPE_BLOWFISH) + { + _filter = new BlowfishFilter(); + _encryptedKey = ((BlowfishFilter)_filter).key(); + _networkInterface.setFilter(null); + } + bundle.writeString(clientVersion); bundle.writeString(clientScriptVersion); bundle.writeBlob(_encryptedKey); @@ -363,16 +407,44 @@ public void hello() */ public void Client_onHelloCB(MemoryStream stream) { - serverVersion = stream.readString(); + string str_serverVersion = stream.readString(); serverScriptVersion = stream.readString(); - serverProtocolMD5 = stream.readString(); - serverEntitydefMD5 = stream.readString(); + string currentServerProtocolMD5 = stream.readString(); + string currentServerEntitydefMD5 = stream.readString(); Int32 ctype = stream.readInt32(); - Dbg.DEBUG_MSG("KBEngine::Client_onHelloCB: verInfo(" + serverVersion + Dbg.DEBUG_MSG("KBEngine::Client_onHelloCB: verInfo(" + str_serverVersion + "), scriptVersion("+ serverScriptVersion + "), srvProtocolMD5("+ serverProtocolMD5 + "), srvEntitydefMD5("+ serverEntitydefMD5 + "), + ctype(" + ctype + ")!"); + if(str_serverVersion != "Getting") + { + serverVersion = str_serverVersion; + + /* + if(serverProtocolMD5 != currentServerProtocolMD5) + { + Dbg.ERROR_MSG("Client_onHelloCB: digest not match! serverProtocolMD5=" + serverProtocolMD5 + "(server: " + currentServerProtocolMD5 + ")"); + Event.fireAll(EventOutTypes.onVersionNotMatch, clientVersion, serverVersion); + return; + } + */ + + if (serverEntitydefMD5 != currentServerEntitydefMD5) + { + Dbg.ERROR_MSG("Client_onHelloCB: digest not match! serverEntitydefMD5=" + serverEntitydefMD5 + "(server: " + currentServerEntitydefMD5 + ")"); + Event.fireAll(EventOutTypes.onVersionNotMatch, clientVersion, serverVersion); + return; + } + } + + if (_args.networkEncryptType == NETWORK_ENCRYPT_TYPE.ENCRYPT_TYPE_BLOWFISH) + { + _networkInterface.setFilter(_filter); + _filter = null; + } + + onServerDigest(); if(currserver == "baseapp") @@ -409,6 +481,23 @@ public void Client_onImportClientEntityDef(MemoryStream stream) // 无需实现,已由插件生成静态代码 } + public void Client_onImportClientSDK(MemoryStream stream) + { + int remainingFiles = 0; + remainingFiles = stream.readInt32(); + + string fileName; + fileName = stream.readString(); + + int fileSize = 0; + fileSize = stream.readInt32(); + + byte[] fileDatas = new byte[0]; + fileDatas = stream.readBlob(); + + Event.fireIn("onImportClientSDK", remainingFiles, fileName, fileSize, fileDatas); + } + /* 引擎版本不匹配 */ @@ -417,7 +506,7 @@ public void Client_onVersionNotMatch(MemoryStream stream) serverVersion = stream.readString(); Dbg.ERROR_MSG("Client_onVersionNotMatch: verInfo=" + clientVersion + "(server: " + serverVersion + ")"); - Event.fireAll("onVersionNotMatch", new object[]{clientVersion, serverVersion}); + Event.fireAll(EventOutTypes.onVersionNotMatch, clientVersion, serverVersion); } /* @@ -428,7 +517,7 @@ public void Client_onScriptVersionNotMatch(MemoryStream stream) serverScriptVersion = stream.readString(); Dbg.ERROR_MSG("Client_onScriptVersionNotMatch: verInfo=" + clientScriptVersion + "(server: " + serverScriptVersion + ")"); - Event.fireAll("onScriptVersionNotMatch", new object[]{clientScriptVersion, serverScriptVersion}); + Event.fireAll(EventOutTypes.onScriptVersionNotMatch, clientScriptVersion, serverScriptVersion); } /* @@ -436,8 +525,8 @@ public void Client_onScriptVersionNotMatch(MemoryStream stream) */ public void Client_onKicked(UInt16 failedcode) { - Dbg.DEBUG_MSG("Client_onKicked: failedcode=" + failedcode); - Event.fireAll("onKicked", new object[]{failedcode}); + Dbg.DEBUG_MSG("Client_onKicked: failedcode=" + failedcode + "(" + serverErr(failedcode) + ")"); + Event.fireAll(EventOutTypes.onKicked, failedcode); } /* @@ -481,14 +570,14 @@ private void onConnectTo_loginapp_callback(string ip, int port, bool success, ob if(!success) { - Dbg.ERROR_MSG(string.Format("KBEngine::login_loginapp(): connect {0}:{1} is error!", ip, port)); + Dbg.ERROR_MSG(string.Format("KBEngine::login_loginapp(): connect {0}:{1} error!", ip, port)); return; } currserver = "loginapp"; currstate = "login"; - Dbg.DEBUG_MSG(string.Format("KBEngine::login_loginapp(): connect {0}:{1} is success!", ip, port)); + Dbg.DEBUG_MSG(string.Format("KBEngine::login_loginapp(): connect {0}:{1} success!", ip, port)); hello(); } @@ -506,7 +595,7 @@ public void login_baseapp(bool noconnect) { if(noconnect) { - Event.fireOut("onLoginBaseapp", new object[]{}); + Event.fireOut(EventOutTypes.onLoginBaseapp); _networkInterface.reset(); _networkInterface = new NetworkInterface(); @@ -528,14 +617,14 @@ private void onConnectTo_baseapp_callback(string ip, int port, bool success, obj if(!success) { - Dbg.ERROR_MSG(string.Format("KBEngine::login_baseapp(): connect {0}:{1} is error!", ip, port)); + Dbg.ERROR_MSG(string.Format("KBEngine::login_baseapp(): connect {0}:{1} error!", ip, port)); return; } currserver = "baseapp"; currstate = ""; - Dbg.DEBUG_MSG(string.Format("KBEngine::login_baseapp(): connect {0}:{1} is successfully!", ip, port)); + Dbg.DEBUG_MSG(string.Format("KBEngine::login_baseapp(): connect {0}:{1} success!", ip, port)); hello(); } @@ -551,11 +640,14 @@ private void onLogin_baseapp() 一些移动类应用容易掉线,可以使用该功能快速的重新与服务端建立通信 */ public void reloginBaseapp() - { + { + _lastTickTime = System.DateTime.Now; + _lastTickCBTime = System.DateTime.Now; + if(_networkInterface.valid()) return; - Event.fireAll("onReloginBaseapp", new object[]{}); + Event.fireAll(EventOutTypes.onReloginBaseapp); _networkInterface.connectTo(baseappIP, baseappPort, onReConnectTo_baseapp_callback, null); } @@ -563,12 +655,11 @@ private void onReConnectTo_baseapp_callback(string ip, int port, bool success, o { if(!success) { - Dbg.ERROR_MSG(string.Format("KBEngine::reloginBaseapp(): connect {0}:{1} is error!", ip, port)); + Dbg.ERROR_MSG(string.Format("KBEngine::reloginBaseapp(): connect {0}:{1} error!", ip, port)); return; } - - Dbg.DEBUG_MSG(string.Format("KBEngine::relogin_baseapp(): connect {0}:{1} is successfully!", ip, port)); + Dbg.DEBUG_MSG(string.Format("KBEngine::relogin_baseapp(): connect {0}:{1} success!", ip, port)); Bundle bundle = Bundle.createObject(); bundle.newMessage(Messages.messages["Baseapp_reloginBaseapp"]); @@ -581,6 +672,18 @@ private void onReConnectTo_baseapp_callback(string ip, int port, bool success, o _lastTickCBTime = System.DateTime.Now; } + /* + 登出baseapp + */ + public void logout() + { + Bundle bundle = Bundle.createObject(); + bundle.newMessage(Messages.messages["Baseapp_logoutBaseapp"]); + bundle.writeUint64(entity_uuid); + bundle.writeInt32(entity_id); + bundle.send(_networkInterface); + } + /* 通过错误id得到错误描述 */ @@ -633,11 +736,11 @@ private void onConnectTo_resetpassword_callback(string ip, int port, bool succes if(!success) { - Dbg.ERROR_MSG(string.Format("KBEngine::resetpassword_loginapp(): connect {0}:{1} is error!", ip, port)); + Dbg.ERROR_MSG(string.Format("KBEngine::resetpassword_loginapp(): connect {0}:{1} error!", ip, port)); return; } - Dbg.DEBUG_MSG(string.Format("KBEngine::resetpassword_loginapp(): connect {0}:{1} is success!", ip, port)); + Dbg.DEBUG_MSG(string.Format("KBEngine::resetpassword_loginapp(): connect {0}:{1} success!", ip, port)); onOpenLoginapp_resetpassword(); } @@ -645,11 +748,11 @@ public void Client_onReqAccountResetPasswordCB(UInt16 failcode) { if(failcode != 0) { - Dbg.ERROR_MSG("KBEngine::Client_onReqAccountResetPasswordCB: " + username + " is failed! code=" + failcode + "!"); + Dbg.ERROR_MSG("KBEngine::Client_onReqAccountResetPasswordCB: " + username + " failed! code=" + failcode + "(" + serverErr(failcode) + ")!"); return; } - Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountResetPasswordCB: " + username + " is successfully!"); + Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountResetPasswordCB: " + username + " success!"); } /* @@ -669,11 +772,11 @@ public void Client_onReqAccountBindEmailCB(UInt16 failcode) { if(failcode != 0) { - Dbg.ERROR_MSG("KBEngine::Client_onReqAccountBindEmailCB: " + username + " is failed! code=" + failcode + "!"); + Dbg.ERROR_MSG("KBEngine::Client_onReqAccountBindEmailCB: " + username + " failed! code=" + failcode + "(" + serverErr(failcode) + ")!"); return; } - Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountBindEmailCB: " + username + " is successfully!"); + Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountBindEmailCB: " + username + " success!"); } /* @@ -693,11 +796,11 @@ public void Client_onReqAccountNewPasswordCB(UInt16 failcode) { if(failcode != 0) { - Dbg.ERROR_MSG("KBEngine::Client_onReqAccountNewPasswordCB: " + username + " is failed! code=" + failcode + "!"); + Dbg.ERROR_MSG("KBEngine::Client_onReqAccountNewPasswordCB: " + username + " failed! code=" + failcode + "(" + serverErr(failcode) + ")!"); return; } - Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountNewPasswordCB: " + username + " is successfully!"); + Dbg.DEBUG_MSG("KBEngine::Client_onReqAccountNewPasswordCB: " + username + " success!"); } public void createAccount(string username, string password, byte[] datas) @@ -746,11 +849,11 @@ private void onConnectTo_createAccount_callback(string ip, int port, bool succes if(!success) { - Dbg.ERROR_MSG(string.Format("KBEngine::createAccount_loginapp(): connect {0}:{1} is error!", ip, port)); + Dbg.ERROR_MSG(string.Format("KBEngine::createAccount_loginapp(): connect {0}:{1} error!", ip, port)); return; } - Dbg.DEBUG_MSG(string.Format("KBEngine::createAccount_loginapp(): connect {0}:{1} is success!", ip, port)); + Dbg.DEBUG_MSG(string.Format("KBEngine::createAccount_loginapp(): connect {0}:{1} success!", ip, port)); onOpenLoginapp_createAccount(); } @@ -768,8 +871,8 @@ public void Client_onLoginFailed(MemoryStream stream) { UInt16 failedcode = stream.readUint16(); _serverdatas = stream.readBlob(); - Dbg.ERROR_MSG("KBEngine::Client_onLoginFailed: failedcode(" + failedcode + "), datas(" + _serverdatas.Length + ")!"); - Event.fireAll("onLoginFailed", new object[]{failedcode}); + Dbg.ERROR_MSG("KBEngine::Client_onLoginFailed: failedcode(" + failedcode + ":" + serverErr(failedcode) + "), datas(" + _serverdatas.Length + ")!"); + Event.fireAll(EventOutTypes.onLoginFailed, failedcode); } /* @@ -781,11 +884,11 @@ public void Client_onLoginSuccessfully(MemoryStream stream) username = accountName; baseappIP = stream.readString(); baseappPort = stream.readUint16(); + _serverdatas = stream.readBlob(); Dbg.DEBUG_MSG("KBEngine::Client_onLoginSuccessfully: accountName(" + accountName + "), addr(" + baseappIP + ":" + baseappPort + "), datas(" + _serverdatas.Length + ")!"); - - _serverdatas = stream.readBlob(); + login_baseapp(true); } @@ -794,8 +897,8 @@ public void Client_onLoginSuccessfully(MemoryStream stream) */ public void Client_onLoginBaseappFailed(UInt16 failedcode) { - Dbg.ERROR_MSG("KBEngine::Client_onLoginBaseappFailed: failedcode(" + failedcode + ")!"); - Event.fireAll("onLoginBaseappFailed", new object[]{failedcode}); + Dbg.ERROR_MSG("KBEngine::Client_onLoginBaseappFailed: failedcode=" + failedcode + "("+ serverErr(failedcode) + ")!"); + Event.fireAll(EventOutTypes.onLoginBaseappFailed, failedcode); } /* @@ -803,8 +906,8 @@ public void Client_onLoginBaseappFailed(UInt16 failedcode) */ public void Client_onReloginBaseappFailed(UInt16 failedcode) { - Dbg.ERROR_MSG("KBEngine::Client_onReloginBaseappFailed: failedcode(" + failedcode + ")!"); - Event.fireAll("onReloginBaseappFailed", new object[]{failedcode}); + Dbg.ERROR_MSG("KBEngine::Client_onReloginBaseappFailed: failedcode=" + failedcode + "(" + serverErr(failedcode) + ")!"); + Event.fireAll(EventOutTypes.onReloginBaseappFailed, failedcode); } /* @@ -814,7 +917,7 @@ public void Client_onReloginBaseappSuccessfully(MemoryStream stream) { entity_uuid = stream.readUint64(); Dbg.DEBUG_MSG("KBEngine::Client_onReloginBaseappSuccessfully: name(" + username + ")!"); - Event.fireAll("onReloginBaseappSuccessfully", new object[]{}); + Event.fireAll(EventOutTypes.onReloginBaseappSuccessfully); } /* @@ -977,7 +1080,7 @@ public void onUpdatePropertys_(Int32 eid, MemoryStream stream) Property propertydata = pdatas[utype]; entity.onUpdatePropertys(propertydata, stream); - // Dbg.DEBUG_MSG("KBEngine::Client_onUpdatePropertys: " + entity.className + "(id=" + eid + " " + + // Dbg.DEBUG_MSG("KBEngine::Client_onUpdatePropertys: " + entity.className + "(id=" + eid + " " + // propertydata.name + "=" + val + "), hasSetMethod=" + setmethod + "!"); } } @@ -1024,11 +1127,11 @@ public void onRemoteMethodCall_(Int32 eid, MemoryStream stream) { methoddata = sm.idmethods[methodUtype]; } - catch (Exception e) - { + catch (Exception e) + { Dbg.ERROR_MSG("KBEngine::Client_onRemoteMethodCall: " + entity.className + "(" + eid + "), methodUtype(" + methodUtype + ")!\nerror=" + e.ToString()); return; - } + } // Dbg.DEBUG_MSG("KBEngine::Client_onRemoteMethodCall: " + entity.className + "." + methoddata.name); @@ -1162,7 +1265,7 @@ public void Client_onEntityLeaveWorld(Int32 eid) else { if(_controlledEntities.Remove(entity)) - Event.fireOut("onLoseControlledEntity", new object[]{entity}); + Event.fireOut(EventOutTypes.onLoseControlledEntity, entity); entities.Remove(eid); entity.onDestroy(); @@ -1221,7 +1324,7 @@ public void Client_onCreateAccountResult(MemoryStream stream) UInt16 retcode = stream.readUint16(); byte[] datas = stream.readBlob(); - Event.fireOut("onCreateAccountResult", new object[]{retcode, datas}); + Event.fireOut(EventOutTypes.onCreateAccountResult, retcode, datas); if(retcode != 0) { @@ -1265,7 +1368,7 @@ public void Client_onControlEntity(Int32 eid, sbyte isControlled) try { entity.onControlled(isCont); - Event.fireOut("onControlled", new object[]{entity, isCont}); + Event.fireOut(EventOutTypes.onControlled, entity, isCont); } catch (Exception e) { @@ -1274,11 +1377,11 @@ public void Client_onControlEntity(Int32 eid, sbyte isControlled) } /* - 更新当前玩家的位置与朝向到服务端, 可以通过开关_syncPlayer关闭这个机制 + 更新当前玩家的位置与朝向到服务端, 可以通过开关_syncPlayerMS关闭这个机制 */ public void updatePlayerToServer() { - if(!_args.syncPlayer || spaceID == 0) + if(_updatePlayerToServerPeroid <= 0.01f || spaceID == 0) { return; } @@ -1286,14 +1389,14 @@ public void updatePlayerToServer() var now = DateTime.Now; TimeSpan span = now - _lastUpdateToServerTime; - if (span.Ticks < 1000000) + if (span.Ticks < _updatePlayerToServerPeroid * _1MS_TO_100NS) return; Entity playerEntity = player(); if (playerEntity == null || playerEntity.inWorld == false || playerEntity.isControlled) return; - _lastUpdateToServerTime = now - (span - TimeSpan.FromTicks(1000000)); + _lastUpdateToServerTime = now - (span - TimeSpan.FromTicks(Convert.ToInt64(_updatePlayerToServerPeroid * _1MS_TO_100NS))); Vector3 position = playerEntity.position; Vector3 direction = playerEntity.direction; @@ -1393,7 +1496,7 @@ public void addSpaceGeometryMapping(UInt32 uspaceID, string respath) isLoadedGeometry = true; spaceID = uspaceID; spaceResPath = respath; - Event.fireOut("addSpaceGeometryMapping", new object[]{spaceResPath}); + Event.fireOut(EventOutTypes.addSpaceGeometryMapping, spaceResPath); } public void clearSpace(bool isall) @@ -1421,7 +1524,7 @@ public void clearEntities(bool isall) if(dic.Value.inWorld) dic.Value.leaveWorld(); - dic.Value.onDestroy(); + dic.Value.onDestroy(); } entities.Clear(); @@ -1434,7 +1537,7 @@ public void clearEntities(bool isall) if(dic.Value.inWorld) dic.Value.leaveWorld(); - dic.Value.onDestroy(); + dic.Value.onDestroy(); } entities.Clear(); @@ -1470,7 +1573,7 @@ public void Client_setSpaceData(UInt32 spaceID, string key, string value) if(key == "_mapping") addSpaceGeometryMapping(spaceID, value); - Event.fireOut("onSetSpaceData", new object[]{spaceID, key, value}); + Event.fireOut(EventOutTypes.onSetSpaceData, spaceID, key, value); } /* @@ -1480,7 +1583,7 @@ public void Client_delSpaceData(UInt32 spaceID, string key) { Dbg.DEBUG_MSG("KBEngine::Client_delSpaceData: spaceID(" + spaceID + "), key(" + key + ")"); _spacedatas.Remove(key); - Event.fireOut("onDelSpaceData", new object[]{spaceID, key}); + Event.fireOut(EventOutTypes.onDelSpaceData, spaceID, key); } public string getSpaceData(string key) @@ -1519,7 +1622,7 @@ public void Client_onEntityDestroyed(Int32 eid) } if(_controlledEntities.Remove(entity)) - Event.fireOut("onLoseControlledEntity", new object[]{entity}); + Event.fireOut(EventOutTypes.onLoseControlledEntity, entity); entities.Remove(eid); entity.onDestroy(); @@ -1538,7 +1641,7 @@ public void Client_onUpdateBasePos(float x, float y, float z) if (entity != null && entity.isControlled) { entity.position.Set(_entityServerPos.x, _entityServerPos.y, _entityServerPos.z); - Event.fireOut("updatePosition", new object[]{entity}); + Event.fireOut(EventOutTypes.updatePosition, entity); entity.onUpdateVolatileData(); } } @@ -1553,7 +1656,7 @@ public void Client_onUpdateBasePosXZ(float x, float z) { entity.position.x = _entityServerPos.x; entity.position.z = _entityServerPos.z; - Event.fireOut("updatePosition", new object[]{entity}); + Event.fireOut(EventOutTypes.updatePosition, entity); entity.onUpdateVolatileData(); } } @@ -1569,7 +1672,7 @@ public void Client_onUpdateBaseDir(MemoryStream stream) if (entity != null && entity.isControlled) { entity.direction.Set(roll, pitch, yaw); - Event.fireOut("set_direction", new object[]{entity}); + Event.fireOut(EventOutTypes.set_direction, entity); entity.onUpdateVolatileData(); } } @@ -1622,258 +1725,532 @@ public void Client_onSetEntityPosAndDir(MemoryStream stream) public void Client_onUpdateData_ypr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float y = stream.readFloat(); + float p = stream.readFloat(); + float r = stream.readFloat(); - SByte y = stream.readInt8(); - SByte p = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, r, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, r, -1, false); } public void Client_onUpdateData_yp(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float y = stream.readFloat(); + float p = stream.readFloat(); - SByte y = stream.readInt8(); - SByte p = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, KBEMath.KBE_FLT_MAX, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, KBEMath.KBE_FLT_MAX, -1, false); } public void Client_onUpdateData_yr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float y = stream.readFloat(); + float r = stream.readFloat(); - SByte y = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, r, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, r, -1, false); } public void Client_onUpdateData_pr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float p = stream.readFloat(); + float r = stream.readFloat(); - SByte p = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, r, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, r, -1, false); } public void Client_onUpdateData_y(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float y = stream.readFloat(); - SByte y = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, -1, false); } public void Client_onUpdateData_p(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - SByte p = stream.readInt8(); + float p = stream.readFloat(); - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, -1, false); } public void Client_onUpdateData_r(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float r = stream.readFloat(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, -1); + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, -1, false); } public void Client_onUpdateData_xz(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - - Vector2 xz = stream.readPackXZ(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1, false); } public void Client_onUpdateData_xz_ypr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float y = stream.readFloat(); + float p = stream.readFloat(); + float r = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte y = stream.readInt8(); - SByte p = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, p, r, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, y, p, r, 1, false); } public void Client_onUpdateData_xz_yp(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float y = stream.readFloat(); + float p = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte y = stream.readInt8(); - SByte p = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, p, KBEMath.KBE_FLT_MAX, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, y, p, KBEMath.KBE_FLT_MAX, 1, false); } public void Client_onUpdateData_xz_yr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float y = stream.readFloat(); + float r = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte y = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, KBEMath.KBE_FLT_MAX, r, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, y, KBEMath.KBE_FLT_MAX, r, 1, false); } public void Client_onUpdateData_xz_pr(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float p = stream.readFloat(); + float r = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte p = stream.readInt8(); - SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, p, r, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, KBEMath.KBE_FLT_MAX, p, r, 1, false); } public void Client_onUpdateData_xz_y(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - Vector2 xz = stream.readPackXZ(); - SByte yaw = stream.readInt8(); - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float yaw = stream.readFloat(); + + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1, false); } public void Client_onUpdateData_xz_p(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float p = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte p = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 1, false); } public void Client_onUpdateData_xz_r(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float z = stream.readFloat(); + + float r = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - - SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 1); + _updateVolatileData(eid, x, KBEMath.KBE_FLT_MAX, z, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 1, false); } public void Client_onUpdateData_xyz(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0, false); + } + + public void Client_onUpdateData_xyz_ypr(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float yaw = stream.readFloat(); + float p = stream.readFloat(); + float r = stream.readFloat(); - Vector2 xz = stream.readPackXZ(); - float y = stream.readPackY(); + _updateVolatileData(eid, x, y, z, yaw, p, r, 0, false); + } + + public void Client_onUpdateData_xyz_yp(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float yaw = stream.readFloat(); + float p = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, yaw, p, KBEMath.KBE_FLT_MAX, 0, false); + } + + public void Client_onUpdateData_xyz_yr(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float yaw = stream.readFloat(); + float r = stream.readFloat(); - _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0); + _updateVolatileData(eid, x, y, z, yaw, KBEMath.KBE_FLT_MAX, r, 0, false); } - public void Client_onUpdateData_xyz_ypr(MemoryStream stream) + public void Client_onUpdateData_xyz_pr(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float p = stream.readFloat(); + float r = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, KBEMath.KBE_FLT_MAX, p, r, 0, false); + } + + public void Client_onUpdateData_xyz_y(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float yaw = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0, false); + } + + public void Client_onUpdateData_xyz_p(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float p = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 0, false); + } + + public void Client_onUpdateData_xyz_r(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); + float x = stream.readFloat(); + float y = stream.readFloat(); + float z = stream.readFloat(); + + float r = stream.readFloat(); + + _updateVolatileData(eid, x, y, z, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 0, false); + } + + public void Client_onUpdateData_ypr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte y = stream.readInt8(); + SByte p = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, r, -1, true); + } + + public void Client_onUpdateData_yp_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte y = stream.readInt8(); + SByte p = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, p, KBEMath.KBE_FLT_MAX, -1, true); + } + + public void Client_onUpdateData_yr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte y = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, r, -1, true); + } + + public void Client_onUpdateData_pr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte p = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, r, -1, true); + } + + public void Client_onUpdateData_y_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte y = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, y, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, -1, true); + } + + public void Client_onUpdateData_p_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte p = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, -1, true); + } + + public void Client_onUpdateData_r_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + SByte r = stream.readInt8(); + + _updateVolatileData(eid, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, -1, true); + } + + public void Client_onUpdateData_xz_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1, true); + } + + public void Client_onUpdateData_xz_ypr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte y = stream.readInt8(); + SByte p = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, p, r, 1, true); + } + + public void Client_onUpdateData_xz_yp_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte y = stream.readInt8(); + SByte p = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, p, KBEMath.KBE_FLT_MAX, 1, true); + } + + public void Client_onUpdateData_xz_yr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte y = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], y, KBEMath.KBE_FLT_MAX, r, 1, true); + } + + public void Client_onUpdateData_xz_pr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte p = stream.readInt8(); + SByte r = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, p, r, 1, true); + } + + public void Client_onUpdateData_xz_y_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + Vector2 xz = stream.readPackXZ(); + SByte yaw = stream.readInt8(); + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 1, true); + } + + public void Client_onUpdateData_xz_p_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte p = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 1, true); + } + + public void Client_onUpdateData_xz_r_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + + SByte r = stream.readInt8(); + + _updateVolatileData(eid, xz[0], KBEMath.KBE_FLT_MAX, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 1, true); + } + + public void Client_onUpdateData_xyz_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + + _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0, true); + } + + public void Client_onUpdateData_xyz_ypr_optimized(MemoryStream stream) + { + Int32 eid = getViewEntityIDFromStream(stream); + + Vector2 xz = stream.readPackXZ(); + float y = stream.readPackY(); + SByte yaw = stream.readInt8(); SByte p = stream.readInt8(); SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], y, xz[1], yaw, p, r, 0); + + _updateVolatileData(eid, xz[0], y, xz[1], yaw, p, r, 0, true); } - - public void Client_onUpdateData_xyz_yp(MemoryStream stream) + + public void Client_onUpdateData_xyz_yp_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte yaw = stream.readInt8(); SByte p = stream.readInt8(); - _updateVolatileData(eid, xz[0], y, xz[1], yaw, p, KBEMath.KBE_FLT_MAX, 0); + _updateVolatileData(eid, xz[0], y, xz[1], yaw, p, KBEMath.KBE_FLT_MAX, 0, true); } - - public void Client_onUpdateData_xyz_yr(MemoryStream stream) + + public void Client_onUpdateData_xyz_yr_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte yaw = stream.readInt8(); SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], y, xz[1], yaw, KBEMath.KBE_FLT_MAX, r, 0); + + _updateVolatileData(eid, xz[0], y, xz[1], yaw, KBEMath.KBE_FLT_MAX, r, 0, true); } - - public void Client_onUpdateData_xyz_pr(MemoryStream stream) + + public void Client_onUpdateData_xyz_pr_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte p = stream.readInt8(); SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, p, r, 0); + + _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, p, r, 0, true); } - - public void Client_onUpdateData_xyz_y(MemoryStream stream) + + public void Client_onUpdateData_xyz_y_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte yaw = stream.readInt8(); - _updateVolatileData(eid, xz[0], y, xz[1], yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0); + _updateVolatileData(eid, xz[0], y, xz[1], yaw, KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, 0, true); } - - public void Client_onUpdateData_xyz_p(MemoryStream stream) + + public void Client_onUpdateData_xyz_p_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte p = stream.readInt8(); - - _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 0); + + _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, p, KBEMath.KBE_FLT_MAX, 0, true); } - - public void Client_onUpdateData_xyz_r(MemoryStream stream) + + public void Client_onUpdateData_xyz_r_optimized(MemoryStream stream) { Int32 eid = getViewEntityIDFromStream(stream); - + Vector2 xz = stream.readPackXZ(); float y = stream.readPackY(); - + SByte r = stream.readInt8(); - - _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 0); + + _updateVolatileData(eid, xz[0], y, xz[1], KBEMath.KBE_FLT_MAX, KBEMath.KBE_FLT_MAX, r, 0, true); } - - private void _updateVolatileData(Int32 entityID, float x, float y, float z, float yaw, float pitch, float roll, sbyte isOnGround) + + private void _updateVolatileData(Int32 entityID, float x, float y, float z, float yaw, float pitch, float roll, sbyte isOnGround, bool isOptimized) { Entity entity = null; @@ -1915,22 +2292,22 @@ private void _updateVolatileData(Int32 entityID, float x, float y, float z, floa bool done = false; if(changeDirection == true) { - Event.fireOut("set_direction", new object[]{entity}); + Event.fireOut(EventOutTypes.set_direction, entity); done = true; } - bool positionChanged = x != KBEMath.KBE_FLT_MAX || y != KBEMath.KBE_FLT_MAX || z != KBEMath.KBE_FLT_MAX; - if (x == KBEMath.KBE_FLT_MAX) x = 0.0f; - if (y == KBEMath.KBE_FLT_MAX) y = 0.0f; - if (z == KBEMath.KBE_FLT_MAX) z = 0.0f; - + bool positionChanged = x != KBEMath.KBE_FLT_MAX || y != KBEMath.KBE_FLT_MAX || z != KBEMath.KBE_FLT_MAX; + if (x == KBEMath.KBE_FLT_MAX) x = 0.0f; + if (y == KBEMath.KBE_FLT_MAX) y = 0.0f; + if (z == KBEMath.KBE_FLT_MAX) z = 0.0f; + if(positionChanged) { - Vector3 pos = new Vector3(x + _entityServerPos.x, y + _entityServerPos.y, z + _entityServerPos.z); - + Vector3 pos = isOptimized ? new Vector3(x + _entityServerPos.x, y + _entityServerPos.y, z + _entityServerPos.z) : new Vector3(x, y, z); + entity.position = pos; done = true; - Event.fireOut("updatePosition", new object[]{entity}); + Event.fireOut(EventOutTypes.updatePosition, entity); } if(done) @@ -1943,16 +2320,19 @@ private void _updateVolatileData(Int32 entityID, float x, float y, float z, floa */ public void Client_onStreamDataStarted(Int16 id, UInt32 datasize, string descr) { + Event.fireOut(EventOutTypes.onStreamDataStarted, id, datasize, descr); } public void Client_onStreamDataRecv(MemoryStream stream) { - // Int16 resID = stream.readInt16(); - // byte[] datas = stream.readBlob(); + Int16 resID = stream.readInt16(); + byte[] datas = stream.readBlob(); + Event.fireOut(EventOutTypes.onStreamDataRecv, resID, datas); } public void Client_onStreamDataCompleted(Int16 id) { + Event.fireOut(EventOutTypes.onStreamDataCompleted, id); } } @@ -1962,36 +2342,36 @@ public class KBEngineAppThread : KBEngineApp /* KBEngine处理线程 */ - public class KBEThread - { + public class KBEThread + { - KBEngineApp app_; + KBEngineApp app_; public bool over = false; - public KBEThread(KBEngineApp app) - { - this.app_ = app; - } + public KBEThread(KBEngineApp app) + { + this.app_ = app; + } - public void run() - { + public void run() + { Dbg.INFO_MSG("KBEThread::run()"); over = false; - try - { - this.app_.process(); - } - catch (Exception e) - { - Dbg.ERROR_MSG(e.ToString()); - } + try + { + this.app_.process(); + } + catch (Exception e) + { + Dbg.ERROR_MSG(e.ToString()); + } over = true; Dbg.INFO_MSG("KBEThread::end()"); - } - } - + } + } + private Thread _t = null; public KBEThread kbethread = null; @@ -2064,7 +2444,7 @@ void _thread_wait() { TimeSpan span = DateTime.Now - _lasttime; - int diff = (int)(threadUpdatePeriod - span.Milliseconds); + int diff = (int)(threadUpdatePeriod - span.TotalMilliseconds); if(diff < 0) diff = 0; diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs.meta index 0951f29..0b35f96 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEngine.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngine.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 9771e78f837069c4d9bf221480ad0dff -timeCreated: 1523691765 +guid: 75a6fe17b8df57a4391175507a348f4b +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs similarity index 82% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs index bb8fe57..1bc091f 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs @@ -14,13 +14,16 @@ public class KBEngineArgs public int port = 20013; // 客户端类型 - // Reference: http://www.kbengine.org/docs/programming/clientsdkprogramming.html, client types + // Reference: http://kbengine.github.io/docs/programming/clientsdkprogramming.html, client types public KBEngineApp.CLIENT_TYPE clientType = KBEngineApp.CLIENT_TYPE.CLIENT_TYPE_MINI; + + //加密通信类型 + public KBEngineApp.NETWORK_ENCRYPT_TYPE networkEncryptType = KBEngineApp.NETWORK_ENCRYPT_TYPE.ENCRYPT_TYPE_NONE; // Allow synchronization role position information to the server - // 是否开启自动同步玩家信息到服务端,信息包括位置与方向 + // 是否开启自动同步玩家信息到服务端,信息包括位置与方向,毫秒 // 非高实时类游戏不需要开放这个选项 - public bool syncPlayer = true; + public int syncPlayerMS = 100; // 是否使用别名机制 // 这个参数的选择必须与kbengine_defs.xml::cellapp/aliasEntityID的参数保持一致 diff --git a/Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta index 8684ae6..2d439b5 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/KBEngineArgs.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 99cd477e780a4504b94382be88f06bf3 -timeCreated: 1523691765 +guid: 9b65e59d53ff06c4c9dee6e2e5d17561 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Math.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Math.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/Math.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Math.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Math.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Math.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Math.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Math.cs.meta index fa31930..6904034 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Math.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Math.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 47fce40c31afb484e99ee07aef28f78b -timeCreated: 1523691765 +guid: 6bbada05985f05b4ea7952061c28ab82 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs similarity index 88% rename from Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs index 87abf9b..8c7742c 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs @@ -36,6 +36,26 @@ struct PackFloatXType public Int32 iv; } + + public byte[] setBuffer(byte[] buffer) + { + byte[] outBuf = datas_; + datas_ = buffer; + return outBuf; + } + + public void swap(MemoryStream stream) + { + int t_rpos = rpos; + int t_wpos = wpos; + rpos = stream.rpos; + wpos = stream.wpos; + stream.rpos = t_rpos; + stream.wpos = t_wpos; + + datas_ = stream.setBuffer(datas_); + } + /// /// 把自己放回缓冲池 /// @@ -139,19 +159,37 @@ public byte[] readBlob() return buf; } + public byte[] readEntitycall() + { + readUint64(); + readInt32(); + readUint16(); + readUint16(); + return new byte[0]; + } + public Vector2 readVector2() { - return new Vector2(readFloat(), readFloat()); + float x = readFloat(); + float y = readFloat(); + return new Vector2(x, y); } public Vector3 readVector3() { - return new Vector3(readFloat(), readFloat(), readFloat()); + float x = readFloat(); + float y = readFloat(); + float z = readFloat(); + return new Vector3(x, y, z); } public Vector4 readVector4() { - return new Vector4(readFloat(), readFloat(), readFloat(), readFloat()); + float x = readFloat(); + float y = readFloat(); + float z = readFloat(); + float w = readFloat(); + return new Vector4(x, y, z, w); } public byte[] readPython() @@ -333,6 +371,19 @@ public void writeVector4(Vector4 v) writeFloat(v.w); } + public void writeEntitycall(byte[] v) + { + UInt64 cid = 0; + Int32 id = 0; + UInt16 type = 0; + UInt16 utype = 0; + + writeUint64(cid); + writeInt32(id); + writeUint16(type); + writeUint16(utype); + } + //--------------------------------------------------------------------------------- public void append(byte[] datas, UInt32 offset, UInt32 size) { diff --git a/Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta index 9db0107..4720622 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MemoryStream.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 07758943fe60d3747a71e9c1c3103c7e -timeCreated: 1523691765 +guid: 85f4a41f30fc8714aa9fa55e25a80833 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/MessageReader.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MessageReader.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/MessageReader.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MessageReader.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/MessageReader.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MessageReader.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/MessageReader.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MessageReader.cs.meta index cfadd80..bb6657c 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/MessageReader.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/MessageReader.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: cc0352cd088ce0b49bd481c854e9c376 -timeCreated: 1523691765 +guid: bb0a8efe58549244080ee367cf91bf75 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Messages.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs similarity index 70% rename from Assets/Plugins/kbengine_unity3d_plugins/Messages.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs index 47629d0..65de5dc 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Messages.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs @@ -526,6 +526,351 @@ public override void handleMessage(MemoryStream msgstream) } } + public class Message_Client_onUpdateData_ypr_optimized : Message + { + + public Message_Client_onUpdateData_ypr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_ypr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_yp_optimized : Message + { + + public Message_Client_onUpdateData_yp_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_yp_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_yr_optimized : Message + { + + public Message_Client_onUpdateData_yr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_yr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_pr_optimized : Message + { + + public Message_Client_onUpdateData_pr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_pr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_y_optimized : Message + { + + public Message_Client_onUpdateData_y_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_y_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_p_optimized : Message + { + + public Message_Client_onUpdateData_p_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_p_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_r_optimized : Message + { + + public Message_Client_onUpdateData_r_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_r_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_optimized : Message + { + + public Message_Client_onUpdateData_xz_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_ypr_optimized : Message + { + + public Message_Client_onUpdateData_xz_ypr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_ypr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_yp_optimized : Message + { + + public Message_Client_onUpdateData_xz_yp_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_yp_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_yr_optimized : Message + { + + public Message_Client_onUpdateData_xz_yr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_yr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_pr_optimized : Message + { + + public Message_Client_onUpdateData_xz_pr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_pr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_y_optimized : Message + { + + public Message_Client_onUpdateData_xz_y_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_y_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_p_optimized : Message + { + + public Message_Client_onUpdateData_xz_p_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_p_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xz_r_optimized : Message + { + + public Message_Client_onUpdateData_xz_r_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xz_r_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_optimized : Message + { + + public Message_Client_onUpdateData_xyz_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_ypr_optimized : Message + { + + public Message_Client_onUpdateData_xyz_ypr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_ypr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_yp_optimized : Message + { + + public Message_Client_onUpdateData_xyz_yp_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_yp_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_yr_optimized : Message + { + + public Message_Client_onUpdateData_xyz_yr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_yr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_pr_optimized : Message + { + + public Message_Client_onUpdateData_xyz_pr_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_pr_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_y_optimized : Message + { + + public Message_Client_onUpdateData_xyz_y_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_y_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_p_optimized : Message + { + + public Message_Client_onUpdateData_xyz_p_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_p_optimized(msgstream); + } + } + + public class Message_Client_onUpdateData_xyz_r_optimized : Message + { + + public Message_Client_onUpdateData_xyz_r_optimized(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onUpdateData_xyz_r_optimized(msgstream); + } + } + public class Message_Client_onImportServerErrorsDescr : Message { @@ -541,6 +886,21 @@ public override void handleMessage(MemoryStream msgstream) } } + public class Message_Client_onImportClientSDK : Message + { + + public Message_Client_onImportClientSDK(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + KBEngineApp.app.Client_onImportClientSDK(msgstream); + } + } + public class Message_Client_initSpaceData : Message { @@ -1083,6 +1443,20 @@ public override void handleMessage(MemoryStream msgstream) } } + public class Message_Loginapp_importClientSDK : Message + { + + public Message_Loginapp_importClientSDK(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + } + } + public class Message_Loginapp_importServerErrorsDescr : Message { @@ -1125,6 +1499,20 @@ public override void handleMessage(MemoryStream msgstream) } } + public class Message_Baseapp_logoutBaseapp : Message + { + + public Message_Baseapp_logoutBaseapp(MessageID msgid, string msgname, Int16 length, sbyte argstype, List msgargtypes): + base(msgid, msgname, length, argstype, msgargtypes) + { + + } + + public override void handleMessage(MemoryStream msgstream) + { + } + } + public class Message_Baseapp_onUpdateDataFromClient : Message { @@ -1330,155 +1718,227 @@ public static bool init() List Client_onReloginBaseappFailed_argstypes = new List(); Client_onReloginBaseappFailed_argstypes.Add(3); - Messages.messages["Client_onReloginBaseappFailed"] = new Message_Client_onReloginBaseappFailed(7, "Client_onReloginBaseappFailed", 2, 0, Client_onReloginBaseappFailed_argstypes); - Messages.clientMessages[7] = Messages.messages["Client_onReloginBaseappFailed"]; + Messages.messages["Client_onReloginBaseappFailed"] = new Message_Client_onReloginBaseappFailed(8, "Client_onReloginBaseappFailed", 2, 0, Client_onReloginBaseappFailed_argstypes); + Messages.clientMessages[8] = Messages.messages["Client_onReloginBaseappFailed"]; - Messages.messages["Client_onEntityLeaveWorldOptimized"] = new Message_Client_onEntityLeaveWorldOptimized(8, "Client_onEntityLeaveWorldOptimized", -1, -1, new List()); - Messages.clientMessages[8] = Messages.messages["Client_onEntityLeaveWorldOptimized"]; + Messages.messages["Client_onEntityLeaveWorldOptimized"] = new Message_Client_onEntityLeaveWorldOptimized(9, "Client_onEntityLeaveWorldOptimized", -1, -1, new List()); + Messages.clientMessages[9] = Messages.messages["Client_onEntityLeaveWorldOptimized"]; - Messages.messages["Client_onRemoteMethodCallOptimized"] = new Message_Client_onRemoteMethodCallOptimized(9, "Client_onRemoteMethodCallOptimized", -1, -1, new List()); - Messages.clientMessages[9] = Messages.messages["Client_onRemoteMethodCallOptimized"]; + Messages.messages["Client_onRemoteMethodCallOptimized"] = new Message_Client_onRemoteMethodCallOptimized(10, "Client_onRemoteMethodCallOptimized", -1, -1, new List()); + Messages.clientMessages[10] = Messages.messages["Client_onRemoteMethodCallOptimized"]; - Messages.messages["Client_onUpdatePropertysOptimized"] = new Message_Client_onUpdatePropertysOptimized(10, "Client_onUpdatePropertysOptimized", -1, -1, new List()); - Messages.clientMessages[10] = Messages.messages["Client_onUpdatePropertysOptimized"]; + Messages.messages["Client_onUpdatePropertysOptimized"] = new Message_Client_onUpdatePropertysOptimized(11, "Client_onUpdatePropertysOptimized", -1, -1, new List()); + Messages.clientMessages[11] = Messages.messages["Client_onUpdatePropertysOptimized"]; - Messages.messages["Client_onSetEntityPosAndDir"] = new Message_Client_onSetEntityPosAndDir(11, "Client_onSetEntityPosAndDir", -1, -1, new List()); - Messages.clientMessages[11] = Messages.messages["Client_onSetEntityPosAndDir"]; + Messages.messages["Client_onSetEntityPosAndDir"] = new Message_Client_onSetEntityPosAndDir(12, "Client_onSetEntityPosAndDir", -1, -1, new List()); + Messages.clientMessages[12] = Messages.messages["Client_onSetEntityPosAndDir"]; List Client_onUpdateBasePos_argstypes = new List(); Client_onUpdateBasePos_argstypes.Add(13); Client_onUpdateBasePos_argstypes.Add(13); Client_onUpdateBasePos_argstypes.Add(13); - Messages.messages["Client_onUpdateBasePos"] = new Message_Client_onUpdateBasePos(12, "Client_onUpdateBasePos", 12, 0, Client_onUpdateBasePos_argstypes); - Messages.clientMessages[12] = Messages.messages["Client_onUpdateBasePos"]; + Messages.messages["Client_onUpdateBasePos"] = new Message_Client_onUpdateBasePos(13, "Client_onUpdateBasePos", 12, 0, Client_onUpdateBasePos_argstypes); + Messages.clientMessages[13] = Messages.messages["Client_onUpdateBasePos"]; - Messages.messages["Client_onUpdateBaseDir"] = new Message_Client_onUpdateBaseDir(13, "Client_onUpdateBaseDir", -1, -1, new List()); - Messages.clientMessages[13] = Messages.messages["Client_onUpdateBaseDir"]; + Messages.messages["Client_onUpdateBaseDir"] = new Message_Client_onUpdateBaseDir(14, "Client_onUpdateBaseDir", -1, -1, new List()); + Messages.clientMessages[14] = Messages.messages["Client_onUpdateBaseDir"]; List Client_onUpdateBasePosXZ_argstypes = new List(); Client_onUpdateBasePosXZ_argstypes.Add(13); Client_onUpdateBasePosXZ_argstypes.Add(13); - Messages.messages["Client_onUpdateBasePosXZ"] = new Message_Client_onUpdateBasePosXZ(14, "Client_onUpdateBasePosXZ", 8, 0, Client_onUpdateBasePosXZ_argstypes); - Messages.clientMessages[14] = Messages.messages["Client_onUpdateBasePosXZ"]; + Messages.messages["Client_onUpdateBasePosXZ"] = new Message_Client_onUpdateBasePosXZ(15, "Client_onUpdateBasePosXZ", 8, 0, Client_onUpdateBasePosXZ_argstypes); + Messages.clientMessages[15] = Messages.messages["Client_onUpdateBasePosXZ"]; + + Messages.messages["Client_onUpdateData"] = new Message_Client_onUpdateData(16, "Client_onUpdateData", -1, -1, new List()); + Messages.clientMessages[16] = Messages.messages["Client_onUpdateData"]; + + Messages.messages["Client_onUpdateData_ypr"] = new Message_Client_onUpdateData_ypr(17, "Client_onUpdateData_ypr", -1, -1, new List()); + Messages.clientMessages[17] = Messages.messages["Client_onUpdateData_ypr"]; + + Messages.messages["Client_onUpdateData_yp"] = new Message_Client_onUpdateData_yp(18, "Client_onUpdateData_yp", -1, -1, new List()); + Messages.clientMessages[18] = Messages.messages["Client_onUpdateData_yp"]; + + Messages.messages["Client_onUpdateData_yr"] = new Message_Client_onUpdateData_yr(19, "Client_onUpdateData_yr", -1, -1, new List()); + Messages.clientMessages[19] = Messages.messages["Client_onUpdateData_yr"]; + + Messages.messages["Client_onUpdateData_pr"] = new Message_Client_onUpdateData_pr(20, "Client_onUpdateData_pr", -1, -1, new List()); + Messages.clientMessages[20] = Messages.messages["Client_onUpdateData_pr"]; + + Messages.messages["Client_onUpdateData_y"] = new Message_Client_onUpdateData_y(21, "Client_onUpdateData_y", -1, -1, new List()); + Messages.clientMessages[21] = Messages.messages["Client_onUpdateData_y"]; - Messages.messages["Client_onUpdateData"] = new Message_Client_onUpdateData(15, "Client_onUpdateData", -1, -1, new List()); - Messages.clientMessages[15] = Messages.messages["Client_onUpdateData"]; + Messages.messages["Client_onUpdateData_p"] = new Message_Client_onUpdateData_p(22, "Client_onUpdateData_p", -1, -1, new List()); + Messages.clientMessages[22] = Messages.messages["Client_onUpdateData_p"]; - Messages.messages["Client_onUpdateData_ypr"] = new Message_Client_onUpdateData_ypr(16, "Client_onUpdateData_ypr", -1, -1, new List()); - Messages.clientMessages[16] = Messages.messages["Client_onUpdateData_ypr"]; + Messages.messages["Client_onUpdateData_r"] = new Message_Client_onUpdateData_r(23, "Client_onUpdateData_r", -1, -1, new List()); + Messages.clientMessages[23] = Messages.messages["Client_onUpdateData_r"]; - Messages.messages["Client_onUpdateData_yp"] = new Message_Client_onUpdateData_yp(17, "Client_onUpdateData_yp", -1, -1, new List()); - Messages.clientMessages[17] = Messages.messages["Client_onUpdateData_yp"]; + Messages.messages["Client_onUpdateData_xz"] = new Message_Client_onUpdateData_xz(24, "Client_onUpdateData_xz", -1, -1, new List()); + Messages.clientMessages[24] = Messages.messages["Client_onUpdateData_xz"]; - Messages.messages["Client_onUpdateData_yr"] = new Message_Client_onUpdateData_yr(18, "Client_onUpdateData_yr", -1, -1, new List()); - Messages.clientMessages[18] = Messages.messages["Client_onUpdateData_yr"]; + Messages.messages["Client_onUpdateData_xz_ypr"] = new Message_Client_onUpdateData_xz_ypr(25, "Client_onUpdateData_xz_ypr", -1, -1, new List()); + Messages.clientMessages[25] = Messages.messages["Client_onUpdateData_xz_ypr"]; - Messages.messages["Client_onUpdateData_pr"] = new Message_Client_onUpdateData_pr(19, "Client_onUpdateData_pr", -1, -1, new List()); - Messages.clientMessages[19] = Messages.messages["Client_onUpdateData_pr"]; + Messages.messages["Client_onUpdateData_xz_yp"] = new Message_Client_onUpdateData_xz_yp(26, "Client_onUpdateData_xz_yp", -1, -1, new List()); + Messages.clientMessages[26] = Messages.messages["Client_onUpdateData_xz_yp"]; - Messages.messages["Client_onUpdateData_y"] = new Message_Client_onUpdateData_y(20, "Client_onUpdateData_y", -1, -1, new List()); - Messages.clientMessages[20] = Messages.messages["Client_onUpdateData_y"]; + Messages.messages["Client_onUpdateData_xz_yr"] = new Message_Client_onUpdateData_xz_yr(27, "Client_onUpdateData_xz_yr", -1, -1, new List()); + Messages.clientMessages[27] = Messages.messages["Client_onUpdateData_xz_yr"]; - Messages.messages["Client_onUpdateData_p"] = new Message_Client_onUpdateData_p(21, "Client_onUpdateData_p", -1, -1, new List()); - Messages.clientMessages[21] = Messages.messages["Client_onUpdateData_p"]; + Messages.messages["Client_onUpdateData_xz_pr"] = new Message_Client_onUpdateData_xz_pr(28, "Client_onUpdateData_xz_pr", -1, -1, new List()); + Messages.clientMessages[28] = Messages.messages["Client_onUpdateData_xz_pr"]; - Messages.messages["Client_onUpdateData_r"] = new Message_Client_onUpdateData_r(22, "Client_onUpdateData_r", -1, -1, new List()); - Messages.clientMessages[22] = Messages.messages["Client_onUpdateData_r"]; + Messages.messages["Client_onUpdateData_xz_y"] = new Message_Client_onUpdateData_xz_y(29, "Client_onUpdateData_xz_y", -1, -1, new List()); + Messages.clientMessages[29] = Messages.messages["Client_onUpdateData_xz_y"]; - Messages.messages["Client_onUpdateData_xz"] = new Message_Client_onUpdateData_xz(23, "Client_onUpdateData_xz", -1, -1, new List()); - Messages.clientMessages[23] = Messages.messages["Client_onUpdateData_xz"]; + Messages.messages["Client_onUpdateData_xz_p"] = new Message_Client_onUpdateData_xz_p(30, "Client_onUpdateData_xz_p", -1, -1, new List()); + Messages.clientMessages[30] = Messages.messages["Client_onUpdateData_xz_p"]; - Messages.messages["Client_onUpdateData_xz_ypr"] = new Message_Client_onUpdateData_xz_ypr(24, "Client_onUpdateData_xz_ypr", -1, -1, new List()); - Messages.clientMessages[24] = Messages.messages["Client_onUpdateData_xz_ypr"]; + Messages.messages["Client_onUpdateData_xz_r"] = new Message_Client_onUpdateData_xz_r(31, "Client_onUpdateData_xz_r", -1, -1, new List()); + Messages.clientMessages[31] = Messages.messages["Client_onUpdateData_xz_r"]; - Messages.messages["Client_onUpdateData_xz_yp"] = new Message_Client_onUpdateData_xz_yp(25, "Client_onUpdateData_xz_yp", -1, -1, new List()); - Messages.clientMessages[25] = Messages.messages["Client_onUpdateData_xz_yp"]; + Messages.messages["Client_onUpdateData_xyz"] = new Message_Client_onUpdateData_xyz(32, "Client_onUpdateData_xyz", -1, -1, new List()); + Messages.clientMessages[32] = Messages.messages["Client_onUpdateData_xyz"]; - Messages.messages["Client_onUpdateData_xz_yr"] = new Message_Client_onUpdateData_xz_yr(26, "Client_onUpdateData_xz_yr", -1, -1, new List()); - Messages.clientMessages[26] = Messages.messages["Client_onUpdateData_xz_yr"]; + Messages.messages["Client_onUpdateData_xyz_ypr"] = new Message_Client_onUpdateData_xyz_ypr(33, "Client_onUpdateData_xyz_ypr", -1, -1, new List()); + Messages.clientMessages[33] = Messages.messages["Client_onUpdateData_xyz_ypr"]; - Messages.messages["Client_onUpdateData_xz_pr"] = new Message_Client_onUpdateData_xz_pr(27, "Client_onUpdateData_xz_pr", -1, -1, new List()); - Messages.clientMessages[27] = Messages.messages["Client_onUpdateData_xz_pr"]; + Messages.messages["Client_onUpdateData_xyz_yp"] = new Message_Client_onUpdateData_xyz_yp(34, "Client_onUpdateData_xyz_yp", -1, -1, new List()); + Messages.clientMessages[34] = Messages.messages["Client_onUpdateData_xyz_yp"]; - Messages.messages["Client_onUpdateData_xz_y"] = new Message_Client_onUpdateData_xz_y(28, "Client_onUpdateData_xz_y", -1, -1, new List()); - Messages.clientMessages[28] = Messages.messages["Client_onUpdateData_xz_y"]; + Messages.messages["Client_onUpdateData_xyz_yr"] = new Message_Client_onUpdateData_xyz_yr(35, "Client_onUpdateData_xyz_yr", -1, -1, new List()); + Messages.clientMessages[35] = Messages.messages["Client_onUpdateData_xyz_yr"]; - Messages.messages["Client_onUpdateData_xz_p"] = new Message_Client_onUpdateData_xz_p(29, "Client_onUpdateData_xz_p", -1, -1, new List()); - Messages.clientMessages[29] = Messages.messages["Client_onUpdateData_xz_p"]; + Messages.messages["Client_onUpdateData_xyz_pr"] = new Message_Client_onUpdateData_xyz_pr(36, "Client_onUpdateData_xyz_pr", -1, -1, new List()); + Messages.clientMessages[36] = Messages.messages["Client_onUpdateData_xyz_pr"]; - Messages.messages["Client_onUpdateData_xz_r"] = new Message_Client_onUpdateData_xz_r(30, "Client_onUpdateData_xz_r", -1, -1, new List()); - Messages.clientMessages[30] = Messages.messages["Client_onUpdateData_xz_r"]; + Messages.messages["Client_onUpdateData_xyz_y"] = new Message_Client_onUpdateData_xyz_y(37, "Client_onUpdateData_xyz_y", -1, -1, new List()); + Messages.clientMessages[37] = Messages.messages["Client_onUpdateData_xyz_y"]; - Messages.messages["Client_onUpdateData_xyz"] = new Message_Client_onUpdateData_xyz(31, "Client_onUpdateData_xyz", -1, -1, new List()); - Messages.clientMessages[31] = Messages.messages["Client_onUpdateData_xyz"]; + Messages.messages["Client_onUpdateData_xyz_p"] = new Message_Client_onUpdateData_xyz_p(38, "Client_onUpdateData_xyz_p", -1, -1, new List()); + Messages.clientMessages[38] = Messages.messages["Client_onUpdateData_xyz_p"]; - Messages.messages["Client_onUpdateData_xyz_ypr"] = new Message_Client_onUpdateData_xyz_ypr(32, "Client_onUpdateData_xyz_ypr", -1, -1, new List()); - Messages.clientMessages[32] = Messages.messages["Client_onUpdateData_xyz_ypr"]; + Messages.messages["Client_onUpdateData_xyz_r"] = new Message_Client_onUpdateData_xyz_r(39, "Client_onUpdateData_xyz_r", -1, -1, new List()); + Messages.clientMessages[39] = Messages.messages["Client_onUpdateData_xyz_r"]; - Messages.messages["Client_onUpdateData_xyz_yp"] = new Message_Client_onUpdateData_xyz_yp(33, "Client_onUpdateData_xyz_yp", -1, -1, new List()); - Messages.clientMessages[33] = Messages.messages["Client_onUpdateData_xyz_yp"]; + Messages.messages["Client_onUpdateData_ypr_optimized"] = new Message_Client_onUpdateData_ypr_optimized(40, "Client_onUpdateData_ypr_optimized", -1, -1, new List()); + Messages.clientMessages[40] = Messages.messages["Client_onUpdateData_ypr_optimized"]; - Messages.messages["Client_onUpdateData_xyz_yr"] = new Message_Client_onUpdateData_xyz_yr(34, "Client_onUpdateData_xyz_yr", -1, -1, new List()); - Messages.clientMessages[34] = Messages.messages["Client_onUpdateData_xyz_yr"]; + Messages.messages["Client_onUpdateData_yp_optimized"] = new Message_Client_onUpdateData_yp_optimized(41, "Client_onUpdateData_yp_optimized", -1, -1, new List()); + Messages.clientMessages[41] = Messages.messages["Client_onUpdateData_yp_optimized"]; - Messages.messages["Client_onUpdateData_xyz_pr"] = new Message_Client_onUpdateData_xyz_pr(35, "Client_onUpdateData_xyz_pr", -1, -1, new List()); - Messages.clientMessages[35] = Messages.messages["Client_onUpdateData_xyz_pr"]; + Messages.messages["Client_onUpdateData_yr_optimized"] = new Message_Client_onUpdateData_yr_optimized(42, "Client_onUpdateData_yr_optimized", -1, -1, new List()); + Messages.clientMessages[42] = Messages.messages["Client_onUpdateData_yr_optimized"]; - Messages.messages["Client_onUpdateData_xyz_y"] = new Message_Client_onUpdateData_xyz_y(36, "Client_onUpdateData_xyz_y", -1, -1, new List()); - Messages.clientMessages[36] = Messages.messages["Client_onUpdateData_xyz_y"]; + Messages.messages["Client_onUpdateData_pr_optimized"] = new Message_Client_onUpdateData_pr_optimized(43, "Client_onUpdateData_pr_optimized", -1, -1, new List()); + Messages.clientMessages[43] = Messages.messages["Client_onUpdateData_pr_optimized"]; - Messages.messages["Client_onUpdateData_xyz_p"] = new Message_Client_onUpdateData_xyz_p(37, "Client_onUpdateData_xyz_p", -1, -1, new List()); - Messages.clientMessages[37] = Messages.messages["Client_onUpdateData_xyz_p"]; + Messages.messages["Client_onUpdateData_y_optimized"] = new Message_Client_onUpdateData_y_optimized(44, "Client_onUpdateData_y_optimized", -1, -1, new List()); + Messages.clientMessages[44] = Messages.messages["Client_onUpdateData_y_optimized"]; - Messages.messages["Client_onUpdateData_xyz_r"] = new Message_Client_onUpdateData_xyz_r(38, "Client_onUpdateData_xyz_r", -1, -1, new List()); - Messages.clientMessages[38] = Messages.messages["Client_onUpdateData_xyz_r"]; + Messages.messages["Client_onUpdateData_p_optimized"] = new Message_Client_onUpdateData_p_optimized(45, "Client_onUpdateData_p_optimized", -1, -1, new List()); + Messages.clientMessages[45] = Messages.messages["Client_onUpdateData_p_optimized"]; - Messages.messages["Client_onImportServerErrorsDescr"] = new Message_Client_onImportServerErrorsDescr(39, "Client_onImportServerErrorsDescr", -1, -1, new List()); - Messages.clientMessages[39] = Messages.messages["Client_onImportServerErrorsDescr"]; + Messages.messages["Client_onUpdateData_r_optimized"] = new Message_Client_onUpdateData_r_optimized(46, "Client_onUpdateData_r_optimized", -1, -1, new List()); + Messages.clientMessages[46] = Messages.messages["Client_onUpdateData_r_optimized"]; - Messages.messages["Client_initSpaceData"] = new Message_Client_initSpaceData(40, "Client_initSpaceData", -1, -1, new List()); - Messages.clientMessages[40] = Messages.messages["Client_initSpaceData"]; + Messages.messages["Client_onUpdateData_xz_optimized"] = new Message_Client_onUpdateData_xz_optimized(47, "Client_onUpdateData_xz_optimized", -1, -1, new List()); + Messages.clientMessages[47] = Messages.messages["Client_onUpdateData_xz_optimized"]; + + Messages.messages["Client_onUpdateData_xz_ypr_optimized"] = new Message_Client_onUpdateData_xz_ypr_optimized(48, "Client_onUpdateData_xz_ypr_optimized", -1, -1, new List()); + Messages.clientMessages[48] = Messages.messages["Client_onUpdateData_xz_ypr_optimized"]; + + Messages.messages["Client_onUpdateData_xz_yp_optimized"] = new Message_Client_onUpdateData_xz_yp_optimized(49, "Client_onUpdateData_xz_yp_optimized", -1, -1, new List()); + Messages.clientMessages[49] = Messages.messages["Client_onUpdateData_xz_yp_optimized"]; + + Messages.messages["Client_onUpdateData_xz_yr_optimized"] = new Message_Client_onUpdateData_xz_yr_optimized(50, "Client_onUpdateData_xz_yr_optimized", -1, -1, new List()); + Messages.clientMessages[50] = Messages.messages["Client_onUpdateData_xz_yr_optimized"]; + + Messages.messages["Client_onUpdateData_xz_pr_optimized"] = new Message_Client_onUpdateData_xz_pr_optimized(51, "Client_onUpdateData_xz_pr_optimized", -1, -1, new List()); + Messages.clientMessages[51] = Messages.messages["Client_onUpdateData_xz_pr_optimized"]; + + Messages.messages["Client_onUpdateData_xz_y_optimized"] = new Message_Client_onUpdateData_xz_y_optimized(52, "Client_onUpdateData_xz_y_optimized", -1, -1, new List()); + Messages.clientMessages[52] = Messages.messages["Client_onUpdateData_xz_y_optimized"]; + + Messages.messages["Client_onUpdateData_xz_p_optimized"] = new Message_Client_onUpdateData_xz_p_optimized(53, "Client_onUpdateData_xz_p_optimized", -1, -1, new List()); + Messages.clientMessages[53] = Messages.messages["Client_onUpdateData_xz_p_optimized"]; + + Messages.messages["Client_onUpdateData_xz_r_optimized"] = new Message_Client_onUpdateData_xz_r_optimized(54, "Client_onUpdateData_xz_r_optimized", -1, -1, new List()); + Messages.clientMessages[54] = Messages.messages["Client_onUpdateData_xz_r_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_optimized"] = new Message_Client_onUpdateData_xyz_optimized(55, "Client_onUpdateData_xyz_optimized", -1, -1, new List()); + Messages.clientMessages[55] = Messages.messages["Client_onUpdateData_xyz_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_ypr_optimized"] = new Message_Client_onUpdateData_xyz_ypr_optimized(56, "Client_onUpdateData_xyz_ypr_optimized", -1, -1, new List()); + Messages.clientMessages[56] = Messages.messages["Client_onUpdateData_xyz_ypr_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_yp_optimized"] = new Message_Client_onUpdateData_xyz_yp_optimized(57, "Client_onUpdateData_xyz_yp_optimized", -1, -1, new List()); + Messages.clientMessages[57] = Messages.messages["Client_onUpdateData_xyz_yp_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_yr_optimized"] = new Message_Client_onUpdateData_xyz_yr_optimized(58, "Client_onUpdateData_xyz_yr_optimized", -1, -1, new List()); + Messages.clientMessages[58] = Messages.messages["Client_onUpdateData_xyz_yr_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_pr_optimized"] = new Message_Client_onUpdateData_xyz_pr_optimized(59, "Client_onUpdateData_xyz_pr_optimized", -1, -1, new List()); + Messages.clientMessages[59] = Messages.messages["Client_onUpdateData_xyz_pr_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_y_optimized"] = new Message_Client_onUpdateData_xyz_y_optimized(60, "Client_onUpdateData_xyz_y_optimized", -1, -1, new List()); + Messages.clientMessages[60] = Messages.messages["Client_onUpdateData_xyz_y_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_p_optimized"] = new Message_Client_onUpdateData_xyz_p_optimized(61, "Client_onUpdateData_xyz_p_optimized", -1, -1, new List()); + Messages.clientMessages[61] = Messages.messages["Client_onUpdateData_xyz_p_optimized"]; + + Messages.messages["Client_onUpdateData_xyz_r_optimized"] = new Message_Client_onUpdateData_xyz_r_optimized(62, "Client_onUpdateData_xyz_r_optimized", -1, -1, new List()); + Messages.clientMessages[62] = Messages.messages["Client_onUpdateData_xyz_r_optimized"]; + + Messages.messages["Client_onImportServerErrorsDescr"] = new Message_Client_onImportServerErrorsDescr(63, "Client_onImportServerErrorsDescr", -1, -1, new List()); + Messages.clientMessages[63] = Messages.messages["Client_onImportServerErrorsDescr"]; + + Messages.messages["Client_onImportClientSDK"] = new Message_Client_onImportClientSDK(64, "Client_onImportClientSDK", -1, -1, new List()); + Messages.clientMessages[64] = Messages.messages["Client_onImportClientSDK"]; + + Messages.messages["Client_initSpaceData"] = new Message_Client_initSpaceData(65, "Client_initSpaceData", -1, -1, new List()); + Messages.clientMessages[65] = Messages.messages["Client_initSpaceData"]; List Client_setSpaceData_argstypes = new List(); Client_setSpaceData_argstypes.Add(4); Client_setSpaceData_argstypes.Add(1); Client_setSpaceData_argstypes.Add(1); - Messages.messages["Client_setSpaceData"] = new Message_Client_setSpaceData(41, "Client_setSpaceData", -1, 0, Client_setSpaceData_argstypes); - Messages.clientMessages[41] = Messages.messages["Client_setSpaceData"]; + Messages.messages["Client_setSpaceData"] = new Message_Client_setSpaceData(66, "Client_setSpaceData", -1, 0, Client_setSpaceData_argstypes); + Messages.clientMessages[66] = Messages.messages["Client_setSpaceData"]; List Client_delSpaceData_argstypes = new List(); Client_delSpaceData_argstypes.Add(4); Client_delSpaceData_argstypes.Add(1); - Messages.messages["Client_delSpaceData"] = new Message_Client_delSpaceData(42, "Client_delSpaceData", -1, 0, Client_delSpaceData_argstypes); - Messages.clientMessages[42] = Messages.messages["Client_delSpaceData"]; + Messages.messages["Client_delSpaceData"] = new Message_Client_delSpaceData(67, "Client_delSpaceData", -1, 0, Client_delSpaceData_argstypes); + Messages.clientMessages[67] = Messages.messages["Client_delSpaceData"]; List Client_onReqAccountResetPasswordCB_argstypes = new List(); Client_onReqAccountResetPasswordCB_argstypes.Add(3); - Messages.messages["Client_onReqAccountResetPasswordCB"] = new Message_Client_onReqAccountResetPasswordCB(43, "Client_onReqAccountResetPasswordCB", 2, 0, Client_onReqAccountResetPasswordCB_argstypes); - Messages.clientMessages[43] = Messages.messages["Client_onReqAccountResetPasswordCB"]; + Messages.messages["Client_onReqAccountResetPasswordCB"] = new Message_Client_onReqAccountResetPasswordCB(68, "Client_onReqAccountResetPasswordCB", 2, 0, Client_onReqAccountResetPasswordCB_argstypes); + Messages.clientMessages[68] = Messages.messages["Client_onReqAccountResetPasswordCB"]; List Client_onReqAccountBindEmailCB_argstypes = new List(); Client_onReqAccountBindEmailCB_argstypes.Add(3); - Messages.messages["Client_onReqAccountBindEmailCB"] = new Message_Client_onReqAccountBindEmailCB(44, "Client_onReqAccountBindEmailCB", 2, 0, Client_onReqAccountBindEmailCB_argstypes); - Messages.clientMessages[44] = Messages.messages["Client_onReqAccountBindEmailCB"]; + Messages.messages["Client_onReqAccountBindEmailCB"] = new Message_Client_onReqAccountBindEmailCB(69, "Client_onReqAccountBindEmailCB", 2, 0, Client_onReqAccountBindEmailCB_argstypes); + Messages.clientMessages[69] = Messages.messages["Client_onReqAccountBindEmailCB"]; List Client_onReqAccountNewPasswordCB_argstypes = new List(); Client_onReqAccountNewPasswordCB_argstypes.Add(3); - Messages.messages["Client_onReqAccountNewPasswordCB"] = new Message_Client_onReqAccountNewPasswordCB(45, "Client_onReqAccountNewPasswordCB", 2, 0, Client_onReqAccountNewPasswordCB_argstypes); - Messages.clientMessages[45] = Messages.messages["Client_onReqAccountNewPasswordCB"]; + Messages.messages["Client_onReqAccountNewPasswordCB"] = new Message_Client_onReqAccountNewPasswordCB(70, "Client_onReqAccountNewPasswordCB", 2, 0, Client_onReqAccountNewPasswordCB_argstypes); + Messages.clientMessages[70] = Messages.messages["Client_onReqAccountNewPasswordCB"]; - Messages.messages["Client_onReloginBaseappSuccessfully"] = new Message_Client_onReloginBaseappSuccessfully(46, "Client_onReloginBaseappSuccessfully", -1, -1, new List()); - Messages.clientMessages[46] = Messages.messages["Client_onReloginBaseappSuccessfully"]; + Messages.messages["Client_onReloginBaseappSuccessfully"] = new Message_Client_onReloginBaseappSuccessfully(71, "Client_onReloginBaseappSuccessfully", -1, -1, new List()); + Messages.clientMessages[71] = Messages.messages["Client_onReloginBaseappSuccessfully"]; - Messages.messages["Client_onAppActiveTickCB"] = new Message_Client_onAppActiveTickCB(47, "Client_onAppActiveTickCB", 0, 0, new List()); - Messages.clientMessages[47] = Messages.messages["Client_onAppActiveTickCB"]; + Messages.messages["Client_onAppActiveTickCB"] = new Message_Client_onAppActiveTickCB(72, "Client_onAppActiveTickCB", 0, 0, new List()); + Messages.clientMessages[72] = Messages.messages["Client_onAppActiveTickCB"]; Messages.messages["Client_onCreateAccountResult"] = new Message_Client_onCreateAccountResult(501, "Client_onCreateAccountResult", -1, -1, new List()); Messages.clientMessages[501] = Messages.messages["Client_onCreateAccountResult"]; @@ -1593,42 +2053,52 @@ public static bool init() Messages.messages["Loginapp_reqCreateMailAccount"] = new Message_Loginapp_reqCreateMailAccount(6, "Loginapp_reqCreateMailAccount", -1, 0, new List()); Messages.loginappMessages[6] = Messages.messages["Loginapp_reqCreateMailAccount"]; - Messages.messages["Loginapp_importServerErrorsDescr"] = new Message_Loginapp_importServerErrorsDescr(7, "Loginapp_importServerErrorsDescr", 0, 0, new List()); - Messages.loginappMessages[7] = Messages.messages["Loginapp_importServerErrorsDescr"]; + Messages.messages["Loginapp_importClientSDK"] = new Message_Loginapp_importClientSDK(7, "Loginapp_importClientSDK", -1, 0, new List()); + Messages.loginappMessages[7] = Messages.messages["Loginapp_importClientSDK"]; + + Messages.messages["Loginapp_importServerErrorsDescr"] = new Message_Loginapp_importServerErrorsDescr(8, "Loginapp_importServerErrorsDescr", 0, 0, new List()); + Messages.loginappMessages[8] = Messages.messages["Loginapp_importServerErrorsDescr"]; - Messages.messages["Loginapp_onClientActiveTick"] = new Message_Loginapp_onClientActiveTick(10, "Loginapp_onClientActiveTick", 0, 0, new List()); - Messages.loginappMessages[10] = Messages.messages["Loginapp_onClientActiveTick"]; + Messages.messages["Loginapp_onClientActiveTick"] = new Message_Loginapp_onClientActiveTick(11, "Loginapp_onClientActiveTick", 0, 0, new List()); + Messages.loginappMessages[11] = Messages.messages["Loginapp_onClientActiveTick"]; List Loginapp_reqAccountResetPassword_argstypes = new List(); Loginapp_reqAccountResetPassword_argstypes.Add(1); - Messages.messages["Loginapp_reqAccountResetPassword"] = new Message_Loginapp_reqAccountResetPassword(11, "Loginapp_reqAccountResetPassword", -1, 0, Loginapp_reqAccountResetPassword_argstypes); - Messages.loginappMessages[11] = Messages.messages["Loginapp_reqAccountResetPassword"]; + Messages.messages["Loginapp_reqAccountResetPassword"] = new Message_Loginapp_reqAccountResetPassword(12, "Loginapp_reqAccountResetPassword", -1, 0, Loginapp_reqAccountResetPassword_argstypes); + Messages.loginappMessages[12] = Messages.messages["Loginapp_reqAccountResetPassword"]; + + + List Baseapp_logoutBaseapp_argstypes = new List(); + Baseapp_logoutBaseapp_argstypes.Add(5); + Baseapp_logoutBaseapp_argstypes.Add(8); + Messages.messages["Baseapp_logoutBaseapp"] = new Message_Baseapp_logoutBaseapp(24, "Baseapp_logoutBaseapp", 12, 0, Baseapp_logoutBaseapp_argstypes); + Messages.baseappMessages[24] = Messages.messages["Baseapp_logoutBaseapp"]; - Messages.messages["Baseapp_onUpdateDataFromClient"] = new Message_Baseapp_onUpdateDataFromClient(25, "Baseapp_onUpdateDataFromClient", -1, -1, new List()); - Messages.baseappMessages[25] = Messages.messages["Baseapp_onUpdateDataFromClient"]; + Messages.messages["Baseapp_onUpdateDataFromClient"] = new Message_Baseapp_onUpdateDataFromClient(27, "Baseapp_onUpdateDataFromClient", -1, -1, new List()); + Messages.baseappMessages[27] = Messages.messages["Baseapp_onUpdateDataFromClient"]; - Messages.messages["Baseapp_onUpdateDataFromClientForControlledEntity"] = new Message_Baseapp_onUpdateDataFromClientForControlledEntity(26, "Baseapp_onUpdateDataFromClientForControlledEntity", -1, -1, new List()); - Messages.baseappMessages[26] = Messages.messages["Baseapp_onUpdateDataFromClientForControlledEntity"]; + Messages.messages["Baseapp_onUpdateDataFromClientForControlledEntity"] = new Message_Baseapp_onUpdateDataFromClientForControlledEntity(28, "Baseapp_onUpdateDataFromClientForControlledEntity", -1, -1, new List()); + Messages.baseappMessages[28] = Messages.messages["Baseapp_onUpdateDataFromClientForControlledEntity"]; List Baseapp_reqAccountBindEmail_argstypes = new List(); Baseapp_reqAccountBindEmail_argstypes.Add(8); Baseapp_reqAccountBindEmail_argstypes.Add(1); Baseapp_reqAccountBindEmail_argstypes.Add(1); - Messages.messages["Baseapp_reqAccountBindEmail"] = new Message_Baseapp_reqAccountBindEmail(48, "Baseapp_reqAccountBindEmail", -1, 0, Baseapp_reqAccountBindEmail_argstypes); - Messages.baseappMessages[48] = Messages.messages["Baseapp_reqAccountBindEmail"]; + Messages.messages["Baseapp_reqAccountBindEmail"] = new Message_Baseapp_reqAccountBindEmail(50, "Baseapp_reqAccountBindEmail", -1, 0, Baseapp_reqAccountBindEmail_argstypes); + Messages.baseappMessages[50] = Messages.messages["Baseapp_reqAccountBindEmail"]; List Baseapp_reqAccountNewPassword_argstypes = new List(); Baseapp_reqAccountNewPassword_argstypes.Add(8); Baseapp_reqAccountNewPassword_argstypes.Add(1); Baseapp_reqAccountNewPassword_argstypes.Add(1); - Messages.messages["Baseapp_reqAccountNewPassword"] = new Message_Baseapp_reqAccountNewPassword(51, "Baseapp_reqAccountNewPassword", -1, 0, Baseapp_reqAccountNewPassword_argstypes); - Messages.baseappMessages[51] = Messages.messages["Baseapp_reqAccountNewPassword"]; + Messages.messages["Baseapp_reqAccountNewPassword"] = new Message_Baseapp_reqAccountNewPassword(53, "Baseapp_reqAccountNewPassword", -1, 0, Baseapp_reqAccountNewPassword_argstypes); + Messages.baseappMessages[53] = Messages.messages["Baseapp_reqAccountNewPassword"]; - Messages.messages["Entity_forwardEntityMessageToCellappFromClient"] = new Message_Entity_forwardEntityMessageToCellappFromClient(55, "Entity_forwardEntityMessageToCellappFromClient", -1, -1, new List()); - Messages.baseappMessages[55] = Messages.messages["Entity_forwardEntityMessageToCellappFromClient"]; + Messages.messages["Entity_forwardEntityMessageToCellappFromClient"] = new Message_Entity_forwardEntityMessageToCellappFromClient(57, "Entity_forwardEntityMessageToCellappFromClient", -1, -1, new List()); + Messages.baseappMessages[57] = Messages.messages["Entity_forwardEntityMessageToCellappFromClient"]; Messages.messages["Baseapp_hello"] = new Message_Baseapp_hello(200, "Baseapp_hello", -1, -1, new List()); Messages.baseappMessages[200] = Messages.messages["Baseapp_hello"]; diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Messages.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Messages.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs.meta index 48f143f..b3301d6 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Messages.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Messages.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 337b356e6b24b164da93e8544af03222 -timeCreated: 1523691765 +guid: 0abc8d27f27fa3a47807f27a503168bf +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Method.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Method.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/Method.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Method.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Method.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Method.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Method.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Method.cs.meta index 7bc604d..8ae8e13 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Method.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Method.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: d40880129d7553241bdbcd342b6e4a97 -timeCreated: 1523691765 +guid: 884e7992ea9510b45b710c7a98f1a384 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs similarity index 89% rename from Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs index 3491ea9..be82df7 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs @@ -25,6 +25,7 @@ public class NetworkInterface public delegate void ConnectCallback(string ip, int port, bool success, object userData); protected Socket _socket = null; + protected EncryptionFilter _filter = null; PacketReceiver _packetReceiver = null; PacketSender _packetSender = null; @@ -60,15 +61,19 @@ public virtual Socket sock() public void reset() { - if(valid()) - { - Dbg.DEBUG_MSG(string.Format("NetworkInterface::reset(), close socket from '{0}'", _socket.RemoteEndPoint.ToString())); - _socket.Close(0); - } - _socket = null; _packetReceiver = null; _packetSender = null; + _filter = null; connected = false; + + if(_socket != null) + { + if(_socket.RemoteEndPoint != null) + Dbg.DEBUG_MSG(string.Format("NetworkInterface::reset(), close socket from '{0}'", _socket.RemoteEndPoint.ToString())); + + _socket.Close(0); + _socket = null; + } } @@ -78,7 +83,7 @@ public void close() { _socket.Close(0); _socket = null; - Event.fireAll("onDisconnected", new object[]{}); + Event.fireAll(EventOutTypes.onDisconnected); } _socket = null; @@ -113,7 +118,7 @@ public void _onConnectionState(ConnectState state) Dbg.ERROR_MSG(string.Format("NetworkInterface::_onConnectionState(), connect error! ip: {0}:{1}, err: {2}", state.connectIP, state.connectPort, state.error)); } - Event.fireAll("onConnectionState", new object[] { success }); + Event.fireAll(EventOutTypes.onConnectionState, success); if (state.connectCB != null) state.connectCB(state.connectIP, state.connectPort, success, state.userData); @@ -219,7 +224,10 @@ public bool send(MemoryStream stream) if (_packetSender == null) _packetSender = new PacketSender(this); - return _packetSender.send(stream); + if (_filter != null) + return _filter.send(_packetSender, stream); + + return _packetSender.send(stream); } public void process() @@ -230,5 +238,14 @@ public void process() if (_packetReceiver != null) _packetReceiver.process(); } - } + public EncryptionFilter fileter() + { + return _filter; + } + + public void setFilter(EncryptionFilter filter) + { + _filter = filter; + } + } } diff --git a/Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta index 85e802a..1455c5d 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/NetworkInterface.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: f131634c58f75bd4abf955640aede2dd -timeCreated: 1523691765 +guid: 0065ace48fbb5654e9363177551e1849 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ObjectPool.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ObjectPool.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/ObjectPool.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ObjectPool.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta index 691dede..879769b 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ObjectPool.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: b72dbf278c1a7e244b129dae8efcc833 -timeCreated: 1523691765 +guid: 7c4d2462a1e009640928a6b341b536a7 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs similarity index 78% rename from Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs index e84df57..36839d9 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs @@ -61,14 +61,31 @@ public void process() if (_rpos < t_wpos) { - messageReader.process(_buffer, (UInt32)_rpos, (UInt32)(t_wpos - _rpos)); - Interlocked.Exchange(ref _rpos, t_wpos); + if (_networkInterface.fileter() != null) + { + _networkInterface.fileter().recv(messageReader, _buffer, (UInt32)_rpos, (UInt32)(t_wpos - _rpos)); + } + else + { + messageReader.process(_buffer, (UInt32)_rpos, (UInt32)(t_wpos - _rpos)); + } + + Interlocked.Exchange(ref _rpos, t_wpos); } else if (t_wpos < _rpos) { - messageReader.process(_buffer, (UInt32)_rpos, (UInt32)(_buffer.Length - _rpos)); - messageReader.process(_buffer, (UInt32)0, (UInt32)t_wpos); - Interlocked.Exchange(ref _rpos, t_wpos); + if (_networkInterface.fileter() != null) + { + _networkInterface.fileter().recv(messageReader, _buffer, (UInt32)_rpos, (UInt32)(_buffer.Length - _rpos)); + _networkInterface.fileter().recv(messageReader, _buffer, (UInt32)0, (UInt32)t_wpos); + } + else + { + messageReader.process(_buffer, (UInt32)_rpos, (UInt32)(_buffer.Length - _rpos)); + messageReader.process(_buffer, (UInt32)0, (UInt32)t_wpos); + } + + Interlocked.Exchange(ref _rpos, t_wpos); } else { diff --git a/Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta index 039e868..8d7937f 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketReceiver.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 13d5ea296865190498bc498d35899f70 -timeCreated: 1523691765 +guid: 8cc1b93c884f2ef4891dc71d93b136ed +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/PacketSender.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketSender.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/PacketSender.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketSender.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/PacketSender.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketSender.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/PacketSender.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketSender.cs.meta index 580b414..cb78939 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/PacketSender.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/PacketSender.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 8d97be29e4d285b4c9e991370ac033cd -timeCreated: 1523691765 +guid: 8c08172c62d0960458bcd0f4b92eac49 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Profile.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs similarity index 89% rename from Assets/Plugins/kbengine_unity3d_plugins/Profile.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs index 63d9113..243a760 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Profile.cs +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs @@ -32,8 +32,8 @@ public void end() { System.TimeSpan time = System.DateTime.Now - startTime; - if(time.Milliseconds >= 100) - Dbg.WARNING_MSG("Profile::profile(): '" + _name + "' took " + time.Milliseconds + " ms"); + if(time.TotalMilliseconds >= 100) + Dbg.WARNING_MSG("Profile::profile(): '" + _name + "' took " + time.TotalMilliseconds + " ms"); } } } diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Profile.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Profile.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs.meta index db95e2b..d2c3a72 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Profile.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Profile.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 8bd6cfcd95af8874f960d557b00245da -timeCreated: 1523691765 +guid: a0332f867b7ff2344b7963c3bf8fb130 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Property.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Property.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/Property.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Property.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/Property.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Property.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/Property.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Property.cs.meta index b895bc7..42b9403 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/Property.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/Property.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: c6ce47ff7cf050241a0ddf4ffa64ade6 -timeCreated: 1523691765 +guid: 3a59959262f8ec7449045b39ae08e129 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/README.md b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md similarity index 98% rename from Assets/Plugins/kbengine_unity3d_plugins/README.md rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md index 665c123..9d69501 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/README.md +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md @@ -310,7 +310,6 @@ KBE-Plugin fire-in events(Unity => KBE): Datas by user defined. Data will be recorded into the KBE account database, you can access the datas through the script layer. If you use third-party account system, datas will be submitted to the third-party system. - login Description: @@ -324,6 +323,13 @@ KBE-Plugin fire-in events(Unity => KBE): Data will be recorded into the KBE account database, you can access the datas through the script layer. If you use third-party account system, datas will be submitted to the third-party system. + logout + Description: + Logout to baseapp, called when exiting the client. + + Event-datas: + No datas. + reloginBaseapp Description: Relogin to baseapp. diff --git a/Assets/Plugins/kbengine_unity3d_plugins/README.md.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md.meta similarity index 68% rename from Assets/Plugins/kbengine_unity3d_plugins/README.md.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md.meta index 1ec55a5..afcf8c6 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/README.md.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/README.md.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 724f0c6c49786e646b3b5be001b15a74 -timeCreated: 1523691762 +guid: bb65f4cdf30f1c449af3cb69f5fa3282 +timeCreated: 1548849568 licenseType: Free DefaultImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/RoomBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/RoomBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/RoomBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/RoomBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/RoomBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/RoomBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/RoomBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/RoomBase.cs.meta index 640b0b9..ad212af 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/RoomBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/RoomBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: b32890a3abddf6c41959afde2a25f16d -timeCreated: 1523691765 +guid: 82adb9010da3a9245b04e1d2608fe084 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ScriptModule.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ScriptModule.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/ScriptModule.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ScriptModule.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta index 7f9b93d..cfc0f94 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ScriptModule.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 46ed18ac14f6de84493cc59df754342f -timeCreated: 1523691765 +guid: 4db3d3fed14765a498823a516b8548cd +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta index 2761277..f8301ad 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/ServerErrorDescrs.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 865ab18a1e637e243b32fab0179cd481 -timeCreated: 1523691765 +guid: 603327cf147616740b3216a29c60f1e1 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Plugins/kbengine_unity3d_plugins/SmashBase.cs b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/SmashBase.cs similarity index 100% rename from Assets/Plugins/kbengine_unity3d_plugins/SmashBase.cs rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/SmashBase.cs diff --git a/Assets/Plugins/kbengine_unity3d_plugins/SmashBase.cs.meta b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/SmashBase.cs.meta similarity index 77% rename from Assets/Plugins/kbengine_unity3d_plugins/SmashBase.cs.meta rename to Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/SmashBase.cs.meta index 134c97e..9c5dae5 100644 --- a/Assets/Plugins/kbengine_unity3d_plugins/SmashBase.cs.meta +++ b/Assets/Plugins/kbengine_unity3d_plugins/kbengine_unity3d_plugins/SmashBase.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 936885075db01834292f5a5f4b68c418 -timeCreated: 1523691765 +guid: c560f0d69d7450f448a0be7828da9ad7 +timeCreated: 1548849570 licenseType: Free MonoImporter: externalObjects: {} diff --git a/Assets/Scenes/_scenes.meta b/Assets/Scenes/_scenes.meta deleted file mode 100644 index c523ad7..0000000 --- a/Assets/Scenes/_scenes.meta +++ /dev/null @@ -1,5 +0,0 @@ -fileFormatVersion: 2 -guid: e6d753a5f69777f4ea28ac51400e9b10 -folderAsset: yes -DefaultImporter: - userData: diff --git a/Assets/Scenes/_scenes/login.unity b/Assets/Scenes/login.unity similarity index 100% rename from Assets/Scenes/_scenes/login.unity rename to Assets/Scenes/login.unity diff --git a/Assets/Scenes/_scenes/login.unity.meta b/Assets/Scenes/login.unity.meta similarity index 100% rename from Assets/Scenes/_scenes/login.unity.meta rename to Assets/Scenes/login.unity.meta diff --git a/Assets/Scenes/_scenes/world.unity b/Assets/Scenes/world.unity similarity index 100% rename from Assets/Scenes/_scenes/world.unity rename to Assets/Scenes/world.unity diff --git a/Assets/Scenes/_scenes/world.unity.meta b/Assets/Scenes/world.unity.meta similarity index 100% rename from Assets/Scenes/_scenes/world.unity.meta rename to Assets/Scenes/world.unity.meta diff --git a/Assets/Scenes/start.unity b/Assets/start.unity similarity index 100% rename from Assets/Scenes/start.unity rename to Assets/start.unity diff --git a/Assets/Scenes/start.unity.meta b/Assets/start.unity.meta similarity index 100% rename from Assets/Scenes/start.unity.meta rename to Assets/start.unity.meta