using Chickensoft.Collections; using Godot; using Zennysoft.Game.Abstractions; 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 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 void SetHealthTimerStatus(bool isActive); public IInventory Inventory { get; } public PlayerStats Stats { get; } public Vector3 CurrentPosition { get; } public Basis CurrentBasis { get; } public AutoProp EquippedWeapon { get; } public AutoProp EquippedArmor { get; } public AutoProp EquippedAccessory { get; } public void Equip(EquipableItem equipable); public void Unequip(EquipableItem equipable); }