From fd0b276ff1492cb3fdfea1bd9b0d6e4fb3e3a36c Mon Sep 17 00:00:00 2001 From: tanghai Date: Wed, 19 Oct 2016 17:46:49 +0800 Subject: [PATCH] =?UTF-8?q?Client=E8=BF=9E=E6=8E=A5Realm(=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E6=9C=8D=E5=8A=A1=E5=99=A8),=20Realm=E9=9A=8F?= =?UTF-8?q?=E6=9C=BA=E5=88=86=E9=85=8D=E4=B8=80=E4=B8=AAGate=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E5=90=91Gate=E8=AF=B7=E6=B1=82=E4=B8=80?= =?UTF-8?q?=E4=B8=AAKey=EF=BC=8C=E5=8F=91=E5=9B=9E=E7=BB=99Client,=20clien?= =?UTF-8?q?t=E6=8B=BF=E7=9D=80key=E8=BF=9E=E6=8E=A5Gate=20=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E9=80=9A=E8=BF=87=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Server/App/Program.cs | 2 + Server/Controller/C2S_LoginHandler.cs | 17 ------ Server/Controller/C2S_SubscribeLogHandler.cs | 19 ------- .../Message/C2G_LoginGateHandler.cs | 22 +++++++ Server/Controller/Message/C2R_LoginHandler.cs | 31 ++++++++++ .../Message/C2R_SubscribeLogHandler.cs | 19 +++++++ .../Message/R2G_GetLoginKeyHandler.cs | 17 ++++++ Server/Controller/Server.Controller.csproj | 6 +- .../Component/GateSessionKeyComponent.cs | 55 ++++++++++++++++++ .../Model/Component/LogToClientComponent.cs | 4 +- .../Component/RealmGateAddressComponent.cs | 41 +++++++++++++ Server/Model/Server.Model.csproj | 5 ++ .../UI/ServerCommandLineEditor.cs | 1 + .../Plugins/Base/Helper/RandomHelper.cs | 8 +++ Unity/Assets/Plugins/Base/Message/AMessage.cs | 2 +- .../Plugins/Base/Message/RpcException.cs | 4 +- .../Scripts/Component/MessageComponent.cs | 10 ++-- Unity/Assets/Scripts/Message/ErrorCode.cs | 2 + Unity/Assets/Scripts/Message/Message.cs | 57 +++++++++++++++---- .../Other}/CommandLine.cs | 2 +- .../Other}/CommandLine.cs.meta | 4 +- .../Event/InitSceneStartEvent_InitGame.cs | 10 +++- .../Message/R2C_ServerLogHandler.cs | 14 +++++ .../Message/S2C_ServerLogHandler.cs | 14 ----- Unity/Controller/Unity.Controller.csproj | 2 +- Unity/Unity.CSharp.Editor.csproj | 7 ++- Unity/Unity.CSharp.csproj | 1 + 27 files changed, 295 insertions(+), 81 deletions(-) delete mode 100644 Server/Controller/C2S_LoginHandler.cs delete mode 100644 Server/Controller/C2S_SubscribeLogHandler.cs create mode 100644 Server/Controller/Message/C2G_LoginGateHandler.cs create mode 100644 Server/Controller/Message/C2R_LoginHandler.cs create mode 100644 Server/Controller/Message/C2R_SubscribeLogHandler.cs create mode 100644 Server/Controller/Message/R2G_GetLoginKeyHandler.cs create mode 100644 Server/Model/Component/GateSessionKeyComponent.cs create mode 100644 Server/Model/Component/RealmGateAddressComponent.cs rename Unity/Assets/{Editor/ServerCommandLineEditor/Component => Scripts/Other}/CommandLine.cs (95%) rename Unity/Assets/{Editor/ServerCommandLineEditor/Component => Scripts/Other}/CommandLine.cs.meta (75%) create mode 100644 Unity/Controller/Message/R2C_ServerLogHandler.cs delete mode 100644 Unity/Controller/Message/S2C_ServerLogHandler.cs diff --git a/Server/App/Program.cs b/Server/App/Program.cs index 15b5c53a..7f506ef2 100644 --- a/Server/App/Program.cs +++ b/Server/App/Program.cs @@ -33,8 +33,10 @@ namespace App switch (options.AppType) { case "Realm": + Game.Scene.AddComponent(); break; case "Gate": + Game.Scene.AddComponent(); break; default: throw new Exception($"命令行参数没有设置正确的AppType: {options.AppType}"); diff --git a/Server/Controller/C2S_LoginHandler.cs b/Server/Controller/C2S_LoginHandler.cs deleted file mode 100644 index 0cee38fd..00000000 --- a/Server/Controller/C2S_LoginHandler.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using Base; -using Model; - -namespace Controller -{ - [MessageHandler(AppType.Realm)] - public class C2S_LoginHandler: AMRpcEvent - { - protected override void Run(Entity scene, C2S_Login message, Action reply) - { - Log.Info(MongoHelper.ToJson(message)); - - reply(new S2C_Login()); - } - } -} \ No newline at end of file diff --git a/Server/Controller/C2S_SubscribeLogHandler.cs b/Server/Controller/C2S_SubscribeLogHandler.cs deleted file mode 100644 index 61c9b4fa..00000000 --- a/Server/Controller/C2S_SubscribeLogHandler.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using Base; -using Model; - -namespace Controller -{ - [MessageHandler(AppType.Realm)] - public class C2S_SubscribeLogHandler : AMRpcEvent - { - protected override void Run(Entity entity, C2S_SubscribeLog message, Action reply) - { - Log.Info(MongoHelper.ToJson(message)); - - entity.AddComponent(); - - reply(new S2C_SubscribeLog()); - } - } -} \ No newline at end of file diff --git a/Server/Controller/Message/C2G_LoginGateHandler.cs b/Server/Controller/Message/C2G_LoginGateHandler.cs new file mode 100644 index 00000000..3466b024 --- /dev/null +++ b/Server/Controller/Message/C2G_LoginGateHandler.cs @@ -0,0 +1,22 @@ +using System; +using Base; +using Model; + +namespace Controller +{ + [MessageHandler(AppType.Gate)] + public class C2G_LoginGateHandler : AMRpcEvent + { + protected override void Run(Entity scene, C2G_LoginGate message, Action reply) + { + bool isCheckOK = Game.Scene.GetComponent().Check(message.Key); + G2C_LoginGate g2CLoginGate = new G2C_LoginGate(); + if (!isCheckOK) + { + g2CLoginGate.Error = ErrorCode.ERR_ConnectGateKeyError; + g2CLoginGate.Message = "Gate key验证失败!"; + } + reply(g2CLoginGate); + } + } +} \ No newline at end of file diff --git a/Server/Controller/Message/C2R_LoginHandler.cs b/Server/Controller/Message/C2R_LoginHandler.cs new file mode 100644 index 00000000..2928bf60 --- /dev/null +++ b/Server/Controller/Message/C2R_LoginHandler.cs @@ -0,0 +1,31 @@ +using System; +using Base; +using Model; + +namespace Controller +{ + [MessageHandler(AppType.Realm)] + public class C2R_LoginHandler: AMRpcEvent + { + protected override async void Run(Entity session, C2R_Login message, Action reply) + { + R2C_Login r2CLogin; + if (message.Account != "abcdef" || message.Password != "111111") + { + r2CLogin = new R2C_Login {Error = ErrorCode.ERR_AccountOrPasswordError, Message = "账号名或者密码错误!"}; + reply(r2CLogin); + return; + } + + // 随机分配一个Gate + string gateAddress = Game.Scene.GetComponent().GetAddress(); + Entity gateSession = Game.Scene.GetComponent().Get(gateAddress); + + // 向gate请求一个key,客户端可以拿着这个key连接gate + G2R_GetLoginKey g2RGetLoginKey = await gateSession.GetComponent().Call(new R2G_GetLoginKey()); + + r2CLogin = new R2C_Login {Address = gateAddress, Key = g2RGetLoginKey.Key}; + reply(r2CLogin); + } + } +} \ No newline at end of file diff --git a/Server/Controller/Message/C2R_SubscribeLogHandler.cs b/Server/Controller/Message/C2R_SubscribeLogHandler.cs new file mode 100644 index 00000000..d544f78d --- /dev/null +++ b/Server/Controller/Message/C2R_SubscribeLogHandler.cs @@ -0,0 +1,19 @@ +using System; +using Base; +using Model; + +namespace Controller +{ + [MessageHandler(AppType.Realm)] + public class C2R_SubscribeLogHandler : AMRpcEvent + { + protected override void Run(Entity entity, C2R_SubscribeLog message, Action reply) + { + Log.Info(MongoHelper.ToJson(message)); + + //entity.AddComponent(); + + reply(new R2C_SubscribeLog()); + } + } +} \ No newline at end of file diff --git a/Server/Controller/Message/R2G_GetLoginKeyHandler.cs b/Server/Controller/Message/R2G_GetLoginKeyHandler.cs new file mode 100644 index 00000000..9a9efb6c --- /dev/null +++ b/Server/Controller/Message/R2G_GetLoginKeyHandler.cs @@ -0,0 +1,17 @@ +using System; +using Base; +using Model; + +namespace Controller +{ + [MessageHandler(AppType.Gate)] + public class R2G_GetLoginKeyHandler : AMRpcEvent + { + protected override void Run(Entity scene, R2G_GetLoginKey message, Action reply) + { + long key = Game.Scene.GetComponent().Get(); + G2R_GetLoginKey g2RGetLoginKey = new G2R_GetLoginKey(key); + reply(g2RGetLoginKey); + } + } +} \ No newline at end of file diff --git a/Server/Controller/Server.Controller.csproj b/Server/Controller/Server.Controller.csproj index 22ebd4e8..58dea9e0 100644 --- a/Server/Controller/Server.Controller.csproj +++ b/Server/Controller/Server.Controller.csproj @@ -34,9 +34,11 @@ - + + + - + diff --git a/Server/Model/Component/GateSessionKeyComponent.cs b/Server/Model/Component/GateSessionKeyComponent.cs new file mode 100644 index 00000000..b7e845e3 --- /dev/null +++ b/Server/Model/Component/GateSessionKeyComponent.cs @@ -0,0 +1,55 @@ +using System.Collections.Generic; +using Base; + +namespace Model +{ + [ObjectEvent] + public class GateSessionKeyComponentEvent : ObjectEvent, IAwake + { + public void Awake() + { + this.GetValue().Awake(); + } + } + + public class GateSessionKeyComponent : Component + { + private TimerComponent timerComponent; + + private readonly HashSet sessionKey = new HashSet(); + + public void Awake() + { + this.timerComponent = Game.Scene.GetComponent(); + } + + public long Get() + { + long key = RandomHelper.RandInt64(); + this.sessionKey.Add(key); + this.TimeoutRemoveKey(key); + return key; + } + + public bool Check(long key) + { + bool ret = this.sessionKey.Contains(key); + if (ret) + { + this.sessionKey.Remove(key); + } + return ret; + } + + public void Remove(long key) + { + this.sessionKey.Remove(key); + } + + private async void TimeoutRemoveKey(long key) + { + await this.timerComponent.WaitAsync(20000); + this.sessionKey.Remove(key); + } + } +} diff --git a/Server/Model/Component/LogToClientComponent.cs b/Server/Model/Component/LogToClientComponent.cs index ca49100d..30993dd5 100644 --- a/Server/Model/Component/LogToClientComponent.cs +++ b/Server/Model/Component/LogToClientComponent.cs @@ -14,10 +14,12 @@ namespace Model public class LogToClientComponent : Component { private string appType; + private int appId; public void Awake() { this.appType = Game.Scene.GetComponent().Options.AppType; + this.appId = Game.Scene.GetComponent().Options.Id; Log.Callback.Add(this.Id, this.LogToClient); } @@ -27,7 +29,7 @@ namespace Model { return; } - this.GetComponent().Send(new S2C_ServerLog { AppType = this.appType, Type = type, Log = message }); + this.GetComponent().Send(new R2C_ServerLog { AppType = this.appType, AppId = this.appId, Type = type, Log = message }); } public override void Dispose() diff --git a/Server/Model/Component/RealmGateAddressComponent.cs b/Server/Model/Component/RealmGateAddressComponent.cs new file mode 100644 index 00000000..0d17bf0f --- /dev/null +++ b/Server/Model/Component/RealmGateAddressComponent.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.IO; +using Base; + +namespace Model +{ + [ObjectEvent] + public class RealmGateAddressComponentEvent : ObjectEvent, IAwake + { + public void Awake() + { + this.GetValue().Awake(); + } + } + + public class RealmGateAddressComponent : Component + { + private readonly List GateAddress = new List(); + + public void Awake() + { + string s = File.ReadAllText("./CommandLineConfig.txt"); + CommandLines commandLines = MongoHelper.FromJson(s); + foreach (CommandLine commandLine in commandLines.Commands) + { + if (commandLine.Options.AppType != "Gate") + { + continue; + } + this.GateAddress.Add($"{commandLine.Options.Host}:{commandLine.Options.Port}"); + } + } + + public string GetAddress() + { + int n = RandomHelper.RandomNumber(0, this.GateAddress.Count); + return this.GateAddress[n]; + } + } +} diff --git a/Server/Model/Server.Model.csproj b/Server/Model/Server.Model.csproj index e192f251..dcbd51c0 100644 --- a/Server/Model/Server.Model.csproj +++ b/Server/Model/Server.Model.csproj @@ -74,10 +74,15 @@ Message\OpcodeHelper.cs + + Other\CommandLine.cs + Other\Options.cs + + diff --git a/Unity/Assets/Editor/ServerCommandLineEditor/UI/ServerCommandLineEditor.cs b/Unity/Assets/Editor/ServerCommandLineEditor/UI/ServerCommandLineEditor.cs index 42ac0d2c..184e3153 100644 --- a/Unity/Assets/Editor/ServerCommandLineEditor/UI/ServerCommandLineEditor.cs +++ b/Unity/Assets/Editor/ServerCommandLineEditor/UI/ServerCommandLineEditor.cs @@ -2,6 +2,7 @@ using System.Diagnostics; using System.IO; using Base; +using Model; using UnityEditor; using UnityEngine; diff --git a/Unity/Assets/Plugins/Base/Helper/RandomHelper.cs b/Unity/Assets/Plugins/Base/Helper/RandomHelper.cs index e29bc331..549e5966 100644 --- a/Unity/Assets/Plugins/Base/Helper/RandomHelper.cs +++ b/Unity/Assets/Plugins/Base/Helper/RandomHelper.cs @@ -12,6 +12,14 @@ namespace Base return BitConverter.ToUInt64(bytes, 0); } + public static Int64 RandInt64() + { + var bytes = new byte[8]; + Random random = new Random(); + random.NextBytes(bytes); + return BitConverter.ToInt64(bytes, 0); + } + /// /// 获取lower与Upper之间的随机数 /// diff --git a/Unity/Assets/Plugins/Base/Message/AMessage.cs b/Unity/Assets/Plugins/Base/Message/AMessage.cs index 9c68e2cd..b2018160 100644 --- a/Unity/Assets/Plugins/Base/Message/AMessage.cs +++ b/Unity/Assets/Plugins/Base/Message/AMessage.cs @@ -13,7 +13,7 @@ /// public abstract class AResponse: AMessage { - public int ErrorCode = 0; + public int Error = 0; public string Message = ""; } } diff --git a/Unity/Assets/Plugins/Base/Message/RpcException.cs b/Unity/Assets/Plugins/Base/Message/RpcException.cs index c9d9b609..420031b5 100644 --- a/Unity/Assets/Plugins/Base/Message/RpcException.cs +++ b/Unity/Assets/Plugins/Base/Message/RpcException.cs @@ -10,12 +10,12 @@ namespace Base { public int Error { get; private set; } - public RpcException(int error, string message) : base($"{error} : {message}") + public RpcException(int error, string message) : base($"Error: {error} Message: {message}") { this.Error = error; } - public RpcException(int error, string message, Exception e) : base($"{error} : {message}", e) + public RpcException(int error, string message, Exception e) : base($"Error: {error} Message: {message}", e) { this.Error = error; } diff --git a/Unity/Assets/Scripts/Component/MessageComponent.cs b/Unity/Assets/Scripts/Component/MessageComponent.cs index f5965d83..f6d939a4 100644 --- a/Unity/Assets/Scripts/Component/MessageComponent.cs +++ b/Unity/Assets/Scripts/Component/MessageComponent.cs @@ -140,9 +140,9 @@ namespace Model try { Response response = MongoHelper.FromBson(bytes, offset, count); - if (response.ErrorCode != 0) + if (response.Error != 0) { - tcs.SetException(new RpcException(response.ErrorCode, response.Message)); + tcs.SetException(new RpcException(response.Error, response.Message)); return; } tcs.SetResult(response); @@ -172,9 +172,9 @@ namespace Model try { Response response = MongoHelper.FromBson(bytes, offset, count); - if (response.ErrorCode != 0) + if (response.Error != 0) { - tcs.SetException(new RpcException(response.ErrorCode, response.Message)); + tcs.SetException(new RpcException(response.Error, response.Message)); return; } tcs.SetResult(response); @@ -219,7 +219,7 @@ namespace Model } byte[] seqBytes = BitConverter.GetBytes(rpcId); - + channel.Send(new List { opcodeBytes, seqBytes, messageBytes }); } diff --git a/Unity/Assets/Scripts/Message/ErrorCode.cs b/Unity/Assets/Scripts/Message/ErrorCode.cs index e9c8781f..db74a893 100644 --- a/Unity/Assets/Scripts/Message/ErrorCode.cs +++ b/Unity/Assets/Scripts/Message/ErrorCode.cs @@ -3,5 +3,7 @@ namespace Model public static class ErrorCode { public const int ERR_Success = 0; + public const int ERR_AccountOrPasswordError = 1; + public const int ERR_ConnectGateKeyError = 2; } } diff --git a/Unity/Assets/Scripts/Message/Message.cs b/Unity/Assets/Scripts/Message/Message.cs index 40de5633..a81e3027 100644 --- a/Unity/Assets/Scripts/Message/Message.cs +++ b/Unity/Assets/Scripts/Message/Message.cs @@ -5,7 +5,7 @@ namespace Model { [Message(1)] [BsonIgnoreExtraElements] - public class C2S_Login: ARequest + public class C2R_Login: ARequest { public string Account; public string Password; @@ -13,30 +13,67 @@ namespace Model [Message(2)] [BsonIgnoreExtraElements] - public class S2C_Login: AResponse + public class R2C_Login: AResponse { - public string Host; - public int Port; + public string Address { get; set; } + public long Key { get; set; } } [Message(3)] [BsonIgnoreExtraElements] - public class S2C_ServerLog: AMessage + public class R2C_ServerLog: AMessage { - public string AppType; - public LogType Type; - public string Log; + public string AppType { get; set; } + public int AppId { get; set; } + public LogType Type { get; set; } + public string Log { get; set; } } [Message(4)] [BsonIgnoreExtraElements] - public class C2S_SubscribeLog: ARequest + public class C2R_SubscribeLog: ARequest { } [Message(5)] [BsonIgnoreExtraElements] - public class S2C_SubscribeLog: AResponse + public class R2C_SubscribeLog: AResponse + { + } + + [Message(6)] + [BsonIgnoreExtraElements] + public class R2G_GetLoginKey : ARequest + { + } + + [Message(7)] + [BsonIgnoreExtraElements] + public class G2R_GetLoginKey : AResponse + { + public long Key; + + public G2R_GetLoginKey(long key) + { + this.Key = key; + } + } + + [Message(8)] + [BsonIgnoreExtraElements] + public class C2G_LoginGate : ARequest + { + public long Key; + + public C2G_LoginGate(long key) + { + this.Key = key; + } + } + + [Message(9)] + [BsonIgnoreExtraElements] + public class G2C_LoginGate : AResponse { } } diff --git a/Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs b/Unity/Assets/Scripts/Other/CommandLine.cs similarity index 95% rename from Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs rename to Unity/Assets/Scripts/Other/CommandLine.cs index 8f6d5a4f..c881b03a 100644 --- a/Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs +++ b/Unity/Assets/Scripts/Other/CommandLine.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using Base; using Model; -namespace MyEditor +namespace Model { public class CommandLine: ICloneable { diff --git a/Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs.meta b/Unity/Assets/Scripts/Other/CommandLine.cs.meta similarity index 75% rename from Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs.meta rename to Unity/Assets/Scripts/Other/CommandLine.cs.meta index c2188700..af3fea24 100644 --- a/Unity/Assets/Editor/ServerCommandLineEditor/Component/CommandLine.cs.meta +++ b/Unity/Assets/Scripts/Other/CommandLine.cs.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 -guid: 4f4981289b5c3cc4ca1604a6ba39f3a8 -timeCreated: 1476674012 +guid: c181dc38f15288746960812611a7767e +timeCreated: 1476862821 licenseType: Pro MonoImporter: serializedVersion: 2 diff --git a/Unity/Controller/Event/InitSceneStartEvent_InitGame.cs b/Unity/Controller/Event/InitSceneStartEvent_InitGame.cs index 6441854b..9a2aac76 100644 --- a/Unity/Controller/Event/InitSceneStartEvent_InitGame.cs +++ b/Unity/Controller/Event/InitSceneStartEvent_InitGame.cs @@ -19,9 +19,13 @@ namespace Controller try { // 订阅服务端日志, 服务端收到这个消息会将之后的日志转发给客户端 - await session.GetComponent().Call(new C2S_SubscribeLog()); - S2C_Login s2CLogin = await session.GetComponent().Call(new C2S_Login {Account = "tanghai", Password = "1111111"}); - Log.Info(MongoHelper.ToJson(s2CLogin)); + await session.GetComponent().Call(new C2R_SubscribeLog()); + R2C_Login s2CLogin = await session.GetComponent().Call(new C2R_Login {Account = "111", Password = "111111"}); + + // 连接Gate + Entity gateSession = networkComponent.Get(s2CLogin.Address); + await gateSession.GetComponent().Call(new C2G_LoginGate(s2CLogin.Key)); + Log.Info("连接Gate验证成功!"); } catch (RpcException e) { diff --git a/Unity/Controller/Message/R2C_ServerLogHandler.cs b/Unity/Controller/Message/R2C_ServerLogHandler.cs new file mode 100644 index 00000000..653557c3 --- /dev/null +++ b/Unity/Controller/Message/R2C_ServerLogHandler.cs @@ -0,0 +1,14 @@ +using Base; +using Model; + +namespace Controller +{ + [MessageHandler(AppType.Client)] + public class R2C_ServerLogHandler: AMEvent + { + protected override void Run(Entity scene, R2C_ServerLog message) + { + Log.Debug($"[{message.AppType}][{message.AppId}] [{message.Type}] {message.Log}"); + } + } +} diff --git a/Unity/Controller/Message/S2C_ServerLogHandler.cs b/Unity/Controller/Message/S2C_ServerLogHandler.cs deleted file mode 100644 index 37173318..00000000 --- a/Unity/Controller/Message/S2C_ServerLogHandler.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Base; -using Model; - -namespace Controller -{ - [MessageHandler(AppType.Client)] - public class S2C_ServerLogHandler: AMEvent - { - protected override void Run(Entity scene, S2C_ServerLog message) - { - Log.Debug($"[{message.AppType}] [{message.Type}] {message.Log}"); - } - } -} diff --git a/Unity/Controller/Unity.Controller.csproj b/Unity/Controller/Unity.Controller.csproj index 347c3141..14ad3092 100644 --- a/Unity/Controller/Unity.Controller.csproj +++ b/Unity/Controller/Unity.Controller.csproj @@ -54,7 +54,7 @@ - + diff --git a/Unity/Unity.CSharp.Editor.csproj b/Unity/Unity.CSharp.Editor.csproj index 8b87525c..761f6af0 100644 --- a/Unity/Unity.CSharp.Editor.csproj +++ b/Unity/Unity.CSharp.Editor.csproj @@ -13,11 +13,13 @@ .NETFramework v3.5 Unity Full v3.5 - + + Editor:5 StandaloneWindows:5 5.4.2f1 - + + pdbonly @@ -112,7 +114,6 @@ - diff --git a/Unity/Unity.CSharp.csproj b/Unity/Unity.CSharp.csproj index 9544b092..61d45711 100644 --- a/Unity/Unity.CSharp.csproj +++ b/Unity/Unity.CSharp.csproj @@ -102,6 +102,7 @@ + -- GitLab