Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs
2025-03-26 23:13:01 -07:00

61 lines
1.3 KiB
C#

using Chickensoft.Collections;
using Godot;
using Zennysoft.Game.Abstractions;
namespace Zennysoft.Ma.Adapter;
public interface IPlayer : IKillable
{
public void Attack();
public void PlayerPause();
public void TakeDamage(double damage, ElementType elementType = ElementType.None, bool isCriticalHit = false);
public void Knockback(float impulse);
public void GainExp(double expGained);
public void LevelUp();
public void Move(float delta);
public void TeleportPlayer(Transform3D newTransform);
public void HealHP(int amount);
public void RaiseHP(int amount);
public void HealVT(int amount);
public void RaiseVT(int amount);
public void ModifyBonusAttack(int amount);
public void ModifyBonusDefense(int amount);
public void ModifyMaximumHP(int amount);
public void ModifyMaximumVT(int amount);
public void ModifyBonusLuck(double amount);
public IInventory Inventory { get; }
public PlayerStatController Stats { 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);
}