多轮审查和修复

This commit is contained in:
2026-05-12 15:34:08 +08:00
parent f55d2a57c3
commit ebbbb7332e
805 changed files with 838724 additions and 1905 deletions

View File

@@ -0,0 +1,85 @@
using UnityEngine;
using Animancer;
using BaseGames.Combat;
namespace BaseGames.Skills
{
/// <summary>
/// 技能资源消耗类型。
/// </summary>
public enum SkillResourceType { SoulPower, SpiritPower }
/// <summary>
/// 技能效果类型(决定施放时执行的逻辑分支)。
/// </summary>
public enum SkillEffectType
{
MeleeAoE,
Projectile,
BarrierAura,
GroundDive,
DragonKick,
WraithDash,
ShadowDecoy,
DelayedExplosion
}
/// <summary>
/// 反馈预设 SOFeedbackPresetSO封装一组 MMF_Player 反馈配置。
/// </summary>
[CreateAssetMenu(menuName = "Skills/FeedbackPreset")]
public class FeedbackPresetSO : ScriptableObject { }
/// <summary>
/// 形态技能数据 SO架构 09_ProgressionModule §8
/// 路径: Assets/Scripts/Skills/FormSkillSO.cs
/// </summary>
[CreateAssetMenu(menuName = "Skills/FormSkill")]
public class FormSkillSO : ScriptableObject
{
[Header("Identity")]
public string skillId;
public string displayNameKey;
[TextArea(1, 3)]
public string descriptionKey;
public Sprite icon;
[Header("Resource")]
public SkillResourceType resourceType;
public int baseCost;
public float cooldown;
[Header("Animation")]
public ClipTransition castAnimation;
public float castLockDuration; // 施放锁定时长(秒)
[Header("Effect")]
public SkillEffectType effectType;
public DamageSourceSO damageSource;
[Header("Projectile")]
public ProjectileConfigSO projectileConfig;
public bool isHoming;
public bool holdForContinuous;
[Header("Dash")]
public float dashForce;
public float dashDuration;
public bool isInvincibleDuringDash;
[Header("Explosion")]
public float explosionDelay;
public float explosionRadius;
[Header("Feedback")]
public FeedbackPresetSO castFeedback;
[Header("HitBox Prefab")]
/// <summary>
/// 近战/爆炸技能的命中盒 Prefab内含 SkillHitBoxInstance + HitBox。
/// 投射物技能此字段留空——由 ProjectileConfigSO 负责。
/// 命名规范: Assets/Prefabs/Skills/SKL_{skillId}_HitBox.prefab
/// </summary>
public GameObject SkillHitBoxPrefab;
}
}