Ver Fonte

Hotfix中的Hotfix类也重命名为Game,这样要使用Mono层的Game就要用Model.Game来调用,有编译器检查,一般不会错,

tanghai há 8 anos atrás
pai
commit
2f8c15a72d

+ 5 - 14
Unity/Assets/Scripts/Entity/UI.cs

@@ -4,18 +4,16 @@ using UnityEngine;
 namespace Model
 {
 	[ObjectSystem]
-	public class UiAwakeSystem : AwakeSystem<UI, Scene, UI, GameObject>
+	public class UiAwakeSystem : AwakeSystem<UI, GameObject>
 	{
-		public override void Awake(UI self, Scene scene, UI parent, GameObject gameObject)
+		public override void Awake(UI self, GameObject gameObject)
 		{
-			self.Awake(scene, parent, gameObject);
+			self.Awake(gameObject);
 		}
 	}
 
 	public sealed class UI: Entity
 	{
-		public Scene Scene { get; set; }
-
 		public string Name
 		{
 			get
@@ -28,16 +26,9 @@ namespace Model
 
 		public Dictionary<string, UI> children = new Dictionary<string, UI>();
 		
-		public void Awake(Scene scene, UI parent, GameObject gameObject)
+		public void Awake(GameObject gameObject)
 		{
 			this.children.Clear();
-			
-			this.Scene = scene;
-
-			if (parent != null)
-			{
-				gameObject.transform.SetParent(parent.GameObject.transform, false);
-			}
 			this.GameObject = gameObject;
 		}
 
@@ -94,7 +85,7 @@ namespace Model
 			{
 				return null;
 			}
-			child = ComponentFactory.Create<UI, Scene, UI, GameObject>(this.Scene, this, childGameObject);
+			child = ComponentFactory.Create<UI, GameObject>(childGameObject);
 			this.Add(child);
 			return child;
 		}

+ 1 - 1
Unity/Assets/Scripts/UI/UILoading/Factory/UILoadingFactory.cs

@@ -13,7 +13,7 @@ namespace Model
 				GameObject bundleGameObject = ((GameObject)Resources.Load("KV")).Get<GameObject>("UILoading");
 				GameObject go = UnityEngine.Object.Instantiate(bundleGameObject);
 				go.layer = LayerMask.NameToLayer(LayerNames.UI);
-				UI ui = ComponentFactory.Create<UI, Scene, UI, GameObject>(scene, null, go);
+				UI ui = ComponentFactory.Create<UI, GameObject>(go);
 
 				ui.AddComponent<UILoadingComponent>();
 				return ui;

+ 24 - 24
Unity/Hotfix/Base/Object/ComponentFactory.cs

@@ -6,93 +6,93 @@ namespace Hotfix
 	{
 		public static T CreateWithParent<T>(Component parent) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Parent = parent;
-			Hotfix.EventSystem.Awake(disposer);
+			Game.EventSystem.Awake(disposer);
 			return disposer;
 		}
 
 		public static T CreateWithParent<T, A>(Component parent, A a) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Parent = parent;
-			Hotfix.EventSystem.Awake(disposer, a);
+			Game.EventSystem.Awake(disposer, a);
 			return disposer;
 		}
 
 		public static T CreateWithParent<T, A, B>(Component parent, A a, B b) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Parent = parent;
-			Hotfix.EventSystem.Awake(disposer, a, b);
+			Game.EventSystem.Awake(disposer, a, b);
 			return disposer;
 		}
 
 		public static T CreateWithParent<T, A, B, C>(Component parent, A a, B b, C c) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Parent = parent;
-			Hotfix.EventSystem.Awake(disposer, a, b, c);
+			Game.EventSystem.Awake(disposer, a, b, c);
 			return disposer;
 		}
 
 		public static T Create<T>() where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
-			Hotfix.EventSystem.Awake(disposer);
+			T disposer = Game.ObjectPool.Fetch<T>();
+			Game.EventSystem.Awake(disposer);
 			return disposer;
 		}
 
 		public static T Create<T, A>(A a) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
