diff --git a/DungeonShooting_Godot/src/framework/map/DoorNavigationInfo.cs b/DungeonShooting_Godot/src/framework/map/DoorNavigationInfo.cs index ddb58e8..7a2e8f4 100644 --- a/DungeonShooting_Godot/src/framework/map/DoorNavigationInfo.cs +++ b/DungeonShooting_Godot/src/framework/map/DoorNavigationInfo.cs @@ -6,19 +6,30 @@ /// public class DoorNavigationInfo { - public DoorNavigationInfo(NavigationRegion2D navigationNode, NavigationPolygonData navigationData) + public DoorNavigationInfo(RoomDoorInfo doorInfo, NavigationPolygonData doorOpenNavigationData, NavigationPolygonData doorCloseNavigationData) { - NavigationNode = navigationNode; - NavigationData = navigationData; + DoorInfo = doorInfo; + DoorOpenNavigationData = doorOpenNavigationData; + DoorCloseNavigationData = doorCloseNavigationData; } /// + /// 绑定的门对象 + /// + public RoomDoorInfo DoorInfo; + + /// /// 导航区域节点 /// public NavigationRegion2D NavigationNode; /// - /// 导航形状数据 + /// 门开启时导航形状数据 /// - public NavigationPolygonData NavigationData; + public NavigationPolygonData DoorOpenNavigationData; + + /// + /// 门关闭时导航形状数据 + /// + public NavigationPolygonData DoorCloseNavigationData; } \ No newline at end of file diff --git a/DungeonShooting_Godot/src/framework/map/DungeonTile.cs b/DungeonShooting_Godot/src/framework/map/DungeonTile.cs index 9367ea4..5285acd 100644 --- a/DungeonShooting_Godot/src/framework/map/DungeonTile.cs +++ b/DungeonShooting_Godot/src/framework/map/DungeonTile.cs @@ -1,7 +1,5 @@ -using System; using System.Collections.Generic; -using System.Linq; using Godot; /// @@ -40,19 +38,7 @@ private readonly List _polygonDataList = new List(); //连接门的导航区域 - private readonly List _connectNavigationItemList = new List(); - - private class DoorNavigationItem - { - public NavigationPolygonData NavigationPolygonData; - public RoomDoorInfo DoorInfo; - - public DoorNavigationItem(NavigationPolygonData navigationPolygonData, RoomDoorInfo doorInfo) - { - NavigationPolygonData = navigationPolygonData; - DoorInfo = doorInfo; - } - } + private readonly List _connectNavigationItemList = new List(); //---------------------------------------------------- @@ -573,7 +559,8 @@ polygonData.Points.Add(p2); polygonData.Points.Add(p3); polygonData.Points.Add(p4); - _connectNavigationItemList.Add(new DoorNavigationItem(polygonData, doorInfo)); + //这里 NavigationPolygonData 需要计算, 后续补上 + _connectNavigationItemList.Add(new DoorNavigationInfo(doorInfo, null, polygonData)); } //报错数据 @@ -670,8 +657,8 @@ for (var i = 0; i < _connectNavigationItemList.Count; i++) { var item = _connectNavigationItemList[i]; - var node = CreateNavigationRegion(navigationRoot, item.NavigationPolygonData); - item.DoorInfo.Navigation = new DoorNavigationInfo(node, item.NavigationPolygonData); + item.NavigationNode = CreateNavigationRegion(navigationRoot, item.DoorCloseNavigationData); + item.DoorInfo.Navigation = item; } } @@ -703,7 +690,7 @@ var array = new NavigationPolygonData[_connectNavigationItemList.Count]; for (var i = 0; i < _connectNavigationItemList.Count; i++) { - array[i] = _connectNavigationItemList[i].NavigationPolygonData; + array[i] = _connectNavigationItemList[i].DoorCloseNavigationData; } return array; } diff --git a/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs b/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs index 2d5576d..7fb1847 100644 --- a/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs +++ b/DungeonShooting_Godot/src/game/item/weapon/gun/Shotgun.cs @@ -12,7 +12,7 @@ Sprite2D = ResourcePath.resource_sprite_gun_gun2_png; Weight = 40; CenterPosition = new Vector2(0.4f, -2.6f); - StartFiringSpeed = 300; + StartFiringSpeed = 400; StartScatteringRange = 30; FinalScatteringRange = 90; ScatteringRangeAddValue = 50f; diff --git a/DungeonShooting_Godot/src/game/room/RoomDoor.cs b/DungeonShooting_Godot/src/game/room/RoomDoor.cs index 0df20d9..a0252b5 100644 --- a/DungeonShooting_Godot/src/game/room/RoomDoor.cs +++ b/DungeonShooting_Godot/src/game/room/RoomDoor.cs @@ -50,7 +50,7 @@ IsClose = false; Visible = false; Collision.Disabled = true; - _door.Navigation.NavigationNode.Enabled = true; + //_door.Navigation.NavigationNode.Enabled = true; } /// @@ -61,6 +61,6 @@ IsClose = true; Visible = true; Collision.Disabled = false; - _door.Navigation.NavigationNode.Enabled = false; + //_door.Navigation.NavigationNode.Enabled = false; } } \ No newline at end of file