Files
Cielonos/Assets/Scripts/MainGame/Items/Data/AttackData/AttackData.cs
2026-05-10 11:47:55 -04:00

42 lines
1.4 KiB
C#

using System.Collections.Generic;
using Cielonos.MainGame.Characters;
using Sirenix.OdinInspector;
using SLSUtilities.General;
using SLSUtilities.FunctionalAnimation;
using UnityEngine;
namespace Cielonos.MainGame.Characters.Inventory
{
[CreateAssetMenu(fileName = "Attack", menuName = "Cielonos/Items/AttackData")]
public class AttackData : SerializedScriptableObject
{
[DictionaryDrawerSettings(KeyLabel = "Attack Unit", DisplayMode = DictionaryDisplayOptions.ExpandedFoldout)]
[Searchable]
public Dictionary<string, AttackUnit> attackUnits = new Dictionary<string, AttackUnit>();
public GameObject defaultHitVFX;
public AttackUnit this[string unitName] => attackUnits[unitName];
[OnInspectorGUI("UpdateUnits")]
public void UpdateUnits()
{
foreach (KeyValuePair<string, AttackUnit> pair in attackUnits)
{
string unitName = pair.Key;
AttackUnit unit = pair.Value;
unit.parentData = this;
unit.unitName = unitName;
if (unit.submodules != null)
{
foreach (AttackUnit.Submodule module in unit.submodules)
{
module.SetOwner(unit);
}
}
}
}
}
}