-			Hotfix.EventSystem.Awake(disposer, a);
+			T disposer = Game.ObjectPool.Fetch<T>();
+			Game.EventSystem.Awake(disposer, a);
 			return disposer;
 		}
 
 		public static T Create<T, A, B>(A a, B b) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
-			Hotfix.EventSystem.Awake(disposer, a, b);
+			T disposer = Game.ObjectPool.Fetch<T>();
+			Game.EventSystem.Awake(disposer, a, b);
 			return disposer;
 		}
 
 		public static T Create<T, A, B, C>(A a, B b, C c) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
-			Hotfix.EventSystem.Awake(disposer, a, b, c);
+			T disposer = Game.ObjectPool.Fetch<T>();
+			Game.EventSystem.Awake(disposer, a, b, c);
 			return disposer;
 		}
 
 		public static T CreateWithId<T>(long id) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Id = id;
-			Hotfix.EventSystem.Awake(disposer);
+			Game.EventSystem.Awake(disposer);
 			return disposer;
 		}
 
 		public static T CreateWithId<T, A>(long id, A a) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Id = id;
-			Hotfix.EventSystem.Awake(disposer, a);
+			Game.EventSystem.Awake(disposer, a);
 			return disposer;
 		}
 
 		public static T CreateWithId<T, A, B>(long id, A a, B b) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Id = id;
-			Hotfix.EventSystem.Awake(disposer, a, b);
+			Game.EventSystem.Awake(disposer, a, b);
 			return disposer;
 		}
 
 		public static T CreateWithId<T, A, B, C>(long id, A a, B b, C c) where T : Component
 		{
-			T disposer = Hotfix.ObjectPool.Fetch<T>();
+			T disposer = Game.ObjectPool.Fetch<T>();
 			disposer.Id = id;
-			Hotfix.EventSystem.Awake(disposer, a, b, c);
+			Game.EventSystem.Awake(disposer, a, b, c);
 			return disposer;
 		}
 	}

+ 1 - 1
Unity/Hotfix/Base/Object/Disposer.cs

@@ -19,7 +19,7 @@ namespace Hotfix
 
 			if (this.IsFromPool)
 			{
-				Hotfix.ObjectPool.Recycle(this);
+				Game.ObjectPool.Recycle(this);
 			}
 		}
 	}

+ 6 - 32
Unity/Hotfix/Base/Object/EventSystem.cs

