diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx index 1d48dde..acccf7f 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx index fbe2bac..a4130c3 100644 --- a/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/ActivityMaterial.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx index 73f833f..e635cb7 100644 --- a/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/AiAttackAttr.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx index 710727d..9503aa3 100644 --- a/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/BulletBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx index 36b0dda..cf056c6 100644 --- a/DungeonShooting_Godot/excel/excelFile/Sound.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/Sound.xlsx Binary files differ diff --git a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx index 2ae295c..a859078 100644 --- a/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx +++ b/DungeonShooting_Godot/excel/excelFile/WeaponBase.xlsx Binary files differ diff --git a/DungeonShooting_Godot/prefab/role/Enemy0002.tscn b/DungeonShooting_Godot/prefab/role/Enemy0002.tscn index 77eae57..241a249 100644 --- a/DungeonShooting_Godot/prefab/role/Enemy0002.tscn +++ b/DungeonShooting_Godot/prefab/role/Enemy0002.tscn @@ -86,7 +86,6 @@ [node name="Enemy0002" node_paths=PackedStringArray("ViewRay", "NavigationAgent2D", "NavigationPoint", "FirePoint", "HurtArea", "HurtCollision", "InteractiveArea", "InteractiveCollision", "TipRoot", "TipSprite", "AnimationPlayer", "MountPoint", "BackMountPoint", "MeleeAttackArea", "MeleeAttackCollision", "ShadowSprite", "AnimatedSprite", "Collision") instance=ExtResource("1_fanet")] script = ExtResource("2_3an4s") -CanPickUpWeapon = false ViewRay = NodePath("ViewRay") NavigationAgent2D = NodePath("NavigationPoint/NavigationAgent2D") NavigationPoint = NodePath("NavigationPoint") diff --git a/DungeonShooting_Godot/resource/config/ActivityBase.json b/DungeonShooting_Godot/resource/config/ActivityBase.json index 5208332..ce102c7 100644 --- a/DungeonShooting_Godot/resource/config/ActivityBase.json +++ b/DungeonShooting_Godot/resource/config/ActivityBase.json @@ -210,7 +210,7 @@ "Intro": "", "Details": "", "IsStatic": false, - "__Material": "", + "__Material": "0006", "Prefab": "res://prefab/shell/Shell0001.tscn", "Icon": "", "ShowInMapEditor": false @@ -222,7 +222,7 @@ "Intro": "", "Details": "", "IsStatic": false, - "__Material": "", + "__Material": "0006", "Prefab": "res://prefab/shell/Shell0002.tscn", "Icon": "", "ShowInMapEditor": false @@ -234,7 +234,7 @@ "Intro": "", "Details": "", "IsStatic": false, - "__Material": "", + "__Material": "0006", "Prefab": "res://prefab/shell/Shell0003.tscn", "Icon": "", "ShowInMapEditor": false @@ -246,7 +246,7 @@ "Intro": "", "Details": "", "IsStatic": false, - "__Material": "", + "__Material": "0006", "Prefab": "res://prefab/shell/Shell0004.tscn", "Icon": "", "ShowInMapEditor": false diff --git a/DungeonShooting_Godot/resource/config/ActivityMaterial.json b/DungeonShooting_Godot/resource/config/ActivityMaterial.json index b2c717b..2d40acf 100644 --- a/DungeonShooting_Godot/resource/config/ActivityMaterial.json +++ b/DungeonShooting_Godot/resource/config/ActivityMaterial.json @@ -68,5 +68,19 @@ "FallBounceSpeed": 0.85, "FallBounceRotation": 0.85, "DynamicCollision": false + }, + { + "Id": "0006", + "Remark": "\u5F39\u58F3, \u6469\u64E6\u529B\u6BD4\u9ED8\u8BA4\u6750\u8D28\u4F4E", + "Friction": 100, + "GravityScale": 1, + "RotationType": 0, + "RotationFriction": 100, + "Bounce": true, + "BounceStrength": 0.5, + "FallBounceStrength": 0.5, + "FallBounceSpeed": 0.75, + "FallBounceRotation": 0.5, + "DynamicCollision": false } ] \ No newline at end of file diff --git a/DungeonShooting_Godot/resource/config/BulletBase.json b/DungeonShooting_Godot/resource/config/BulletBase.json index 2d6abe5..1d45efc 100644 --- a/DungeonShooting_Godot/resource/config/BulletBase.json +++ b/DungeonShooting_Godot/resource/config/BulletBase.json @@ -43,7 +43,7 @@ 4 ], "RepelRange": [ - 30 + 15 ], "DeviationAngleRange": [ -10, @@ -79,7 +79,7 @@ 3 ], "RepelRange": [ - 10 + 15 ], "DeviationAngleRange": [ 0 @@ -114,7 +114,7 @@ 20 ], "RepelRange": [ - 200 + 75 ], "DeviationAngleRange": [ 0 @@ -149,7 +149,7 @@ 30 ], "RepelRange": [ - 150 + 85 ], "DeviationAngleRange": [ 0 @@ -219,7 +219,7 @@ 5 ], "RepelRange": [ - 40 + 35 ], "DeviationAngleRange": [ 0 @@ -250,7 +250,7 @@ 25 ], "RepelRange": [ - 150 + 70 ], "DeviationAngleRange": [ 0 diff --git a/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs b/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs index 18371c0..d902fe9 100644 --- a/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs +++ b/DungeonShooting_Godot/src/framework/coroutine/ProxyCoroutineHandler.cs @@ -23,7 +23,7 @@ for (var i = 0; i < pairs.Length; i++) { var item = pairs[i]; - try + //try { var canNext = true; @@ -131,11 +131,11 @@ } } } - catch (Exception e) - { - Debug.LogError("执行协程发生异常: \n" + e); - ProxyStopCoroutine(ref coroutineList, item.Id); - } + // catch (Exception e) + // { + // Debug.LogError("执行协程发生异常: \n" + e); + // ProxyStopCoroutine(ref coroutineList, item.Id); + // } } } diff --git a/DungeonShooting_Godot/src/game/activity/role/Role.cs b/DungeonShooting_Godot/src/game/activity/role/Role.cs index b8acc1a..f8d437d 100644 --- a/DungeonShooting_Godot/src/game/activity/role/Role.cs +++ b/DungeonShooting_Godot/src/game/activity/role/Role.cs @@ -1141,6 +1141,18 @@ //播放抛出效果 weapon.ThrowWeapon(this, GlobalPosition); } + + /// + /// 扔掉所有武器 + /// + public void ThrowAllWeapon() + { + var weapons = WeaponPack.GetAndClearItem(); + for (var i = 0; i < weapons.Length; i++) + { + weapons[i].ThrowWeapon(this); + } + } /// /// 切换到下一个武器 diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs index 7eac79d..8b0c9e2 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs @@ -142,11 +142,7 @@ protected override void OnDie() { //扔掉所有武器 - var weapons = WeaponPack.GetAndClearItem(); - for (var i = 0; i < weapons.Length; i++) - { - weapons[i].ThrowWeapon(this); - } + ThrowAllWeapon(); var effPos = Position + new Vector2(0, -Altitude); //血液特效 @@ -155,13 +151,14 @@ blood.AddToActivityRoot(RoomLayerEnum.NormalLayer); blood.PlayEffect(); + var realVelocity = GetRealVelocity(); //创建敌人碎片 var count = Utils.Random.RandomRangeInt(3, 6); for (var i = 0; i < count; i++) { var debris = Create(Ids.Id_enemy_dead0001); debris.PutDown(effPos, RoomLayerEnum.NormalLayer); - debris.InheritVelocity(this); + debris.MoveController.AddForce(Velocity + realVelocity); } //派发敌人死亡信号 diff --git a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs index 9dbfa80..62352c2 100644 --- a/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs +++ b/DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs @@ -38,10 +38,11 @@ protected override void OnDie() { + var realVelocity = GetRealVelocity(); var effPos = Position; var debris = Create(Ids.Id_enemy_dead0002); debris.PutDown(effPos, RoomLayerEnum.NormalLayer); - debris.InheritVelocity(this); + debris.MoveController.AddForce(Velocity + realVelocity); debris.SetFace(Face); //派发敌人死亡信号