cirnogodot/Scripts/Weapons/IBullet.cs
2025-06-19 17:55:23 +02:00

34 lines
No EOL
984 B
C#

using Cirno.Scripts.Components;
using Godot;
namespace Cirno.Scripts.Weapons;
public interface IBullet
{
public float Speed { get; set; }
public BulletOwner BulletOwner { get; }
public float Damage { get; }
public DamageType DamageType { get; }
public BulletInfo BulletInfo { get; }
public bool IsGrazed { get; }
public bool IsFrozen { get; }
public bool Enabled { get; }
public delegate void OnDestroyEventHandler();
public void Initialize(BulletInfo bulletInfo);
public void Enable();
public void Disable(bool hideSprite = true);
public void Graze();
public void RotateBullet(float degrees);
public void RotateSpriteDegrees(float degrees);
public void RotateSprite(float radians);
public void FacePlayer();
public void SetDirection(Vector2 direction);
public bool CanHit(BulletOwner bulletOwner, BulletOwner targetGroup);
public void RequestCollisionDestruction();
public void Freeze();
}