33 lines
1.4 KiB
C#
33 lines
1.4 KiB
C#
using UnityEngine;
|
||
|
||
namespace Platformer.Mechanics
|
||
{
|
||
/// <summary>
|
||
/// 몬스터 종류 랜덤 — 6 AnimatorOverrideController random select.
|
||
/// PD 지시 (2026-05-11): 몬스터 종류 랜덤 변경.
|
||
/// 6종 (M001~M006) Idle Clip override·Animator runtimeAnimatorController random.
|
||
/// </summary>
|
||
public class MonsterRandomizer : MonoBehaviour
|
||
{
|
||
[Tooltip("이전 호환 — 24 sprite (6종 × 4 frame). Override Controller 신규 영역 후속 폐기 가능.")]
|
||
public Sprite[] idleFrames;
|
||
|
||
[Tooltip("6 AnimatorOverrideController (M001~M006).")]
|
||
public AnimatorOverrideController[] overrideControllers;
|
||
|
||
void Awake()
|
||
{
|
||
if (overrideControllers == null || overrideControllers.Length == 0) return;
|
||
var anim = GetComponent<Animator>();
|
||
if (anim == null) return;
|
||
int idx = Random.Range(0, overrideControllers.Length);
|
||
anim.runtimeAnimatorController = overrideControllers[idx];
|
||
|
||
// PD 지시 2026-05-15 — 개별 몬스터 특성 IsFlying 속성은 EnemyController.flyingControllerNames SOT
|
||
// controller 변경 직후 재 check 위임 (랜덤풀 영역 IsFlying 결정 X·개별 controller 특성 영역 결정)
|
||
var ec = GetComponent<EnemyController>();
|
||
if (ec != null) ec.RecheckFlyingFromAnimator();
|
||
}
|
||
}
|
||
}
|