58 lines
1.3 KiB
C#
58 lines
1.3 KiB
C#
using Chickensoft.Collections;
|
|
using Godot;
|
|
using Zennysoft.Game.Abstractions;
|
|
using Zennysoft.Game.Implementation.Components;
|
|
|
|
namespace Zennysoft.Ma.Adapter;
|
|
|
|
public interface IPlayer : IKillable
|
|
{
|
|
public void InitializePlayerState();
|
|
|
|
public void Activate();
|
|
|
|
public void Deactivate();
|
|
|
|
public void Attack();
|
|
|
|
public void TakeDamage(Damage damage);
|
|
|
|
public void Knockback(float impulse);
|
|
|
|
public void LevelUp();
|
|
|
|
public void Move(float delta);
|
|
|
|
public void TeleportPlayer(Transform3D newTransform);
|
|
|
|
public void SetHealthTimerStatus(bool isActive);
|
|
|
|
public IInventory Inventory { get; }
|
|
|
|
public Vector3 CurrentPosition { get; }
|
|
|
|
public Basis CurrentBasis { get; }
|
|
|
|
public AutoProp<EquipableItem> EquippedWeapon { get; }
|
|
|
|
public AutoProp<EquipableItem> EquippedArmor { get; }
|
|
|
|
public AutoProp<EquipableItem> EquippedAccessory { get; }
|
|
|
|
public void Equip(EquipableItem equipable);
|
|
|
|
public void Unequip(EquipableItem equipable);
|
|
|
|
public HealthComponent HealthComponent { get; }
|
|
|
|
public VTComponent VTComponent { get; }
|
|
|
|
public AttackComponent AttackComponent { get; }
|
|
|
|
public DefenseComponent DefenseComponent { get; }
|
|
|
|
public ExperiencePointsComponent ExperiencePointsComponent { get; }
|
|
|
|
public LuckComponent LuckComponent { get; }
|
|
}
|