From 48f608e534dff454d7a6e5bf9f3eb46ec959a5ee Mon Sep 17 00:00:00 2001
From: BobSong <605277374@qq.com>
Date: Mon, 1 Sep 2025 23:57:00 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E7=9B=B8=E5=85=B3=E8=84=9A?=
=?UTF-8?q?=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/Scripts/Common/Events.cs | 2 +-
Assets/Scripts/Fishing2/Data/Map/Map.cs | 6 +-
.../Data/Map/Map2C_ChangeMapHandler.cs | 2 +-
Assets/Scripts/Fishing2/Data/Map/MapScene.cs | 9 ---
.../Fishing2/Data/Map/MapScene.cs.meta | 3 -
Assets/Scripts/Fishing2/Data/Role/Role.cs | 20 ------
.../Scripts/Fishing2/Data/System/MapSystem.cs | 30 +++++++--
.../Fishing2/Data/System/RoleSystem.cs | 36 ++++++++++
.../Fishing2/Data/System/RoleSystem.cs.meta | 3 +
.../Fishing2/Data/System/UnitSystem.cs | 6 +-
.../Data/Unit/{Unit.cs => MapUnit.cs} | 12 ++--
.../Unit/{Unit.cs.meta => MapUnit.cs.meta} | 0
.../Scripts/Fishing2/Data/Unit/UnitBasic.cs | 9 ---
.../Fishing2/Data/Unit/UnitBasic.cs.meta | 3 -
.../Fishing2/Data/Unit/UnitEventType.cs | 6 +-
.../Fishing2/Data/Unit/UnitStateArgs.cs | 2 +-
Assets/Scripts/Fishing2/Helper/MapHelper.cs | 57 ++++++++++++----
Assets/Scripts/Fishing2/Helper/ProtoHelper.cs | 34 ++++++++++
.../Fishing2/Helper/ProtoHelper.cs.meta | 3 +
Assets/Scripts/Fishing2/Helper/UnitHelper.cs | 8 ++-
.../View/System/UnitUnityComponentSystem.cs | 2 +-
.../NetworkProtocol/CommonProtoData.cs | 26 ++++++++
.../Generate/NetworkProtocol/MapProtoData.cs | 66 +------------------
.../Generate/NetworkProtocol/RoomMessage.cs | 2 +-
.../Model/Module/Numeric/NumericComponent.cs | 4 +-
Fishing2.sln.DotSettings.user | 1 +
26 files changed, 201 insertions(+), 151 deletions(-)
delete mode 100644 Assets/Scripts/Fishing2/Data/Map/MapScene.cs
delete mode 100644 Assets/Scripts/Fishing2/Data/Map/MapScene.cs.meta
create mode 100644 Assets/Scripts/Fishing2/Data/System/RoleSystem.cs
create mode 100644 Assets/Scripts/Fishing2/Data/System/RoleSystem.cs.meta
rename Assets/Scripts/Fishing2/Data/Unit/{Unit.cs => MapUnit.cs} (77%)
rename Assets/Scripts/Fishing2/Data/Unit/{Unit.cs.meta => MapUnit.cs.meta} (100%)
delete mode 100644 Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs
delete mode 100644 Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs.meta
create mode 100644 Assets/Scripts/Fishing2/Helper/ProtoHelper.cs
create mode 100644 Assets/Scripts/Fishing2/Helper/ProtoHelper.cs.meta
diff --git a/Assets/Scripts/Common/Events.cs b/Assets/Scripts/Common/Events.cs
index 68e43df8b..87794c09f 100644
--- a/Assets/Scripts/Common/Events.cs
+++ b/Assets/Scripts/Common/Events.cs
@@ -72,7 +72,7 @@ namespace NBF
///
public bool IsMainPlayer;
- public Unit Unit;
+ public MapUnit MapUnit;
// public UnitInfo UnitInfo;
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Map/Map.cs b/Assets/Scripts/Fishing2/Data/Map/Map.cs
index 909e5c99c..87a1524e5 100644
--- a/Assets/Scripts/Fishing2/Data/Map/Map.cs
+++ b/Assets/Scripts/Fishing2/Data/Map/Map.cs
@@ -6,6 +6,7 @@ namespace NBF.Fishing2
{
public class Map : Entity
{
+ public int MapId;
///
/// 好友房地图
///
@@ -14,8 +15,7 @@ namespace NBF.Fishing2
///
/// 地图中的单位
///
- public Dictionary Units = new Dictionary();
-
-
+ public Dictionary Units = new Dictionary();
}
+
}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Map/Map2C_ChangeMapHandler.cs b/Assets/Scripts/Fishing2/Data/Map/Map2C_ChangeMapHandler.cs
index d7274b28c..24c153a3f 100644
--- a/Assets/Scripts/Fishing2/Data/Map/Map2C_ChangeMapHandler.cs
+++ b/Assets/Scripts/Fishing2/Data/Map/Map2C_ChangeMapHandler.cs
@@ -10,7 +10,7 @@ namespace NBF
protected override async FTask Run(Session session, Map2C_ChangeMap message)
{
Log.Info($"收到地图切换消息=={message.MapId}");
- await MapHelper.LoadMap(message.MapId);
+ await MapHelper.ChangeMap(message.MapId);
// await MapHelper.CreateRoomTest(message.MapId);
}
diff --git a/Assets/Scripts/Fishing2/Data/Map/MapScene.cs b/Assets/Scripts/Fishing2/Data/Map/MapScene.cs
deleted file mode 100644
index 9a0082505..000000000
--- a/Assets/Scripts/Fishing2/Data/Map/MapScene.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using NBC.Entitas;
-
-namespace NBF.Fishing2
-{
- public class MapScene : Entity
- {
-
- }
-}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Map/MapScene.cs.meta b/Assets/Scripts/Fishing2/Data/Map/MapScene.cs.meta
deleted file mode 100644
index 26d563474..000000000
--- a/Assets/Scripts/Fishing2/Data/Map/MapScene.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: f4087371950b45cb8eaa0933cfbd9bee
-timeCreated: 1756365024
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Role/Role.cs b/Assets/Scripts/Fishing2/Data/Role/Role.cs
index 30e67857d..2a0ee34ed 100644
--- a/Assets/Scripts/Fishing2/Data/Role/Role.cs
+++ b/Assets/Scripts/Fishing2/Data/Role/Role.cs
@@ -9,24 +9,4 @@ namespace NBF.Fishing2
public long RoomId { get; set; }
public RoleInfo Info { get; set; }
}
-
-
- public static class RoleSystem
- {
- public class RoleDestroySystem : DestroySystem
- {
- protected override void Destroy(Role self)
- {
- self.RoomId = 0;
- self.Info = null;
- }
- }
-
- public static async FTask GetRoleInfo(this Role self)
- {
- var response = (Game2C_GetRoleInfoResponse)await Net.Call(new C2Game_GetRoleInfoRequest());
- self.RoomId = response.RoomId;
- self.Info = response.RoleInfo;
- }
- }
}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/System/MapSystem.cs b/Assets/Scripts/Fishing2/Data/System/MapSystem.cs
index 1c10f7070..eb01e1443 100644
--- a/Assets/Scripts/Fishing2/Data/System/MapSystem.cs
+++ b/Assets/Scripts/Fishing2/Data/System/MapSystem.cs
@@ -1,17 +1,36 @@
using System.Collections.Generic;
using NBC;
+using NBC.Entitas;
namespace NBF.Fishing2
{
public static class MapSystem
{
+ ///
+ /// 创建地图单位
+ ///
+ ///
+ public static void CreteSelfMapUnit(this Map map)
+ {
+ //创建自己
+ var role = map.Scene.GetComponent();
+ var mapUnitInfo = role.GetMapUnitInfo();
+ map.CreteMapUnit(mapUnitInfo);
+ }
+
+ public static void CreteMapUnit(this Map map, MapUnitInfo unitInfo)
+ {
+ var mapUnit = Entity.Create(map.Scene, unitInfo.RoleInfo.RoleId, true, true);
+ map.Add(mapUnit);
+ }
+
///
/// 获取一个单位
///
///
///
///
- public static Unit GetUnit(this Map self, long id)
+ public static MapUnit GetUnit(this Map self, long id)
{
return self.Units.GetValueOrDefault(id);
}
@@ -22,9 +41,9 @@ namespace NBF.Fishing2
///
///
///
- public static async FTask Enter(this Map map, Unit unit)
+ public static bool Add(this Map map, MapUnit unit)
{
- await FTask.CompletedTask;
+ map.Units.Add(unit.Id, unit);
return true;
}
@@ -34,10 +53,9 @@ namespace NBF.Fishing2
///
///
///
- public static async FTask Exit(this Map self, long id)
+ public static bool Remove(this Map self, long id)
{
- await FTask.CompletedTask;
- return true;
+ return self.Units.Remove(id);
}
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs b/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs
new file mode 100644
index 000000000..1a28b2026
--- /dev/null
+++ b/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs
@@ -0,0 +1,36 @@
+using NBC;
+using NBC.Entitas.Interface;
+
+namespace NBF.Fishing2
+{
+ public static class RoleSystem
+ {
+ public class RoleDestroySystem : DestroySystem
+ {
+ protected override void Destroy(Role self)
+ {
+ self.RoomId = 0;
+ self.Info = null;
+ }
+ }
+
+ public static async FTask GetRoleInfo(this Role self)
+ {
+ var response = (Game2C_GetRoleInfoResponse)await Net.Call(new C2Game_GetRoleInfoRequest());
+ self.RoomId = response.RoomId;
+ self.Info = response.RoleInfo;
+ }
+
+ public static MapUnitInfo GetMapUnitInfo(this Role self)
+ {
+ MapUnitInfo mapUnit = new MapUnitInfo();
+ mapUnit.Id = self.Id;
+ mapUnit.RoleInfo = new RoleSimpleInfo()
+ {
+
+ };
+
+ return mapUnit;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs.meta b/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs.meta
new file mode 100644
index 000000000..a8a3c8585
--- /dev/null
+++ b/Assets/Scripts/Fishing2/Data/System/RoleSystem.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 56a84b9175e14d59ad68a999f549a821
+timeCreated: 1756738863
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/System/UnitSystem.cs b/Assets/Scripts/Fishing2/Data/System/UnitSystem.cs
index 42eb1f1ec..0d20bc166 100644
--- a/Assets/Scripts/Fishing2/Data/System/UnitSystem.cs
+++ b/Assets/Scripts/Fishing2/Data/System/UnitSystem.cs
@@ -4,7 +4,7 @@ namespace NBF.Fishing2
{
public static class UnitSystem
{
- public static void SetUnitInfo(this Unit self, MapUnitInfo unitInfo)
+ public static void SetUnitInfo(this MapUnit self, MapUnitInfo unitInfo)
{
NumericComponent numericComponent = self.AddComponent();
foreach (var kv in unitInfo.KV)
@@ -13,12 +13,12 @@ namespace NBF.Fishing2
}
}
- public static UnitConfig Config(this Unit self)
+ public static UnitConfig Config(this MapUnit self)
{
return UnitConfig.Get(self.ConfigId);
}
- public static UnitType Type(this Unit self)
+ public static UnitType Type(this MapUnit self)
{
return self.Config().Type;
}
diff --git a/Assets/Scripts/Fishing2/Data/Unit/Unit.cs b/Assets/Scripts/Fishing2/Data/Unit/MapUnit.cs
similarity index 77%
rename from Assets/Scripts/Fishing2/Data/Unit/Unit.cs
rename to Assets/Scripts/Fishing2/Data/Unit/MapUnit.cs
index fc8918b36..5c8be8b47 100644
--- a/Assets/Scripts/Fishing2/Data/Unit/Unit.cs
+++ b/Assets/Scripts/Fishing2/Data/Unit/MapUnit.cs
@@ -7,7 +7,7 @@ namespace NBF.Fishing2
///
/// 单位
///
- public class Unit : Entity
+ public class MapUnit : Entity
{
public int ConfigId { get; set; } //配置表id
@@ -20,7 +20,7 @@ namespace NBF.Fishing2
{
float3 oldPos = position;
position = value;
- Scene.EventComponent.Publish(new ChangePosition() { Unit = this, OldPos = oldPos });
+ Scene.EventComponent.Publish(new ChangePosition() { MapUnit = this, OldPos = oldPos });
}
}
@@ -38,7 +38,7 @@ namespace NBF.Fishing2
set
{
rotation = value;
- Scene.EventComponent.Publish(new ChangeRotation() { Unit = this });
+ Scene.EventComponent.Publish(new ChangeRotation() { MapUnit = this });
}
}
@@ -47,15 +47,15 @@ namespace NBF.Fishing2
public void ChangeState(uint state, string args)
{
- Scene.EventComponent.Publish(new ChangeState() { Unit = this, State = state, Args = args });
+ Scene.EventComponent.Publish(new ChangeState() { MapUnit = this, State = state, Args = args });
}
#region 静态
- public static Unit Create(Map map, MapUnitInfo unitInfo, bool isMainPlayer = false)
+ public static MapUnit Create(Map map, MapUnitInfo unitInfo, bool isMainPlayer = false)
{
- var unit = Entity.Create(map.Scene, true, true);
+ var unit = Entity.Create(map.Scene, true, true);
unit.SetUnitInfo(unitInfo);
return null;
}
diff --git a/Assets/Scripts/Fishing2/Data/Unit/Unit.cs.meta b/Assets/Scripts/Fishing2/Data/Unit/MapUnit.cs.meta
similarity index 100%
rename from Assets/Scripts/Fishing2/Data/Unit/Unit.cs.meta
rename to Assets/Scripts/Fishing2/Data/Unit/MapUnit.cs.meta
diff --git a/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs b/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs
deleted file mode 100644
index de2ddf7fc..000000000
--- a/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using NBC.Entitas;
-
-namespace NBF.Fishing2
-{
- public class UnitBasic : Entity
- {
-
- }
-}
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs.meta b/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs.meta
deleted file mode 100644
index 09b54bbbf..000000000
--- a/Assets/Scripts/Fishing2/Data/Unit/UnitBasic.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: 19299372f58c4c1db612f36ce60ee238
-timeCreated: 1756116063
\ No newline at end of file
diff --git a/Assets/Scripts/Fishing2/Data/Unit/UnitEventType.cs b/Assets/Scripts/Fishing2/Data/Unit/UnitEventType.cs
index ca900bbb0..700b3c63a 100644
--- a/Assets/Scripts/Fishing2/Data/Unit/UnitEventType.cs
+++ b/Assets/Scripts/Fishing2/Data/Unit/UnitEventType.cs
@@ -4,18 +4,18 @@ namespace NBF.Fishing2
{
public struct ChangePosition
{
- public Unit Unit;
+ public MapUnit MapUnit;
public float3 OldPos;
}
public struct ChangeRotation
{
- public Unit Unit;
+ public MapUnit MapUnit;
}
public struct ChangeState
{
- public Unit Unit;
+ public MapUnit MapUnit;
public uint State;
public string Args;
}
diff --git a/Assets/Scripts/Fishing2/Data/Unit/UnitStateArgs.cs b/Assets/Scripts/Fishing2/Data/Unit/UnitStateArgs.cs
index 26fd114f8..bfe87d86f 100644
--- a/Assets/Scripts/Fishing2/Data/Unit/UnitStateArgs.cs
+++ b/Assets/Scripts/Fishing2/Data/Unit/UnitStateArgs.cs
@@ -2,7 +2,7 @@
{
public class UnitStateArgsFactory
{
- public static UnitStateArgs Create(Unit unit, string[] args)
+ public static UnitStateArgs Create(MapUnit mapUnit, string[] args)
{
UnitStateArgs ret = null;
// return new UnitStateArgs()
diff --git a/Assets/Scripts/Fishing2/Helper/MapHelper.cs b/Assets/Scripts/Fishing2/Helper/MapHelper.cs
index 3c38250d7..479b5e4df 100644
--- a/Assets/Scripts/Fishing2/Helper/MapHelper.cs
+++ b/Assets/Scripts/Fishing2/Helper/MapHelper.cs
@@ -1,10 +1,13 @@
using System;
using NBC;
+using NBC.Entitas;
namespace NBF.Fishing2
{
public static class MapHelper
{
+ #region Map
+
///
/// 开始进入地图
///
@@ -22,9 +25,9 @@ namespace NBF.Fishing2
//如果有房间
if (roomId > 0)
{
- //请求获取房间数据
-
+ //加入房间并请求获取房间数据
}
+
// 等待场景切换完成
await root.GetComponent().Wait();
Log.Info($"等待场景切换结束");
@@ -40,19 +43,16 @@ namespace NBF.Fishing2
}
- public static async FTask LoadMap(int mapId)
+ public static async FTask ChangeMap(int mapId)
{
LoadingPanel.Show();
- var sceneName = "Map99";
- //加载场景==
- await SceneHelper.LoadScene(sceneName);
+
+ var oldMap = App.Main.GetComponent