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

@ -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

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) {