using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;

public abstract class PartsMgrBase : MonoBehaviour
{
	public bool IsActive { get; protected set; }

	public virtual void StartAction()
	{
	}

	public virtual void EndAction()
	{
	}

	protected virtual void Start()
	{
		if (RhythmAction_Mgr.Instance)
		{
			RhythmAction_Mgr.Instance.AddMgrParts(this);
		}
		this.IsActive = (this.m_ActiveDanceType.Any((RhythmAction_Mgr.DanceType e) => e == RhythmAction_Mgr.NowDance) && !DanceMain.KaraokeMode);
	}

	[SerializeField]
	[Header("このダンスの時に動作")]
	protected List<RhythmAction_Mgr.DanceType> m_ActiveDanceType = new List<RhythmAction_Mgr.DanceType>();
}
