diff --git a/Assets/Prefabs/ProfilePrefab.prefab b/Assets/Prefabs/ProfilePrefab.prefab index c2e294c..169b12f 100644 --- a/Assets/Prefabs/ProfilePrefab.prefab +++ b/Assets/Prefabs/ProfilePrefab.prefab @@ -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 diff --git a/Assets/Scenes/ChatroomMenu.unity b/Assets/Scenes/ChatroomMenu.unity index 3055e30..d6948b1 100644 --- a/Assets/Scenes/ChatroomMenu.unity +++ b/Assets/Scenes/ChatroomMenu.unity @@ -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 diff --git a/Assets/Scenes/IconMarketplaceMenu.unity b/Assets/Scenes/IconMarketplaceMenu.unity index cfb02c9..850c365 100644 --- a/Assets/Scenes/IconMarketplaceMenu.unity +++ b/Assets/Scenes/IconMarketplaceMenu.unity @@ -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 diff --git a/Assets/Scenes/IconsMenu.unity b/Assets/Scenes/IconsMenu.unity index b0d8638..04e677f 100644 --- a/Assets/Scenes/IconsMenu.unity +++ b/Assets/Scenes/IconsMenu.unity @@ -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 diff --git a/Assets/Scenes/SettingsMenu.unity b/Assets/Scenes/SettingsMenu.unity index 4438761..953a36f 100644 --- a/Assets/Scenes/SettingsMenu.unity +++ b/Assets/Scenes/SettingsMenu.unity @@ -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 diff --git a/Assets/Scripts/AccountMenu/AccountChangePassword.cs b/Assets/Scripts/AccountMenu/AccountChangePassword.cs index 4bdb510..76d5546 100644 --- a/Assets/Scripts/AccountMenu/AccountChangePassword.cs +++ b/Assets/Scripts/AccountMenu/AccountChangePassword.cs @@ -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()); } diff --git a/Assets/Scripts/AccountMenu/AccountChangeUsername.cs b/Assets/Scripts/AccountMenu/AccountChangeUsername.cs index 033caf0..a9f652d 100644 --- a/Assets/Scripts/AccountMenu/AccountChangeUsername.cs +++ b/Assets/Scripts/AccountMenu/AccountChangeUsername.cs @@ -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()); } diff --git a/Assets/Scripts/AccountMenu/AccountForgotDetails.cs b/Assets/Scripts/AccountMenu/AccountForgotDetails.cs index 96ed759..795734b 100644 --- a/Assets/Scripts/AccountMenu/AccountForgotDetails.cs +++ b/Assets/Scripts/AccountMenu/AccountForgotDetails.cs @@ -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; diff --git a/Assets/Scripts/AccountMenu/AccountLogin.cs b/Assets/Scripts/AccountMenu/AccountLogin.cs index eafe990..044452f 100644 --- a/Assets/Scripts/AccountMenu/AccountLogin.cs +++ b/Assets/Scripts/AccountMenu/AccountLogin.cs @@ -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(() => diff --git a/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs b/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs index 3731f97..0867afb 100644 --- a/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs +++ b/Assets/Scripts/AccountMenu/AccountRefreshLogin.cs @@ -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()); } diff --git a/Assets/Scripts/AccountMenu/AccountRegister.cs b/Assets/Scripts/AccountMenu/AccountRegister.cs index 36ee445..3f57f11 100644 --- a/Assets/Scripts/AccountMenu/AccountRegister.cs +++ b/Assets/Scripts/AccountMenu/AccountRegister.cs @@ -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()); } diff --git a/Assets/Scripts/ChatroomMenu.cs b/Assets/Scripts/ChatroomMenu.cs index 2122f17..bc56184 100644 --- a/Assets/Scripts/ChatroomMenu.cs +++ b/Assets/Scripts/ChatroomMenu.cs @@ -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(); + editMessageChildNewContentInputBox.onSelect.AddListener((_) => editMessageChildNewContentInputBox.caretPosition = editMessageChildNewContentInputBox.text.Length); editMessageChildNewContentInputBox.text = Encoding.UTF8.GetString(Convert.FromBase64String(selectedMessageForOptions.Content)); editMessageChildExitButton.onClick.AddListener(() => { diff --git a/Assets/Scripts/ColorPanel.cs b/Assets/Scripts/ColorPanel.cs index afa00d9..30d7649 100644 --- a/Assets/Scripts/ColorPanel.cs +++ b/Assets/Scripts/ColorPanel.cs @@ -18,6 +18,11 @@ public class ColorPanel : MonoBehaviour public event Action OnColorChanged; public Color defaultColor; + void Awake() + { + hexValue.onSelect.AddListener((_) => hexValue.caretPosition = hexValue.text.Length); + } + public void Init(Color color, Color defaultColorArg) { defaultColor = defaultColorArg; diff --git a/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs b/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs index fb4a7b6..0f90c26 100644 --- a/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs +++ b/Assets/Scripts/IconMarketplace/IconMarketplaceDownloadIcon.cs @@ -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)); diff --git a/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs b/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs index fb60b8c..9863a2d 100644 --- a/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs +++ b/Assets/Scripts/IconMarketplace/IconMarketplaceUploadIcon.cs @@ -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(() => { diff --git a/Assets/Scripts/ProfileMenu.cs b/Assets/Scripts/ProfileMenu.cs index 2dc346b..ba388d9 100644 --- a/Assets/Scripts/ProfileMenu.cs +++ b/Assets/Scripts/ProfileMenu.cs @@ -320,6 +320,7 @@ public class ProfileMenu : MonoBehaviour popupObject = popup; popup.SetActive(true); var inputBox = popup.transform.GetChild(0).GetChild(1).GetComponent(); + inputBox.onSelect.AddListener((_) => inputBox.caretPosition = inputBox.text.Length); var cancelButton = popup.transform.GetChild(0).GetChild(2).GetComponent