修复第二个敌人攻击问题
1 parent 86735c9 commit 810f3e44fc2aca4b8c062677ab0102a9eeb3ac42
@小李xl 小李xl authored on 20 Nov 2023
Showing 6 changed files
View
2
■■■
DungeonShooting_Godot/DungeonShooting.csproj
<Project Sdk="Godot.NET.Sdk/4.2.0-beta.5">
<Project Sdk="Godot.NET.Sdk/4.2.0-rc.1">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
View
11
DungeonShooting_Godot/DungeonShooting.csproj.old 0 → 100644
<Project Sdk="Godot.NET.Sdk/4.2.0-beta.5">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<EnableDynamicLoading>true</EnableDynamicLoading>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
</PropertyGroup>
<ItemGroup>
<Folder Include="src\game\ui\editorTools" />
</ItemGroup>
</Project>
View
2
■■■
DungeonShooting_Godot/prefab/role/Enemy0002.tscn
[node name="AnimatedSprite" parent="." index="2"]
material = SubResource("ShaderMaterial_4qvs8")
sprite_frames = ExtResource("3_hbsqi")
animation = &"attack"
offset = Vector2(0, -10)
offset = Vector2(0, -9)
 
[node name="HurtCollision" parent="HurtArea" index="0"]
position = Vector2(0, -7)
 
View
24
DungeonShooting_Godot/src/game/activity/role/enemy/NoWeaponEnemy.cs
}
 
public override void Attack()
{
if (AnimatedSprite.Animation != AnimatorNames.Attack)
if (AnimationPlayer.CurrentAnimation != AnimatorNames.Attack)
{
Debug.Log("attack...");
AnimatedSprite.Play(AnimatorNames.Attack);
AnimationPlayer.Play(AnimatorNames.Attack);
}
}
 
public void ShootBullet()
{
var bulletData = FireManager.GetBulletData(this, FirePoint.GlobalPosition.AngleTo(LookTarget.Position), ExcelConfig.BulletBase_Map["0006"]);
FireManager.ShootBullet(bulletData, AttackLayer);
var targetPosition = LookTarget.GetCenterPosition();
var bulletData = FireManager.GetBulletData(this, 0, ExcelConfig.BulletBase_Map["0006"]);
for (var i = 0; i < 8; i++)
{
var data = bulletData.Clone();
var tempPos = new Vector2(targetPosition.X + Utils.Random.RandomRangeInt(-30, 30), targetPosition.Y + + Utils.Random.RandomRangeInt(-30, 30));
FireManager.SetParabolaTarget(data, tempPos);
FireManager.ShootBullet(data, AttackLayer);
}
}
 
private void OnAnimationFinished(StringName name)
{
View
DungeonShooting_Godot/src/game/data/BulletData.cs
View
DungeonShooting_Godot/src/game/manager/FireManager.cs