Add FlatStatModifier and PercentStatModifier classes; introduce Stat enum for character attributes

This commit is contained in:
2025-07-11 23:05:36 +02:00
parent cf586916c0
commit c50b91eacb
8 changed files with 181 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
using System.Collections.Generic;
using Data;
using Interfaces;
using Sirenix.Serialization;
using UnityEngine;
namespace Systems
{
public class CharacterModifierManager : MonoBehaviour
{
[OdinSerialize] private List<IStatModifier> activeModifiers = new();
[SerializeField] private Character character;
public void EquipItem(IStatModifier modifier)
{
activeModifiers.Add(modifier);
modifier.Apply(character.attributes);
}
public void UnequipItem(IStatModifier modifier)
{
if (activeModifiers.Remove(modifier))
{
modifier.Remove(character.attributes);
}
}
}
}