| | |
| | |
|
| | | static object lockojbLua = new object();
|
| | |
|
| | | //Lua 注册的包命令
|
| | | static HashSet<ushort> _luaPackageCmd = new HashSet<ushort>();
|
| | | static HashSet<ushort> luaPackageCmd
|
| | | {
|
| | | get
|
| | | {
|
| | | lock (lockojbLua) { return _luaPackageCmd; }
|
| | | }
|
| | | }
|
| | |
|
| | | #region IL热更工程的封包
|
| | | static object lockojbIL1 = new object();
|
| | | static Dictionary<ushort, string> _ILPackageTable = new Dictionary<ushort, string>();
|
| | | static Dictionary<ushort, string> ilPackageTable
|
| | | {
|
| | | get
|
| | | {
|
| | | static Dictionary<ushort, string> ilPackageTable {
|
| | | get {
|
| | | lock (lockojbIL1) { return _ILPackageTable; }
|
| | | }
|
| | | }
|
| | | static object lockojbIL2 = new object();
|
| | | static Dictionary<ushort, DtcBasic> _ILPackToBusinessTable = new Dictionary<ushort, DtcBasic>();
|
| | | static Dictionary<ushort, DtcBasic> ilPackToBusinessTable
|
| | | {
|
| | | get
|
| | | {
|
| | | static Dictionary<ushort, DtcBasic> ilPackToBusinessTable {
|
| | | get {
|
| | | lock (lockojbIL2) { return _ILPackToBusinessTable; }
|
| | | }
|
| | | }
|
| | |
| | | #region 主工程原生的封包
|
| | | static object lockojb1 = new object();
|
| | | static Dictionary<ushort, Type> m_PackageTable = new Dictionary<ushort, Type>();
|
| | | static Dictionary<ushort, Type> packageTable
|
| | | {
|
| | | get
|
| | | {
|
| | | static Dictionary<ushort, Type> packageTable {
|
| | | get {
|
| | | lock (lockojb1) { return m_PackageTable; }
|
| | | }
|
| | | }
|
| | | static object lockojb2 = new object();
|
| | | static Dictionary<ushort, DtcBasic> m_PackToBusinessTable = new Dictionary<ushort, DtcBasic>();
|
| | | static Dictionary<ushort, DtcBasic> packToBusinessTable
|
| | | {
|
| | | get
|
| | | {
|
| | | static Dictionary<ushort, DtcBasic> packToBusinessTable {
|
| | | get {
|
| | | lock (lockojb2) { return m_PackToBusinessTable; }
|
| | | }
|
| | | }
|
| | |
| | | #endregion
|
| | | }
|
| | |
|
| | | //注册lua的封包
|
| | | public static void RegisterLua(Dictionary<ushort, Action> luaPtRegister)
|
| | | {
|
| | | foreach (var key in luaPtRegister.Keys)
|
| | | {
|
| | | if (luaPackageCmd.Add(key))
|
| | | DebugEx.LogFormat("注册Lua封包:{0}", key);
|
| | | else
|
| | | DebugEx.LogErrorFormat("重复Lua封包登记: {0}!", key);
|
| | | }
|
| | | }
|
| | |
|
| | | public static void RegisterIL(List<string[]> packs)
|
| | | {
|
| | |
| | | return packToBusinessTable.ContainsKey(_cmd);
|
| | | }
|
| | |
|
| | | public static bool ContainLua(ushort _cmd)
|
| | | {
|
| | | return luaPackageCmd.Contains(_cmd);
|
| | | }
|
| | |
|
| | | public static void Distribute(GameNetPackBasic _package)
|
| | | {
|
| | | try
|
| | | {
|
| | | DebugEx.LogFormat("Distribute:{0}", _package.cmd);
|
| | | if (_package is LuaGameNetPack)
|
| | | //执行lua的封包
|
| | | CSharpCallLua.OnRecieveLuaNetPackage(_package as LuaGameNetPack);
|
| | | else if (_package is GameNetPackBasicAdapter.Adapter)
|
| | | if (_package is GameNetPackBasicAdapter.Adapter)
|
| | | {
|
| | | DebugEx.LogFormat("执行IL封包:{0}", _package.cmd);
|
| | | //执行IL热更工程的封包
|