﻿using NodeCanvas.Framework;
using ParadoxNotion.Design;
using DarkTonic.MasterAudio;

namespace NodeCanvas.Tasks.MasterAudioIntegration{

	[Category("MasterAudio/Bus")]
	[Icon("MasterAudio")]
	public class StopBus : ActionTask {

		public bool allBuses;
		public BBParameter<string> busName;

		protected override string info{
			get {return string.Format("Stop Bus {0}", allBuses? "All" : busName.ToString());}
		}

		protected override string OnInit(){
			if (!allBuses && busName.isNull)
				return "Either check all AllBuses or specify a Bus Name";
			return null;
		}

		protected override void OnExecute(){

			if (allBuses){
				foreach(var bus in MasterAudio.RuntimeBusNames){
					MasterAudio.StopBus(bus);
				}
			} else {
				MasterAudio.StopBus(busName.value);
			}

			EndAction();
		}
	}
}