@@ -4,32 +4,6 @@ using Model;
 
 namespace Hotfix
 {
-	public interface IObjectSystem
-	{
-		Type Type();
-		void Set(object value);
-	}
-
-	public abstract class ObjectSystem<T> : IObjectSystem
-	{
-		private T value;
-
-		protected T Get()
-		{
-			return value;
-		}
-
-		public void Set(object v)
-		{
-			this.value = (T)v;
-		}
-
-		public Type Type()
-		{
-			return typeof(T);
-		}
-	}
-
 	public sealed class EventSystem
 	{
 		private readonly Dictionary<int, List<IEvent>> allEvents = new Dictionary<int, List<IEvent>>();
@@ -59,7 +33,7 @@ namespace Hotfix
 
 		public EventSystem()
 		{
-			Type[] types = Game.Hotfix.GetHotfixTypes();
+			Type[] types = Model.Game.Hotfix.GetHotfixTypes();
 			foreach (Type type in types)
 			{
 				object[] attrs = type.GetCustomAttributes(typeof(ObjectSystemAttribute), false);
@@ -120,7 +94,7 @@ namespace Hotfix
 
 					// hotfix的事件也要注册到mono层,hotfix可以订阅mono层的事件
 					Action<List<object>> action = list => { Handle(aEventAttribute.Type, list); };
-					Game.EventSystem.RegisterEvent(aEventAttribute.Type, new EventProxy(action));
+					Model.Game.EventSystem.RegisterEvent(aEventAttribute.Type, new EventProxy(action));
 				}
 			}
 
@@ -132,16 +106,16 @@ namespace Hotfix
 			switch (param.Count)
 			{
 				case 0:
-					Hotfix.EventSystem.Run(type);
+					Game.EventSystem.Run(type);
 					break;
 				case 1:
-					Hotfix.EventSystem.Run(type, param[0]);
+					Game.EventSystem.Run(type, param[0]);
 					break;
 				case 2:
-					Hotfix.EventSystem.Run(type, param[0], param[1]);
+					Game.EventSystem.Run(type, param[0], param[1]);
 					break;
 				case 3:
-					Hotfix.EventSystem.Run(type, param[0], param[1], param[2]);
+					Game.EventSystem.Run(type, param[0], param[1], param[2]);
 					break;
 			}
 		}

+ 1 - 1
Unity/Hotfix/Entity/Hotfix.cs → Unity/Hotfix/Entity/Game.cs

@@ -1,6 +1,6 @@
 namespace Hotfix
 {
-	public static class Hotfix
+	public static class Game
 	{
 		private static Scene scene;
 

+ 1 - 2
Unity/Hotfix/Entity/UI.cs

@@ -4,7 +4,7 @@ using UnityEngine;
 namespace Hotfix
 {
 	[Model.ObjectSystem]
-	public class UiSystem : AwakeSystem<UI, GameObject>
+	public class UiAwakeSystem : AwakeSystem<UI, GameObject>
 	{
 		public override void Awake(UI self, GameObject gameObject)
 		{
@@ -12,7 +12,6 @@ namespace Hotfix
 		}
 	}
 	
-	
 	public sealed class UI: Entity
 	{
 		public string Name

+ 4 - 4
Unity/Hotfix/Handler/Actor_CreateUnitsHandler.cs

@@ -9,10 +9,10 @@ namespace Hotfix
 		protected override void Run(Session session, Actor_CreateUnits message)
 		{
 			// 加载Unit资源
-			ResourcesComponent resourcesComponent = Game.Scene.GetComponent<ResourcesComponent>();
+			ResourcesComponent resourcesComponent = Model.Game.Scene.GetComponent<ResourcesComponent>();
 			resourcesComponent.LoadBundle($"Unit.unity3d");
 			
-			UnitComponent unitComponent = Game.Scene.GetComponent<UnitComponent>();
+			UnitComponent unitComponent = Model.Game.Scene.GetComponent<UnitComponent>();
 			
 			foreach (UnitInfo unitInfo in message.Units)
 			{
@@ -26,11 +26,11 @@ namespace Hotfix
 
 				if (PlayerComponent.Instance.MyPlayer.UnitId == unit.Id)
 				{
-					Game.Scene.GetComponent<CameraComponent>().Unit = unit;
+					Model.Game.Scene.GetComponent<CameraComponent>().Unit = unit;
 				}
 			}
 
-			Hotfix.Scene.AddComponent<OperaComponent>();
+			Game.Scene.AddComponent<OperaComponent>();
 		}
 	}
 }

+ 1 - 1
Unity/Hotfix/Handler/Frame_ClickMapHandler.cs

@@ -8,7 +8,7 @@ namespace Hotfix
 	{
 		protected override void Run(Session session, Frame_ClickMap message)
 		{
-			Unit unit = Game.Scene.GetComponent<UnitComponent>().Get(message.Id);
+			Unit unit = Model.Game.Scene.GetComponent<UnitComponent>().Get(message.Id);
 			MoveComponent moveComponent = unit.GetComponent<MoveComponent>();
 			Vector3 dest = new Vector3(message.X / 1000f, 0, message.Z / 1000f);
 			moveComponent.MoveToDest(dest, 1);

+ 12 - 12
Unity/Hotfix/Init.cs

@@ -9,25 +9,25 @@ namespace Hotfix
 		{
 			try
 			{
-				Hotfix.Scene.ModelScene = Game.Scene;
+				Game.Scene.ModelScene = Model.Game.Scene;
 
 				// 注册热更层回调
-				Game.Hotfix.Update = () => { Update(); };
-				Game.Hotfix.LateUpdate = () => { LateUpdate(); };
-				Game.Hotfix.OnApplicationQuit = () => { OnApplicationQuit(); };
+				Model.Game.Hotfix.Update = () => { Update(); };
+				Model.Game.Hotfix.LateUpdate = () => { LateUpdate(); };
+				Model.Game.Hotfix.OnApplicationQuit = () => { OnApplicationQuit(); };
 
 				// 注册热更层消息回调
 				ClientDispatcher clientDispatcher = new ClientDispatcher
 				{
 					HotfixCallback = (s, p) => { HotfixMessageDispatcher.Run(s, p); }
 				};
-				Game.Scene.GetComponent<NetOuterComponent>().MessageDispatcher = clientDispatcher;
+				Model.Game.Scene.GetComponent<NetOuterComponent>().MessageDispatcher = clientDispatcher;
 
-				Hotfix.Scene.AddComponent<UIComponent>();
-				Hotfix.Scene.AddComponent<OpcodeTypeComponent>();
-				Hotfix.Scene.AddComponent<MessageDispatherComponent>();
+				Game.Scene.AddComponent<UIComponent>();
+				Game.Scene.AddComponent<OpcodeTypeComponent>();
+				Game.Scene.AddComponent<MessageDispatherComponent>();
 
-				Hotfix.EventSystem.Run(EventIdType.InitSceneStart);
+				Game.EventSystem.Run(EventIdType.InitSceneStart);
 			}
 			catch (Exception e)
 			{
@@ -39,7 +39,7 @@ namespace Hotfix
 		{
 			try
 			{
-				Hotfix.EventSystem.Update();
+				Game.EventSystem.Update();
 			}
 			catch (Exception e)
 			{
@@ -51,7 +51,7 @@ namespace Hotfix
 		{
 			try
 			{
-				Hotfix.EventSystem.LateUpdate();
+				Game.EventSystem.LateUpdate();
 			}
 			catch (Exception e)
 			{
@@ -61,7 +61,7 @@ namespace Hotfix
 
 		public static void OnApplicationQuit()
 		{
-			Hotfix.Close();
+			Game.Close();
 		}
 	}
 }

+ 2 - 2
Unity/Hotfix/Module/Message/HotfixMessageDispatcher.cs

@@ -8,9 +8,9 @@ namespace Hotfix
 		public static void Run(Session session, PacketInfo packetInfo)
 		{
 			ushort opcode = packetInfo.Opcode;
-			Type t = Hotfix.Scene.GetComponent<OpcodeTypeComponent>().GetType(opcode);
+			Type t = Game.Scene.GetComponent<OpcodeTypeComponent>().GetType(opcode);
 			object message = ProtobufHelper.FromBytes(t, packetInfo.Bytes, packetInfo.Index, packetInfo.Length);
-			Hotfix.Scene.GetComponent<MessageDispatherComponent>().Handle(session, new MessageInfo(packetInfo.RpcId, packetInfo.Opcode, message));
+			Game.Scene.GetComponent<MessageDispatherComponent>().Handle(session, new MessageInfo(packetInfo.RpcId, packetInfo.Opcode, message));
 		}
 	}
 }

+ 3 - 3
Unity/Hotfix/Module/Message/MessageDispatherComponent.cs

@@ -38,10 +38,10 @@ namespace Hotfix
 		{
 			this.handlers.Clear();
 
-			Model.MessageDispatherComponent messageDispatherComponent = Game.Scene.GetComponent<Model.MessageDispatherComponent>();
-			Model.OpcodeTypeComponent opcodeTypeComponent = Game.Scene.GetComponent<Model.OpcodeTypeComponent>();
+			Model.MessageDispatherComponent messageDispatherComponent = Model.Game.Scene.GetComponent<Model.MessageDispatherComponent>();
+			Model.OpcodeTypeComponent opcodeTypeComponent = Model.Game.Scene.GetComponent<Model.OpcodeTypeComponent>();
 
-			Type[] types = Game.Hotfix.GetHotfixTypes();
+			Type[] types = Model.Game.Hotfix.GetHotfixTypes();
 
 			foreach (Type type in types)
 			{

+ 1 - 1
Unity/Hotfix/Module/Message/OpcodeTypeComponent.cs

@@ -18,7 +18,7 @@ namespace Hotfix
 
 		public void Awake()
 		{
-			Type[] types = Game.Hotfix.GetHotfixTypes();
+			Type[] types = Model.Game.Hotfix.GetHotfixTypes();
 			foreach (Type type in types)
 			{
 				object[] attrs = type.GetCustomAttributes(typeof(MessageAttribute), false);

+ 2 - 2
Unity/Hotfix/Module/Message/SessionHelper.cs

@@ -8,14 +8,14 @@ namespace Hotfix
 	{
 		public static void Send(this Session session, IMessage message)
 		{
-			ushort opcode = Hotfix.Scene.GetComponent<OpcodeTypeComponent>().GetOpcode(message.GetType());
+			ushort opcode = Game.Scene.GetComponent<OpcodeTypeComponent>().GetOpcode(message.GetType());
 			byte[] bytes = ProtobufHelper.ToBytes(message);
 			session.Send(opcode, bytes);
 		}
 
 		public static async Task<IResponse> Call(this Session session, IRequest request)
 		{
-			OpcodeTypeComponent opcodeTypeComponent = Hotfix.Scene.GetComponent<OpcodeTypeComponent>();
+			OpcodeTypeComponent opcodeTypeComponent = Game.Scene.GetComponent<OpcodeTypeComponent>();
 			byte[] bytes = ProtobufHelper.ToBytes(request);
 			ushort opcode = opcodeTypeComponent.GetOpcode(request.GetType());
 			PacketInfo packetInfo = await session.Call(opcode, bytes);

+ 1 - 1
Unity/Hotfix/Module/UI/UIComponent.cs

@@ -67,7 +67,7 @@ namespace Hotfix
 		{
 			UiTypes.Clear();
             
-            Type[] types = Game.Hotfix.GetHotfixTypes();
+            Type[] types = Model.Game.Hotfix.GetHotfixTypes();
 
 			foreach (Type type in types)
 			{

+ 1 - 1
Unity/Hotfix/UI/UILobby/Component/UILobbyComponent.cs

@@ -82,7 +82,7 @@ namespace Hotfix
 			try
 			{
 				G2C_EnterMap g2CEnterMap = (G2C_EnterMap)await SessionComponent.Instance.Session.Call(new C2G_EnterMap());
-				Hotfix.Scene.GetComponent<UIComponent>().Remove(UIType.UILobby);
+				Game.Scene.GetComponent<UIComponent>().Remove(UIType.UILobby);
 			}
 			catch (Exception e)
 			{

+ 2 - 2
Unity/Hotfix/UI/UILobby/Factory/UILobbyFactory.cs

@@ -11,7 +11,7 @@ namespace Hotfix
         {
 	        try
 	        {
-				ResourcesComponent resourcesComponent = Game.Scene.GetComponent<ResourcesComponent>();
+				ResourcesComponent resourcesComponent = Model.Game.Scene.GetComponent<ResourcesComponent>();
 		        resourcesComponent.LoadBundle($"{type}.unity3d");
 				GameObject bundleGameObject = resourcesComponent.GetAsset<GameObject>($"{type}.unity3d", $"{type}");
 				GameObject lobby = UnityEngine.Object.Instantiate(bundleGameObject);
@@ -30,7 +30,7 @@ namespace Hotfix
 
 	    public void Remove(UIType type)
 	    {
-		    Game.Scene.GetComponent<ResourcesComponent>().UnloadBundle($"{type}.unity3d");
+		    Model.Game.Scene.GetComponent<ResourcesComponent>().UnloadBundle($"{type}.unity3d");
 		}
     }
 }

+ 6 - 6
Unity/Hotfix/UI/UILogin/Component/UILoginComponent.cs

@@ -37,25 +37,25 @@ namespace Hotfix
 				string text = this.account.GetComponent<InputField>().text;
 
 				R2C_Login r2CLogin;
-				using (Session session = Game.Scene.GetComponent<NetOuterComponent>().Create(connetEndPoint))
+				using (Session session = Model.Game.Scene.GetComponent<NetOuterComponent>().Create(connetEndPoint))
 				{
 					r2CLogin = (R2C_Login) await session.Call(new C2R_Login() { Account = text, Password = "111111" });
 				}
 
 				connetEndPoint = NetworkHelper.ToIPEndPoint(r2CLogin.Address);
-				Session gateSession = Game.Scene.GetComponent<NetOuterComponent>().Create(connetEndPoint);
-				Game.Scene.AddComponent<SessionComponent>().Session = gateSession;
+				Session gateSession = Model.Game.Scene.GetComponent<NetOuterComponent>().Create(connetEndPoint);
+				Model.Game.Scene.AddComponent<SessionComponent>().Session = gateSession;
 				G2C_LoginGate g2CLoginGate = (G2C_LoginGate)await SessionComponent.Instance.Session.Call(new C2G_LoginGate() { Key = r2CLogin.Key });
 
 				Log.Info("登陆gate成功!");
 
 				// 创建Player
 				Player player = Model.ComponentFactory.CreateWithId<Player>(g2CLoginGate.PlayerId);
-				PlayerComponent playerComponent = Game.Scene.GetComponent<PlayerComponent>();
+				PlayerComponent playerComponent = Model.Game.Scene.GetComponent<PlayerComponent>();
 				playerComponent.MyPlayer = player;
 
-				Hotfix.Scene.GetComponent<UIComponent>().Create(UIType.UILobby);
-				Hotfix.Scene.GetComponent<UIComponent>().Remove(UIType.UILogin);
+				Game.Scene.GetComponent<UIComponent>().Create(UIType.UILobby);
+				Game.Scene.GetComponent<UIComponent>().Remove(UIType.UILogin);
 			}
 			catch (Exception e)
 			{

+ 1 - 1
Unity/Hotfix/UI/UILogin/Event/InitSceneStart_CreateLoginUI.cs

@@ -7,7 +7,7 @@ namespace Hotfix
 	{
 		public override void Run()
 		{
-			UI ui = Hotfix.Scene.GetComponent<UIComponent>().Create(UIType.UILogin);
+			UI ui = Game.Scene.GetComponent<UIComponent>().Create(UIType.UILogin);
 		}
 	}
 }

+ 2 - 2
Unity/Hotfix/UI/UILogin/Factory/UILoginFactory.cs

@@ -11,7 +11,7 @@ namespace Hotfix
         {
 	        try
 			{
-				ResourcesComponent resourcesComponent = Game.Scene.GetComponent<ResourcesComponent>();
+				ResourcesComponent resourcesComponent = Model.Game.Scene.GetComponent<ResourcesComponent>();
 				resourcesComponent.LoadBundle($"{type}.unity3d");
 				GameObject bundleGameObject = resourcesComponent.GetAsset<GameObject>($"{type}.unity3d", $"{type}");
 				GameObject login = UnityEngine.Object.Instantiate(bundleGameObject);
@@ -30,7 +30,7 @@ namespace Hotfix
 
 	    public void Remove(UIType type)
 	    {
-			Game.Scene.GetComponent<ResourcesComponent>().UnloadBundle($"{type}.unity3d");
+			Model.Game.Scene.GetComponent<ResourcesComponent>().UnloadBundle($"{type}.unity3d");
 	    }
     }
 }

+ 1 - 1
Unity/Hotfix/Unity.Hotfix.csproj

@@ -83,7 +83,7 @@
     <Compile Include="Module\Message\MessageDispatherComponent.cs" />
     <Compile Include="Module\Message\OpcodeTypeComponent.cs" />
     <Compile Include="Module\UI\UIComponent.cs" />
-    <Compile Include="Entity\Hotfix.cs" />
+    <Compile Include="Entity\Game.cs" />
     <Compile Include="Entity\Scene.cs" />
     <Compile Include="Module\Message\HotfixMessage.cs" />
     <Compile Include="Module\Message\SessionHelper.cs" />