cirnogodot/Scripts/Components/FSM/Enemy/3D/EnemyStorage3D.cs
2025-06-21 15:41:29 +02:00

31 lines
No EOL
926 B
C#

using System.Collections.Generic;
using System.Linq;
using Cirno.Scripts.Resources;
using Cirno.Scripts.Resources.Loot;
using Godot;
namespace Cirno.Scripts.Components.FSM.Enemy._3D;
public partial class EnemyStorage3D : Node
{
[Export]
public EnemyProxy3D Root { get; private set; }
public Node3D RootAsNode => Root;
public EnemyResource EnemyData => Root.EnemyResource;
public Vector3 HomePosition { get; set; }
public Vector2 MovementDirection { get; set; }
public Vector2 FacingDirection { get; set; }
public Vector2 AimingDirection { get; set; }
public Vector3 KnockbackVelocity { get; set; } = Vector3.Zero;
public float MovementSpeed => Root.EnemyResource.MovementSpeed;
public IEnumerable<LootDrop> LootDrops => Root.OverrideLoot ? Root.ExtraLoot : Root.EnemyResource.LootDrops.Concat(Root.ExtraLoot);
public AiState AiState { get; set; }
}