Files
SoulliesOfficial 649b7a5ddc 更新
2026-05-23 08:27:50 -04:00

43 lines
1.5 KiB
C#

using System.Collections.Generic;
using Cielonos.MainGame.Characters;
using Sirenix.OdinInspector;
using SLSUtilities.General;
using SLSUtilities.FunctionalAnimation;
using UnityEngine;
namespace Cielonos.MainGame
{
[CreateAssetMenu(fileName = "Attack", menuName = "Cielonos/Items/AttackData")]
public class AttackData : SerializedScriptableObject
{
public GameObject defaultHitVFX;
public AttackUnit DefaultAttackUnit => attackUnits.Count == 1 ? attackUnits.Values.GetEnumerator().Current : null;
[DictionaryDrawerSettings(KeyLabel = "Attack Unit", DisplayMode = DictionaryDisplayOptions.ExpandedFoldout)]
[Searchable]
public Dictionary<string, AttackUnit> attackUnits = new Dictionary<string, AttackUnit>();
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);
}
}
}
}
}
}