Refactor stats

This commit is contained in:
2025-10-22 16:24:07 -07:00
parent 6ec45c4805
commit f0c4e65783
77 changed files with 565 additions and 372 deletions

View File

@@ -1,57 +1,39 @@
using Chickensoft.Collections;
using Godot;
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 IHealthComponent HealthComponent { get; }
public AutoProp<EquipableItem> EquippedArmor { get; }
public IVTComponent VTComponent { get; }
public AutoProp<EquipableItem> EquippedAccessory { get; }
public IAttackComponent AttackComponent { get; }
public void Equip(EquipableItem equipable);
public IDefenseComponent DefenseComponent { get; }
public void Unequip(EquipableItem equipable);
public IExperiencePointsComponent ExperiencePointsComponent { get; }
public HealthComponent HealthComponent { get; }
public ILuckComponent LuckComponent { get; }
public VTComponent VTComponent { get; }
public AttackComponent AttackComponent { get; }
public DefenseComponent DefenseComponent { get; }
public ExperiencePointsComponent ExperiencePointsComponent { get; }
public LuckComponent LuckComponent { get; }
public IEquipmentComponent EquipmentComponent { get; }
}

View File

@@ -1,17 +0,0 @@
using Chickensoft.Introspection;
using Chickensoft.Serialization;
using Zennysoft.Ma.Adapter;
namespace Zennysoft.Game.Ma;
[Meta, Id("player_data")]
public partial record PlayerData
{
[Save("player_inventory")]
public required IInventory Inventory { get; init; }
}
[Meta, Id("map_data")]
public partial record MapData
{
}