feature: Added remaining icons text
This commit is contained in:
parent
a06b96eb8d
commit
b2bd875508
4 changed files with 654 additions and 446 deletions
|
@ -5,21 +5,46 @@ using UnityEngine;
|
|||
namespace Messaging.Composer {
|
||||
public class InputField : MonoBehaviour {
|
||||
[SerializeField] private TMP_Text fieldText;
|
||||
|
||||
[SerializeField] private TMP_Text remainingIconsText;
|
||||
|
||||
public string Text => fieldText.text;
|
||||
|
||||
public void WriteEmoji(string emoji) {
|
||||
fieldText.text += emoji;
|
||||
private int _numberIcons;
|
||||
public int NumberIcons {
|
||||
set {
|
||||
_iconsWritten = 0;
|
||||
_numberIcons = value;
|
||||
remainingIconsText.text = GetRemainingIcons().ToString();
|
||||
}
|
||||
get => _numberIcons;
|
||||
}
|
||||
|
||||
private int _iconsWritten;
|
||||
|
||||
private readonly Regex _removeRegex = new(@"<([a-z]+)(?![^>]*\/>)[^>]*>(?!.*<([a-z]+)(?![^>]*\/>)[^>]*>)");
|
||||
|
||||
public void WriteEmoji(string emoji) {
|
||||
if (GetRemainingIcons() <= 0) return;
|
||||
|
||||
_iconsWritten++;
|
||||
fieldText.text += emoji;
|
||||
remainingIconsText.text = GetRemainingIcons().ToString();
|
||||
}
|
||||
|
||||
private int GetRemainingIcons() => _numberIcons - _iconsWritten;
|
||||
|
||||
public void RemoveEmoji() {
|
||||
string newText = _removeRegex.Replace(fieldText.text, "");
|
||||
if (newText != fieldText.text) {
|
||||
_iconsWritten--;
|
||||
remainingIconsText.text = GetRemainingIcons().ToString();
|
||||
}
|
||||
fieldText.SetText(newText);
|
||||
}
|
||||
|
||||
public void ClearText() {
|
||||
_iconsWritten = 0;
|
||||
remainingIconsText.text = GetRemainingIcons().ToString();
|
||||
fieldText.SetText("");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,6 +97,7 @@ namespace Messaging {
|
|||
|
||||
private List<string> GetResultEmojis() {
|
||||
MatchCollection emojis = _emojiGetter.Matches(_currentJoke.AnswerMessage.Key);
|
||||
FindObjectOfType<InputField>().NumberIcons = emojis.Count;
|
||||
|
||||
List<string> emojiStrings = new();
|
||||
foreach (Match emoji in emojis) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue