2025-07-25 19:16:58 +08:00
|
|
|
|
using UnityEngine;
|
2025-09-02 11:08:15 +08:00
|
|
|
|
using Base; // 引入Base命名空间以使用BaseAnimator
|
2025-07-25 19:16:58 +08:00
|
|
|
|
|
|
|
|
|
namespace Prefab
|
|
|
|
|
{
|
|
|
|
|
[RequireComponent(typeof(SpriteRenderer))]
|
2025-09-02 11:08:15 +08:00
|
|
|
|
public class SpriteAnimator : BaseAnimator
|
2025-07-25 19:16:58 +08:00
|
|
|
|
{
|
|
|
|
|
private SpriteRenderer _renderer; // 渲染器组件
|
|
|
|
|
|
2025-09-02 11:08:15 +08:00
|
|
|
|
protected override void ValidateComponent()
|
2025-07-25 19:16:58 +08:00
|
|
|
|
{
|
|
|
|
|
_renderer = GetComponent<SpriteRenderer>();
|
2025-09-02 11:08:15 +08:00
|
|
|
|
if (_renderer == null)
|
2025-07-25 19:16:58 +08:00
|
|
|
|
{
|
2025-09-02 11:08:15 +08:00
|
|
|
|
Debug.LogError("SpriteAnimator requires a SpriteRenderer component.", this);
|
|
|
|
|
enabled = false; // 禁用脚本如果组件缺失
|
2025-07-25 19:16:58 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 11:08:15 +08:00
|
|
|
|
protected override void SetDisplaySprite(Sprite sprite)
|
2025-07-25 19:16:58 +08:00
|
|
|
|
{
|
2025-09-02 11:08:15 +08:00
|
|
|
|
if (_renderer != null)
|
2025-07-25 19:16:58 +08:00
|
|
|
|
{
|
2025-09-02 11:08:15 +08:00
|
|
|
|
_renderer.sprite = sprite;
|
2025-07-25 19:16:58 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 11:08:15 +08:00
|
|
|
|
// [可选] 如果SpriteAnimator需要任何Awake后特有的初始化逻辑,可以在这里重写
|
|
|
|
|
// protected override void Awake()
|
|
|
|
|
// {
|
|
|
|
|
// base.Awake(); // 确保调用基类的Awake
|
|
|
|
|
// // 子类特有的初始化
|
|
|
|
|
// }
|
2025-07-25 19:16:58 +08:00
|
|
|
|
}
|
|
|
|
|
}
|