Fix mobile selection on input boxes

This commit is contained in:
2026-01-25 22:08:30 -07:00
parent 1dcd8c4ae5
commit 135e4cc899
16 changed files with 133 additions and 94 deletions

View File

@@ -4311,7 +4311,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1

View File

@@ -1427,47 +1427,6 @@ MonoBehaviour:
invert: 0
addMore: {r: 0, g: 0, b: 0, a: 0}
reverseAdd: 0
--- !u!21 &134657266
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UI/RoundedCorners/RoundedCorners
m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _OuterUV: {r: 0, g: 0, b: 1, a: 1}
- _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!1 &141601053
GameObject:
m_ObjectHideFlags: 0
@@ -1550,6 +1509,47 @@ MonoBehaviour:
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!21 &142639264
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UI/RoundedCorners/RoundedCorners
m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _OuterUV: {r: 0, g: 0, b: 1, a: 1}
- _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!1 &149946454
GameObject:
m_ObjectHideFlags: 0
@@ -6829,7 +6829,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 134657266}
m_Material: {fileID: 142639264}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
@@ -7149,7 +7149,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 1872132210}
m_Material: {fileID: 1795501312}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
@@ -7360,7 +7360,7 @@ MonoBehaviour:
invert: 0
addMore: {r: 0, g: 0, b: 0, a: 0}
reverseAdd: 0
--- !u!21 &1050788688
--- !u!21 &1012033519
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
@@ -7977,7 +7977,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Image
m_Material: {fileID: 1050788688}
m_Material: {fileID: 1012033519}
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
@@ -10545,6 +10545,47 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!21 &1795501312
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UI/RoundedCorners/RoundedCorners
m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _OuterUV: {r: 0, g: 0, b: 1, a: 1}
- _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!1 &1808945141
GameObject:
m_ObjectHideFlags: 0
@@ -11038,47 +11079,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1865558840}
m_CullTransparentMesh: 1
--- !u!21 &1872132210
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: UI/RoundedCorners/RoundedCorners
m_Shader: {fileID: 4800000, guid: 0bd2ec5d73751e34a814274a454bec41, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _ColorMask: 15
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _UseUIAlphaClip: 0
m_Colors:
- _OuterUV: {r: 0, g: 0, b: 1, a: 1}
- _WidthHeightRadius: {r: 1180, g: 75, b: 20, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!1 &1926638709
GameObject:
m_ObjectHideFlags: 0

View File

@@ -813,7 +813,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1
@@ -3171,7 +3171,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1
@@ -15123,7 +15123,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1
@@ -15623,7 +15623,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1

View File

@@ -9605,7 +9605,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1
@@ -11928,7 +11928,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1

View File

@@ -7036,7 +7036,7 @@ MonoBehaviour:
m_ReadOnly: 0
m_RichText: 1
m_GlobalFontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2}
m_OnFocusSelectAll: 1
m_OnFocusSelectAll: 0
m_ResetOnDeActivation: 1
m_KeepTextSelectionVisible: 0
m_RestoreOriginalTextOnEscape: 1

View File

@@ -14,6 +14,9 @@ public class AccountChangePassword : MonoBehaviour
void Awake()
{
changePasswordNewPasswordInput.onSelect.AddListener((_) => changePasswordNewPasswordInput.caretPosition = changePasswordNewPasswordInput.text.Length);
changePasswordRetypeNewPasswordInput.onSelect.AddListener((_) => changePasswordRetypeNewPasswordInput.caretPosition = changePasswordRetypeNewPasswordInput.text.Length);
changePasswordBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
changePasswordSubmitButton.onClick.AddListener(() => ChangePassword());
}

View File

@@ -13,6 +13,8 @@ public class AccountChangeUsername : MonoBehaviour
void Awake()
{
changeUsernameNewUsernameInput.onSelect.AddListener((_) => changeUsernameNewUsernameInput.caretPosition = changeUsernameNewUsernameInput.text.Length);
changeUsernameBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
changeUsernameSubmitButton.onClick.AddListener(() => ChangeUsername());
}

View File

@@ -16,6 +16,9 @@ public class AccountForgotDetails : MonoBehaviour
void Awake()
{
forgotDetailsEmailInput.onSelect.AddListener((_) => forgotDetailsEmailInput.caretPosition = forgotDetailsEmailInput.text.Length);
forgotDetailsVerifyCodeInput.onSelect.AddListener((_) => forgotDetailsVerifyCodeInput.caretPosition = forgotDetailsVerifyCodeInput.text.Length);
forgotDetailsBackButton.onClick.AddListener(() =>
{
forgotDetailsBackButton.interactable = false;

View File

@@ -17,6 +17,9 @@ public class AccountLogin : MonoBehaviour
void Awake()
{
loginUsernameInput.onSelect.AddListener((_) => loginUsernameInput.caretPosition = loginUsernameInput.text.Length);
loginPasswordInput.onSelect.AddListener((_) => loginPasswordInput.caretPosition = loginPasswordInput.text.Length);
loginBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
loginSubmitButton.onClick.AddListener(() => SubmitLogin());
forgotUsernameButton.onClick.AddListener(() =>

View File

@@ -15,6 +15,9 @@ public class AccountRefreshLogin : MonoBehaviour
void Awake()
{
refreshLoginUsernameInput.onSelect.AddListener((_) => refreshLoginUsernameInput.caretPosition = refreshLoginUsernameInput.text.Length);
refreshLoginPasswordInput.onSelect.AddListener((_) => refreshLoginPasswordInput.caretPosition = refreshLoginPasswordInput.text.Length);
refreshLoginBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(0));
refreshLoginSubmitButton.onClick.AddListener(() => RefreshLogin());
}

View File

@@ -18,6 +18,13 @@ public class AccountRegister : MonoBehaviour
void Awake()
{
registerUsernameInput.onSelect.AddListener((_) => registerUsernameInput.caretPosition = registerUsernameInput.text.Length);
registerEmailInput.onSelect.AddListener((_) => registerEmailInput.caretPosition = registerEmailInput.text.Length);
registerRetypeEmailInput.onSelect.AddListener((_) => registerRetypeEmailInput.caretPosition = registerRetypeEmailInput.text.Length);
registerPasswordInput.onSelect.AddListener((_) => registerPasswordInput.caretPosition = registerPasswordInput.text.Length);
registerRetypePasswordInput.onSelect.AddListener((_) => registerRetypePasswordInput.caretPosition = registerRetypePasswordInput.text.Length);
registerVerifyCodeInput.onSelect.AddListener((_) => registerVerifyCodeInput.caretPosition = registerVerifyCodeInput.text.Length);
registerBackButton.onClick.AddListener(() => AccountHandler.instance.SwitchPanel(1));
registerSubmitButton.onClick.AddListener(() => SubmitRegister());
}

View File

@@ -42,6 +42,9 @@ public class ChatroomMenu : MonoBehaviour
void Awake()
{
messageInputField.onSelect.AddListener((_) => messageInputField.caretPosition = messageInputField.text.Length);
reportMessagePanelReportReason.onSelect.AddListener((_) => reportMessagePanelReportReason.caretPosition = reportMessagePanelReportReason.text.Length);
WebsocketHandler.Instance._Connection.StateChanged += OnStateChanged;
WebsocketHandler.Instance._Connection.MessageReceived += OnMessageReceived;
if (WebsocketHandler.Instance._Connection.State == WebSocketState.Connected)
@@ -210,6 +213,7 @@ public class ChatroomMenu : MonoBehaviour
var editMessageChildOriginalPreview = editMessageChild.GetChild(2).gameObject;
var editMessageChildEditedPreview = editMessageChild.GetChild(3).gameObject;
var editMessageChildNewContentInputBox = editMessageChild.GetChild(4).GetComponent<TMP_InputField>();
editMessageChildNewContentInputBox.onSelect.AddListener((_) => editMessageChildNewContentInputBox.caretPosition = editMessageChildNewContentInputBox.text.Length);
editMessageChildNewContentInputBox.text = Encoding.UTF8.GetString(Convert.FromBase64String(selectedMessageForOptions.Content));
editMessageChildExitButton.onClick.AddListener(() =>
{

View File

@@ -18,6 +18,11 @@ public class ColorPanel : MonoBehaviour
public event Action<JArray> OnColorChanged;
public Color defaultColor;
void Awake()
{
hexValue.onSelect.AddListener((_) => hexValue.caretPosition = hexValue.text.Length);
}
public void Init(Color color, Color defaultColorArg)
{
defaultColor = defaultColorArg;

View File

@@ -47,6 +47,10 @@ public class IconMarketplaceDownloadIcon : MonoBehaviour
void Awake()
{
optionsPanelPriceRangeMinInput.onSelect.AddListener((_) => optionsPanelPriceRangeMinInput.caretPosition = optionsPanelPriceRangeMinInput.text.Length);
optionsPanelPriceRangeMaxInput.onSelect.AddListener((_) => optionsPanelPriceRangeMaxInput.caretPosition = optionsPanelPriceRangeMaxInput.text.Length);
optionsPanelSearchForInputField.onSelect.AddListener((_) => optionsPanelSearchForInputField.caretPosition = optionsPanelSearchForInputField.text.Length);
backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0));
refreshButton.onClick.AddListener(GetIcons);
optionsButton.onClick.AddListener(() => optionsPanel.SetActive(true));

View File

@@ -24,6 +24,10 @@ public class IconMarketplaceUploadIcon : MonoBehaviour
void Awake()
{
verifyCodeInput.onSelect.AddListener((_) => verifyCodeInput.caretPosition = verifyCodeInput.text.Length);
birdPriceInput.onSelect.AddListener((_) => birdPriceInput.caretPosition = birdPriceInput.text.Length);
birdNameInput.onSelect.AddListener((_) => birdNameInput.caretPosition = birdNameInput.text.Length);
backButton.onClick.AddListener(() => marketplaceManager.SwitchPanel(0));
uploadButton.onClick.AddListener(() =>
{

View File

@@ -320,6 +320,7 @@ public class ProfileMenu : MonoBehaviour
popupObject = popup;
popup.SetActive(true);
var inputBox = popup.transform.GetChild(0).GetChild(1).GetComponent<TMP_InputField>();
inputBox.onSelect.AddListener((_) => inputBox.caretPosition = inputBox.text.Length);
var cancelButton = popup.transform.GetChild(0).GetChild(2).GetComponent<Button>();
var submitButton = popup.transform.GetChild(0).GetChild(3).GetComponent<Button>();
cancelButton.onClick.AddListener(() =>