feature: Correct response detection

This commit is contained in:
Gerard Gascón 2024-01-27 19:43:51 +01:00
parent 3669dec76f
commit 9de366915b
4 changed files with 38 additions and 12 deletions

View file

@ -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("");
}
}
}

View file

@ -15,6 +15,7 @@ namespace Messaging.Composer {
public void SendEmojis() {
if (CanSendText()) {
_messageManager.CreateMessage(inputField.Text, true);
inputField.ClearText();
}
}

View file

@ -17,23 +17,39 @@ namespace Messaging {
private List<TextAsset> jokesBag;
private MessageData.MessageData _currentJoke;
private int _currentJokeIndex;
private void Awake() {
_messages = messageStructureGenerator.GenerateMessages();
jokesBag = new List<TextAsset>(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) {