68 lines
1.6 KiB
C#
68 lines
1.6 KiB
C#
using Chickensoft.GodotNodeInterfaces;
|
|
using Godot;
|
|
using Zennysoft.Game.Abstractions;
|
|
|
|
namespace Zennysoft.Ma.Adapter;
|
|
|
|
public interface IPlayer : IKillable, ICharacterBody3D
|
|
{
|
|
public void ResetPlayerData();
|
|
|
|
public void Activate();
|
|
|
|
public void Deactivate();
|
|
|
|
public void TakeDamage(AttackData damage);
|
|
|
|
public void Knockback(float impulse);
|
|
|
|
public void LevelUp();
|
|
|
|
public void TeleportPlayer((Vector3 Rotation, Vector3 Position) newTransform);
|
|
|
|
public void Equip(IEquipableItem equipable);
|
|
|
|
public void Unequip(IEquipableItem equipable);
|
|
|
|
public void PlayJumpScareAnimation();
|
|
|
|
public void ApplyNewAugment(IAugmentItem jewel, IAugmentableItem equipableItem);
|
|
|
|
public void IdentifyItem(IBaseInventoryItem unidentifiedItem);
|
|
|
|
public IInventory Inventory { get; }
|
|
|
|
public IHealthComponent HealthComponent { get; }
|
|
|
|
public IVTComponent VTComponent { get; }
|
|
|
|
public IAttackComponent AttackComponent { get; }
|
|
|
|
public IDefenseComponent DefenseComponent { get; }
|
|
|
|
public IExperiencePointsComponent ExperiencePointsComponent { get; }
|
|
|
|
public ILuckComponent LuckComponent { get; }
|
|
|
|
public IEquipmentComponent EquipmentComponent { get; }
|
|
|
|
public void SetHealthTimerStatus(bool isActive);
|
|
|
|
public void ModifyHealthTimerSpeed(float newModifier);
|
|
|
|
public bool AutoRevive { get; set; }
|
|
|
|
public int TotalAttack { get; }
|
|
public int TotalDefense { get; }
|
|
public int TotalLuck { get; }
|
|
|
|
public int HealthTimerHPRate { get; set; }
|
|
|
|
public float HealthTimerSpeedModifier { get; }
|
|
|
|
public bool AutoIdentifyItems { get; set; }
|
|
|
|
public event Action PlayerDied;
|
|
public delegate IBaseInventoryItem RerollItem(IBaseInventoryItem item);
|
|
}
|