Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs

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; }
}