Enemy blinking

This commit is contained in:
Marco 2025-06-26 14:03:36 +02:00
commit e5a60a6ccd
11 changed files with 172 additions and 30 deletions

View file

@ -1,20 +1,30 @@
using Cirno.Scripts.Resources;
using Cirno.Scripts.Components.Actors._3D;
using Cirno.Scripts.Resources;
using Godot;
namespace Cirno.Scripts.Components.FSM.Enemy._3D;
public partial class EnemyFSMAnimatedSprite3D : AnimatedSprite3D
[Tool]
public partial class EnemyFSMAnimatedSprite3D : AnimatedShaderSprite3D
{
[Export] public EnemyProxy3D EnemyProxy { get; private set; }
//[Export] public EnemyProxy3D EnemyProxy { get; private set; }
public override void _Ready()
{
base._Ready();
//EnemyProxy.Initialized += EnemyFsmProxyOnInitialized;
this.SpriteFrames = EnemyProxy.EnemyResource.AnimationFrames;
if (!Engine.IsEditorHint())
{
var enemyProxy = GetParent<EnemyProxy3D>();
this.SpriteFrames = enemyProxy.EnemyResource.AnimationFrames;
HandleFrameChanged();
}
}
private void EnemyFsmProxyOnInitialized(EnemyResource resource)
{
if (Engine.IsEditorHint()) return;
this.SpriteFrames = resource.AnimationFrames;
}
}