You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.2 KiB
C#

using MalbersAnimations.Scriptables;
using UnityEngine;
namespace MalbersAnimations.Controller.AI
{
[CreateAssetMenu(menuName = "Malbers Animations/Pluggable AI/Tasks/Play Audio")]
public class PlayAudioTask : MTask
{
public override string DisplayName => "General/Play Audio";
[Space]
public AudioClipReference Clips;
public string AudioSource = "BrainAudio";
public override void StartTask(MAnimalBrain brain, int index)
{
var findAudio = brain.transform.FindGrandChild(AudioSource);
if (!findAudio)
{
findAudio = new GameObject(name: AudioSource).transform;
findAudio.parent = brain.transform;
}
var sourc = findAudio.GetComponent<AudioSource>();
if (sourc == null) sourc = findAudio.gameObject.AddComponent<AudioSource>();
brain.TasksVars[index].AddComponent(sourc); //Save the audio source to the task variables
Clips.Play(sourc);
brain.TaskDone(index);
}
//public override void UpdateTask(MAnimalBrain brain, int index)
//{
//}
}
}