using UnityEngine; namespace Continentis.MainGame.Character { #region Attributes public partial class CharacterBase { /// /// 获取角色的属性值,自动判断属性组(Core/General) /// /// /// public int GetAttribute(string attributeName) { if (attributeSubmodule.coreAttributeGroup.current.ContainsKey(attributeName)) { return attributeSubmodule.GetRoundCurrentCoreAttribute(attributeName); } if (attributeSubmodule.generalAttributeGroup.current.ContainsKey(attributeName)) { return attributeSubmodule.GetRoundCurrentGeneralAttribute(attributeName); } Debug.LogWarning($"Attribute {attributeName} not found in any attribute group."); return 0; } public float GetRawAttribute(string attributeName) { if (attributeSubmodule.coreAttributeGroup.current.TryGetValue(attributeName, out float rawAttribute)) { return rawAttribute; } if (attributeSubmodule.generalAttributeGroup.current.TryGetValue(attributeName, out float attribute)) { return attribute; } Debug.LogWarning($"Attribute {attributeName} not found in any attribute group."); return 0; } /// /// 设置角色的属性值,自动判断属性组(Core/General) /// /// /// public void SetAttribute(string attributeName, int value) { if (attributeSubmodule.coreAttributeGroup.current.ContainsKey(attributeName)) { attributeSubmodule.coreAttributeGroup.current[attributeName] = value; return; } if (attributeSubmodule.generalAttributeGroup.current.ContainsKey(attributeName)) { attributeSubmodule.generalAttributeGroup.current[attributeName] = value; return; } Debug.LogWarning($"Attribute {attributeName} not found in any attribute group."); } /// /// 修改角色的属性值,自动判断属性组(Core/General) /// /// /// public void ModifyAttribute(string attributeName, int delta) { if (attributeSubmodule.coreAttributeGroup.current.ContainsKey(attributeName)) { attributeSubmodule.coreAttributeGroup.current[attributeName] += delta; return; } if (attributeSubmodule.generalAttributeGroup.current.ContainsKey(attributeName)) { attributeSubmodule.generalAttributeGroup.current[attributeName] += delta; return; } Debug.LogWarning($"Attribute {attributeName} not found in any attribute group."); } } #endregion }