Просмотр исходного кода

调整Scene id跟instanceId,如果不指定Scene的Id,那么InstanceId就当做Scene Id

tanghai 4 лет назад
Родитель
Сommit
d1d1dfc802

+ 0 - 3
Robot/Model/Robot.Model.csproj

@@ -96,8 +96,5 @@
       <PackageReference Include="NLog" Version="4.7.10" />
       <PackageReference Include="SharpZipLib" Version="1.3.2" />
     </ItemGroup>
-    <ItemGroup>
-      <Folder Include="Robot" />
-    </ItemGroup>
 
 </Project>

+ 11 - 0
Robot/Model/Robot/RobotFactory.cs

@@ -0,0 +1,11 @@
+namespace ET
+{
+    public static class RobotFactory
+    {
+        public static Scene Create()
+        {
+            return null;
+            //EntitySceneFactory.CreateScene()
+        }
+    }
+}

+ 1 - 1
Server/Hotfix/Demo/AppStart_Init.cs

@@ -36,7 +36,7 @@ namespace ET
             var processScenes = StartSceneConfigCategory.Instance.GetByProcess(Game.Options.Process);
             foreach (StartSceneConfig startConfig in processScenes)
             {
-                await SceneFactory.Create(Game.Scene, startConfig.SceneId, startConfig.Zone, startConfig.Name, startConfig.Type, startConfig);
+                await SceneFactory.Create(Game.Scene, startConfig.InstanceId, startConfig.Zone, startConfig.Name, startConfig.Type, startConfig);
             }
 
             switch (Game.Options.AppType)

+ 1 - 1
Server/Hotfix/Demo/C2G_EnterMapHandler.cs

@@ -10,7 +10,7 @@ namespace ET
 		{
 			Player player = session.GetComponent<SessionPlayerComponent>().Player;
 			// 在map服务器上创建战斗Unit
-			long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(session.DomainZone(), "Map").SceneId;
+			long mapInstanceId = StartSceneConfigCategory.Instance.GetBySceneName(session.DomainZone(), "Map").InstanceId;
 			M2G_CreateUnit createUnit = (M2G_CreateUnit)await ActorMessageSenderComponent.Instance.Call(
 				mapInstanceId, new G2M_CreateUnit() { PlayerId = player.Id, GateSessionId = session.InstanceId });
 			player.UnitId = createUnit.UnitId;

+ 1 - 1
Server/Hotfix/Demo/C2R_LoginHandler.cs

@@ -15,7 +15,7 @@ namespace ET
 			
 			// 向gate请求一个key,客户端可以拿着这个key连接gate
 			G2R_GetLoginKey g2RGetLoginKey = (G2R_GetLoginKey) await ActorMessageSenderComponent.Instance.Call(
-				config.SceneId, new R2G_GetLoginKey() {Account = request.Account});
+				config.InstanceId, new R2G_GetLoginKey() {Account = request.Account});
 
 			response.Address = config.OuterIPPort.ToString();
 			response.Key = g2RGetLoginKey.Key;

+ 3 - 3
Server/Hotfix/Demo/Scene/SceneFactory.cs

@@ -8,14 +8,14 @@ namespace ET
     {
         public static async ETTask<Scene> Create(Entity parent, string name, SceneType sceneType)
         {
-            long id = IdGenerater.Instance.GenerateId();
+            long id = IdGenerater.Instance.GenerateInstanceId();
             return await Create(parent, id, parent.DomainZone(), name, sceneType);
         }
         
-        public static async ETTask<Scene> Create(Entity parent, long id, int zone, string name, SceneType sceneType, StartSceneConfig startSceneConfig = null)
+        public static async ETTask<Scene> Create(Entity parent, long instanceId, int zone, string name, SceneType sceneType, StartSceneConfig startSceneConfig = null)
         {
             await ETTask.CompletedTask;
-            Scene scene = EntitySceneFactory.CreateScene(id, zone, sceneType, name);
+            Scene scene = EntitySceneFactory.CreateScene(instanceId, zone, sceneType, name);
             scene.Parent = parent;
 
             scene.AddComponent<MailBoxComponent, MailboxType>(MailboxType.UnOrderMessageDispatcher);

+ 1 - 1
Server/Hotfix/Module/ActorLocation/LocationProxyComponentSystem.cs

@@ -24,7 +24,7 @@ namespace ET
     {
         private static long GetLocationSceneId(long key)
         {
-            return StartSceneConfigCategory.Instance.LocationConfig.SceneId;
+            return StartSceneConfigCategory.Instance.LocationConfig.InstanceId;
         }
 
         public static async ETTask Add(this LocationProxyComponent self, long key, long instanceId)

+ 2 - 2
Server/Model/Generate/ConfigPartial/StartSceneConfig.cs

@@ -51,7 +51,7 @@ namespace ET
     
     public partial class StartSceneConfig: ISupportInitialize
     {
-        public long SceneId;
+        public long InstanceId;
         
         public SceneType Type;
 
@@ -111,7 +111,7 @@ namespace ET
         {
             this.Type = EnumHelper.FromString<SceneType>(this.SceneType);
             InstanceIdStruct instanceIdStruct = new InstanceIdStruct(this.Process, (uint) this.Id);
-            this.SceneId = instanceIdStruct.ToLong();
+            this.InstanceId = instanceIdStruct.ToLong();
         }
     }
 }

+ 4 - 4
Unity/Assets/Model/Core/Entity/EntitySceneFactory.cs

@@ -12,9 +12,9 @@
             return scene;
         }
 
-        public static Scene CreateScene(long id, int zone, SceneType sceneType, string name, Entity parent = null)
+        public static Scene CreateScene(long instanceId, int zone, SceneType sceneType, string name, Entity parent = null)
         {
-            Scene scene = new Scene(id, zone, sceneType, name);
+            Scene scene = new Scene(instanceId, zone, sceneType, name);
             scene.IsRegister = true;
             scene.Parent = parent;
             scene.Domain = scene;
@@ -24,8 +24,8 @@
 
         public static Scene CreateScene(int zone, SceneType sceneType, string name, Entity parent = null)
         {
-            long id = IdGenerater.Instance.GenerateId();
-            Scene scene = new Scene(id, zone, sceneType, name);
+            long instanceId = IdGenerater.Instance.GenerateInstanceId();
+            Scene scene = new Scene(instanceId, zone, sceneType, name);
             scene.IsRegister = true;
             scene.Parent = parent;
             scene.Domain = scene;

+ 1 - 2
Unity/Assets/Model/Core/Entity/Game.cs

@@ -20,8 +20,7 @@ namespace ET
                 {
                     return scene;
                 }
-                InstanceIdStruct instanceIdStruct = new InstanceIdStruct(Options.Process, 0);
-                scene = EntitySceneFactory.CreateScene(instanceIdStruct.ToLong(), 0, SceneType.Process, "Process");
+                scene = EntitySceneFactory.CreateScene(IdGenerater.Instance.GenerateInstanceId(), 0, SceneType.Process, "Process");
                 return scene;
             }
         }

+ 3 - 3
Unity/Assets/Model/Core/Entity/Scene.cs

@@ -18,10 +18,10 @@
             set;
         }
 
-        public Scene(long id, int zone, SceneType sceneType, string name)
+        public Scene(long instanceId, int zone, SceneType sceneType, string name)
         {
-            this.Id = id;
-            this.InstanceId = id;
+            this.Id = instanceId;
+            this.InstanceId = instanceId;
             this.Zone = zone;
             this.SceneType = sceneType;
             this.Name = name;