diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn index f7ed625..d4ef309 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/battle/Room8.tscn @@ -27,7 +27,7 @@ script = ExtResource("4_5ha7k") Type = 5 ItemExpression = "0002(ResidueAmmo:15,CurrAmmon:0)" -DelayTime = 3.0 +WaveNumber = 2 BirthRect = Vector2i(150, 150) [node name="EnemyMark2" type="Node2D" parent="."] @@ -37,5 +37,5 @@ Type = 4 ItemExpression = "0001" Layer = 1 -WaveNumber = 2 +WaveNumber = 3 Altitude = 0 diff --git a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn index 7376983..0e0932d 100644 --- a/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn +++ b/DungeonShooting_Godot/resource/map/tileMaps/testGroup/inlet/Room1.tscn @@ -15,3 +15,30 @@ script = ExtResource("3_pf56w") Type = 1 Altitude = 0 + +[node name="ActivityMark" type="Node2D" parent="."] +position = Vector2(126, 21) +script = ExtResource("3_pf56w") +Type = 5 +ItemExpression = "0002(ResidueAmmo:15,CurrAmmon:0)" + +[node name="ActivityMark2" type="Node2D" parent="."] +position = Vector2(39, 75) +script = ExtResource("3_pf56w") +Type = 5 +ItemExpression = "0001(ResidueAmmo:15,CurrAmmon:0)" +WaveNumber = 2 + +[node name="ActivityMark3" type="Node2D" parent="."] +position = Vector2(128, 74) +script = ExtResource("3_pf56w") +Type = 5 +ItemExpression = "0003(ResidueAmmo:15,CurrAmmon:0)" +WaveNumber = 3 + +[node name="ActivityMark4" type="Node2D" parent="."] +position = Vector2(39, 23) +script = ExtResource("3_pf56w") +Type = 5 +ItemExpression = "0004(ResidueAmmo:15,CurrAmmon:0)" +WaveNumber = 4 diff --git a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs index 506c75b..7c71e58 100644 --- a/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs +++ b/DungeonShooting_Godot/src/framework/map/mark/ActivityMark.cs @@ -76,7 +76,7 @@ //是否已经结束 private bool _isOver = true; - private float _overTimer = 0; + private float _overTimer = 1; private float _timer = 0; private RoomInfo _tempRoom; diff --git a/DungeonShooting_Godot/src/game/item/package/Holster.cs b/DungeonShooting_Godot/src/game/item/package/Holster.cs index a34e5e8..a487f64 100644 --- a/DungeonShooting_Godot/src/game/item/package/Holster.cs +++ b/DungeonShooting_Godot/src/game/item/package/Holster.cs @@ -340,30 +340,7 @@ { tempParent.RemoveChild(ActiveWeapon); Master.BackMountPoint.AddChild(ActiveWeapon); - if (ActiveIndex == 0) - { - ActiveWeapon.Position = new Vector2(0, 5); - ActiveWeapon.RotationDegrees = 50; - ActiveWeapon.Scale = new Vector2(-1, 1); - } - else if (ActiveIndex == 1) - { - ActiveWeapon.Position = new Vector2(0, 0); - ActiveWeapon.RotationDegrees = 120; - ActiveWeapon.Scale = new Vector2(1, -1); - } - else if (ActiveIndex == 2) - { - ActiveWeapon.Position = new Vector2(0, 5); - ActiveWeapon.RotationDegrees = 310; - ActiveWeapon.Scale = new Vector2(1, 1); - } - else if (ActiveIndex == 3) - { - ActiveWeapon.Position = new Vector2(0, 0); - ActiveWeapon.RotationDegrees = 60; - ActiveWeapon.Scale = new Vector2(1, 1); - } + Master.OnPutBackMount(ActiveWeapon, ActiveIndex); ActiveWeapon.Conceal(); } } @@ -383,6 +360,7 @@ weapon.Position = Vector2.Zero; weapon.Scale = Vector2.One; weapon.RotationDegrees = 0; + weapon.Visible = true; ActiveWeapon = weapon; ActiveIndex = index; ActiveWeapon.Active(); diff --git a/DungeonShooting_Godot/src/game/role/Role.cs b/DungeonShooting_Godot/src/game/role/Role.cs index 8cbc731..51d98f0 100644 --- a/DungeonShooting_Godot/src/game/role/Role.cs +++ b/DungeonShooting_Godot/src/game/role/Role.cs @@ -290,6 +290,67 @@ } } + /// + /// 当武器放到后背时调用, 用于设置武器位置和角度 + /// + /// 武器实例 + /// 放入武器袋的位置 + public virtual void OnPutBackMount(Weapon weapon, int index) + { + if (index == 0) + { + weapon.Position = new Vector2(0, 5); + weapon.RotationDegrees = 50; + weapon.Scale = new Vector2(-1, 1); + } + else if (index == 1) + { + weapon.Position = new Vector2(0, 0); + weapon.RotationDegrees = 120; + weapon.Scale = new Vector2(1, -1); + } + else if (index == 2) + { + weapon.Position = new Vector2(0, 5); + weapon.RotationDegrees = 310; + weapon.Scale = new Vector2(1, 1); + } + else if (index == 3) + { + weapon.Position = new Vector2(0, 0); + weapon.RotationDegrees = 60; + weapon.Scale = new Vector2(1, 1); + } + else + { + weapon.Visible = false; + } + // if (index == 0) + // { + // weapon.Position = new Vector2(0, 5); + // weapon.RotationDegrees = 50; + // weapon.Scale = new Vector2(-1, 1); + // } + // else if (index == 1) + // { + // weapon.Position = new Vector2(0, 0); + // weapon.RotationDegrees = 120; + // weapon.Scale = new Vector2(1, -1); + // } + // else if (index == 2) + // { + // weapon.Position = new Vector2(0, 5); + // weapon.RotationDegrees = 310; + // weapon.Scale = new Vector2(1, 1); + // } + // else if (index == 3) + // { + // weapon.Position = new Vector2(0, 0); + // weapon.RotationDegrees = 60; + // weapon.Scale = new Vector2(1, 1); + // } + } + protected override void OnAffiliationChange() { //身上的武器的所属区域也得跟着变 diff --git a/DungeonShooting_Godot/src/game/room/RoomManager.cs b/DungeonShooting_Godot/src/game/room/RoomManager.cs index 03c9c63..daf7a79 100644 --- a/DungeonShooting_Godot/src/game/room/RoomManager.cs +++ b/DungeonShooting_Godot/src/game/room/RoomManager.cs @@ -285,7 +285,7 @@ private void OnCheckEnemy() { var activeRoom = ActiveRoom; - if (activeRoom != null && activeRoom.IsSeclusion) + if (activeRoom != null)// && //activeRoom.IsSeclusion) { if (activeRoom.IsCurrWaveOver()) //所有标记执行完成 {