Files
GameJamDungeon/Zennysoft.Game.Ma.Implementation/Player/IPlayer.cs
T
zenny 2ab6158849 Make adjustments to bad end map
Modify debug menu slightly to pause while open (need to close the menu to load floors, etc)
Clear map when game over screen appears
2026-06-08 00:08:25 -07:00

84 lines
2.0 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 EnactBriefImmunity();
public void TeleportPlayer((Vector3 Rotation, Vector3 Position) newTransform);
public void Equip(IEquipableItem equipable);
public void Unequip(IEquipableItem equipable);
public void PlayJumpScareAnimation();
public void SetSigil(ISigil sigil);
public void ShowCamera(bool showCamera);
public void ApplyNewAugment(IAugmentItem jewel, IAugmentableItem equipableItem);
public IBaseInventoryItem IdentifyItem(IBaseInventoryItem unidentifiedItem);
public void ShakePlayerCamera(float shakeIntensity, float shakeAmount);
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 IStatusEffectComponent StatusEffectComponent { get; }
public ISigilComponent SigilComponent { get; }
public void SetHealthTimerStatus(bool isActive);
public void ModifyHealthTimerSpeed(float newModifier);
public void PlaySpellFX(SpellFXEnum spellEnum);
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 bool BriefImmunity { get; set; }
public event Action PlayerDied;
public delegate IBaseInventoryItem RerollItem(IBaseInventoryItem item);
}