using System.Collections; using System.Collections.Generic; using UnityEngine; public class SilasSpeech : MonoBehaviour, Character { private Queue conversation = new Queue(); private Queue responseQueue = new Queue(); private string[] currentResponses; public float getLevel() { return GameManager.SilasLevel; } public string getName() { return "Silas"; } public string GreetingMessage(){ loadConversation(); if (GameManager.ConversationStage == 1) { currentResponses = new string[] { "Hi there", "Umm hello?", "was geht ab?" }; return "..."; } else if (GameManager.ConversationStage == 2) { currentResponses = new string[] { "stage 2 greeting response" }; return "stage 2 greeetiong"; } else if (GameManager.ConversationStage == 3) { currentResponses = new string[] { "stage 3 greeting response" }; return "stage 3 greeting"; } else if (GameManager.ConversationStage == 4) { currentResponses = new string[] { "stage 4 greeting response" }; return "stage 4 greeting"; } return "Something has gone terribly wrong: The stage is: " + GameManager.ConversationStage; } public string GoodbyeMessage(){ currentResponses = new string[] { }; return "mime mime mime mime cya bye mime"; } public string ProximityMessage(){ currentResponses = new string[] { "yes, me, i did"}; return "did someone enter my invivible box"; } public string butthurtGoodbye(){ currentResponses = new string[] { }; return "its just white makeup, i swear!"; } public string nothingMoreToSay() { currentResponses = new string[] {"wow, tell me more", "my ears are bleeding" }; switch (Random.Range(0,10)) { case 0: return "1"; case 1: return "2"; case 2: return "3"; case 3: return "4"; case 4: return "5"; case 5: return "6"; case 6: return "7"; case 7: return "8"; case 8: return "9"; case 9: return "10"; default: return "..."; } } public string converse() { if (conversation.Count > 0) { currentResponses = responseQueue.Dequeue(); return conversation.Dequeue(); } else { return nothingMoreToSay(); } } private void loadConversation() { conversation.Clear(); responseQueue.Clear(); if (GameManager.ConversationStage == 1) { conversationStage1(); } else if (GameManager.ConversationStage == 2) { conversationStage2(); } else if (GameManager.ConversationStage == 3) { conversationStage3(); } else if (GameManager.ConversationStage == 4) { conversationStage4(); } } public string[] getResponses() { return currentResponses; } private void conversationStage1() { conversation.Enqueue("HaHaHa got you! Thought i was a mime didnt ya?"); responseQueue.Enqueue(new string[] { "wow you fooled me!", "nah not really" }); conversation.Enqueue("The names Silas, they call me the unspeakable round here"); responseQueue.Enqueue(new string[] { "why is that", "cant think why" }); conversation.Enqueue("Not really sure why they call me unspeakable but it sounds cool doesnt it."); responseQueue.Enqueue(new string[] { "Yes!", "people are taking the piss m8" }); conversation.Enqueue("anyway have you seen my show 'Mime Mime' its the talk of the circus"); responseQueue.Enqueue(new string[] { "not yet", "ive played it!", "isnt that just a rip off?" }); conversation.Enqueue("...well its mostly just me talking about it but they say its the best"); responseQueue.Enqueue(new string[] { "keep talking!", "okay stop now" }); conversation.Enqueue("...well i say its the best"); responseQueue.Enqueue(new string[] { "It is great!", "please stop talking" }); } private void conversationStage2() { conversation.Enqueue("Stage 2 conversation stuff"); responseQueue.Enqueue(new string[] { "Stage 2 response 1", "stage 2 resposne 2" }); conversation.Enqueue("Stage 2 conversation stuff 2"); responseQueue.Enqueue(new string[] { "Stage 2 response 1", "stage 2 resposne 2" }); } private void conversationStage3() { conversation.Enqueue("Stage 3 conversation stuff"); responseQueue.Enqueue(new string[] { "Stage 3 response 1", "stage 3 resposne 2" }); conversation.Enqueue("Stage 3 conversation stuff 2"); responseQueue.Enqueue(new string[] { "Stage 3 response 1", "stage 3 resposne 2" }); } private void conversationStage4() { conversation.Enqueue("Stage 4 conversation stuff"); responseQueue.Enqueue(new string[] { "Stage 4 response 1", "stage 4 resposne 2" }); conversation.Enqueue("Stage 4 conversation stuff 2"); responseQueue.Enqueue(new string[] { "Stage 4 response 1", "stage 4 resposne 2" }); } }