using System.Collections.Generic; using UnityEngine; namespace Cielonos.MainGame.Characters { public partial class AttributeSubmodule : SubmoduleBase { public AttributeGroup attributeGroup; public bool HasAttribute(string attributeName) => attributeGroup.current.ContainsKey(attributeName); public float GetAttribute(string attributeName, float defaultValue) => attributeGroup.current.GetValueOrDefault(attributeName, defaultValue); public float this[string attributeName] { get => attributeGroup.current.GetValueOrDefault(attributeName, attributeName.Contains("Multiplier") ? 1 : 0); set => attributeGroup.current[attributeName] = value; } public AttributeSubmodule(CharacterBase character) : base(character) { Initialize(character.attributeData); } private void Initialize(AttributeData attributeData) { attributeGroup = new AttributeGroup(attributeData.originalAttributes); attributeGroup.SetUpEndowments(attributeData.runtimeAttributes); } } }