From 9de366915bfd47a9f961b16c61b6b6c64626d111 Mon Sep 17 00:00:00 2001 From: Geri Date: Sat, 27 Jan 2024 19:43:51 +0100 Subject: [PATCH] feature: Correct response detection --- Assets/Scenes/Main.unity | 11 ++++++- .../Scripts/Messaging/Composer/InputField.cs | 8 ++--- .../Scripts/Messaging/Composer/SendButton.cs | 1 + .../Scripts/Messaging/Typer/MessageManager.cs | 30 ++++++++++++++----- 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 02173d7..d281819 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -2065,7 +2065,16 @@ MonoBehaviour: m_EditorClassIdentifier: messageStructureGenerator: {fileID: 1079303793} jokes: - - {fileID: 4900000, guid: 709db39fbdad6d64d913304ea83d7f85, type: 3} + - {fileID: 4900000, guid: c585a95f4d115b445b82535bda5f460c, type: 3} + - {fileID: 4900000, guid: a6e549c30cb55c64d85cda64b3e5f264, type: 3} + - {fileID: 4900000, guid: 4eea457582b04f640b48b613312e90ae, type: 3} + - {fileID: 4900000, guid: 8f6e8913745efbd478f88445cb4bacdd, type: 3} + - {fileID: 4900000, guid: dfe2ad8536db02b458922f1d656549fb, type: 3} + - {fileID: 4900000, guid: 7f0889a12268baf4dae1dcdc69e4b6a4, type: 3} + - {fileID: 4900000, guid: ad10d007892f39943a2e9b4f9a0d98cb, type: 3} + - {fileID: 4900000, guid: d0647985eae927441a5b4a0b854f0eee, type: 3} + - {fileID: 4900000, guid: bf2ae237b56a65648a26e0fc41a94d8a, type: 3} + - {fileID: 4900000, guid: ec37bca099ef3e847b3be147fcfe4d9e, type: 3} sendJokeDelay: 2 initialSendJokeDelay: 4 --- !u!1001 &1825731470 diff --git a/Assets/Scripts/Messaging/Composer/InputField.cs b/Assets/Scripts/Messaging/Composer/InputField.cs index 00d7a10..98011e0 100644 --- a/Assets/Scripts/Messaging/Composer/InputField.cs +++ b/Assets/Scripts/Messaging/Composer/InputField.cs @@ -8,10 +8,6 @@ namespace Messaging.Composer { public string Text => fieldText.text; - public void EmptyText() { - fieldText.SetText(""); - } - public void WriteEmoji(string emoji) { fieldText.text += emoji; } @@ -22,5 +18,9 @@ namespace Messaging.Composer { string newText = _removeRegex.Replace(fieldText.text, ""); fieldText.SetText(newText); } + + public void ClearText() { + fieldText.SetText(""); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Messaging/Composer/SendButton.cs b/Assets/Scripts/Messaging/Composer/SendButton.cs index 4d78593..59993bc 100644 --- a/Assets/Scripts/Messaging/Composer/SendButton.cs +++ b/Assets/Scripts/Messaging/Composer/SendButton.cs @@ -15,6 +15,7 @@ namespace Messaging.Composer { public void SendEmojis() { if (CanSendText()) { _messageManager.CreateMessage(inputField.Text, true); + inputField.ClearText(); } } diff --git a/Assets/Scripts/Messaging/Typer/MessageManager.cs b/Assets/Scripts/Messaging/Typer/MessageManager.cs index 64ade51..78e730e 100644 --- a/Assets/Scripts/Messaging/Typer/MessageManager.cs +++ b/Assets/Scripts/Messaging/Typer/MessageManager.cs @@ -17,23 +17,39 @@ namespace Messaging { private List jokesBag; + private MessageData.MessageData _currentJoke; + private int _currentJokeIndex; + private void Awake() { _messages = messageStructureGenerator.GenerateMessages(); jokesBag = new List(jokes); } - private async void Start() { - MessageData.MessageData joke = GetRandomJoke(); + private void Start() { + SendRandomJoke(); + } + + private async void SendRandomJoke() { + _currentJoke = GetRandomJoke(); await Task.Delay((int)(initialSendJokeDelay * 1000)); - CreateMessage(joke.QuestionMessage.Key, false); + CreateMessage(_currentJoke.QuestionMessage.Key, false); } public void CreateMessage(string message, bool isAnswer) { ModifyMessageText(message, _messages.Length - 1, isAnswer); - } - - public void CreateRealMessage(string message, bool isAnswer) { - ModifyRealMessageText(message, _messages.Length - 1, isAnswer); + if (isAnswer) { + _currentJokeIndex--; + _currentJokeIndex = Mathf.Max(_currentJokeIndex, 0); + if (message == _currentJoke.AnswerMessage.Key) { + ModifyRealMessageText(_currentJoke.QuestionMessage.Value, _currentJokeIndex, false); + ModifyRealMessageText(_currentJoke.AnswerMessage.Value, _messages.Length - 1, true); + SendRandomJoke(); + } else { + //TODO: Add lives support + } + } else { + _currentJokeIndex = _messages.Length - 1; + } } private void ModifyMessageText(string message, int index, bool isAnswer) {