66 lines
2.0 KiB
C#
66 lines
2.0 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class DeveloperNeeds : MonoBehaviour
|
|
{
|
|
[SerializeField] List<GameObject> Needs = new List<GameObject>();
|
|
|
|
private Text2Speech _text2speech;
|
|
private AudioSource _audioSource;
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
_text2speech = GetComponent<Text2Speech>();
|
|
_audioSource = GetComponent<AudioSource>();
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
public GameObject spawnNeed(string needName)
|
|
{
|
|
|
|
GameObject spawnedNeed = null;
|
|
string context = "";
|
|
|
|
switch (needName)
|
|
{
|
|
case "coffee":
|
|
spawnedNeed = Instantiate(Needs[0], new Vector3(0.0f, 2f, 0.0f), Needs[0].transform.rotation);
|
|
context = "The NPC wants coffee";
|
|
break;
|
|
case "mate":
|
|
spawnedNeed = Instantiate(Needs[1], new Vector3(0.0f, 2f, 0.0f), Needs[0].transform.rotation);
|
|
context = "The NPC wants a Club Mate";
|
|
break;
|
|
case "toilet":
|
|
spawnedNeed = Instantiate(Needs[2], new Vector3(0.0f, 2f, 0.0f), Needs[0].transform.rotation);
|
|
context = "The NPC wants to go to the toilet, toilet is clogged and dirty";
|
|
break;
|
|
case "money":
|
|
spawnedNeed = Instantiate(Needs[3], new Vector3(0.0f, 2f, 0.0f), Needs[0].transform.rotation);
|
|
context = "The NPC wants a raise, The NPC needs more money";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (spawnedNeed != null)
|
|
{
|
|
spawnedNeed.transform.SetParent(transform, false);
|
|
spawnedNeed.transform.localScale = new Vector3(0.4f, 0.01f, 0.4f);
|
|
if (!_audioSource.isPlaying)
|
|
{
|
|
_text2speech.Generate(context);
|
|
}
|
|
return spawnedNeed;
|
|
}
|
|
return null;
|
|
}
|
|
}
|