using System; using System.Collections.Generic; using AOT; using GAS.Runtime; using Sirenix.OdinInspector; using UnityEngine; namespace CoreGame.Render { [CreateAssetMenu(fileName = "GA_RotateHurt", menuName = "GameAsset/Ability/GARotateHurtAsset")] public class GARotateHurtAsset : AbilityAsset { public int geCastPointSelectCfgId; public int geCatchTargetCfgId; public int castHurtSkillId; public int castEffectId; public float rotateInterval; public float rotateAngleEachTime; public float maxDuration; public string animStateName; private FName m_AnimStateName; public FName AnimStateName{ get { if (m_AnimStateName.comparisonIndex == 0) { m_AnimStateName = UnrealNames.GetFName(animStateName); } return m_AnimStateName; } } public int[] triggerIds; #if UNITY_EDITOR [ShowInInspector] [HideReferenceObjectPicker] [ShowIf("CastPointSelectCfg")] private GECastPointSelectDesc CastPointSelectCfg => GECastPointSelectDescMgr.Instance.GetConfig(geCastPointSelectCfgId); [ShowInInspector] [HideReferenceObjectPicker] [ShowIf("CatchTargetCfg")] private GECatchTargetDesc CatchTargetCfg => GECatchTargetDescMgr.Instance.GetConfig(geCatchTargetCfgId); [ShowInInspector] [HideReferenceObjectPicker] [ShowIf("SkillCfg")] private SkillDesc SkillCfg => SkillDescMgr.Instance.GetConfig(castHurtSkillId); [ShowInInspector] [HideReferenceObjectPicker] [ShowIf("RenderEffectCfg")] private RenderEffectDesc RenderEffectCfg => RenderEffectDescMgr.Instance.GetConfig(castEffectId); #endif public override Type AbilityType() { return typeof(GARotateHurt); } } }