diff --git a/Assets/Scenes/Startup.unity b/Assets/Scenes/Startup.unity index f6b7d19..5da6895 100644 --- a/Assets/Scenes/Startup.unity +++ b/Assets/Scenes/Startup.unity @@ -133,7 +133,6 @@ GameObject: m_Component: - component: {fileID: 6315364} - component: {fileID: 6315367} - - component: {fileID: 6315366} - component: {fileID: 6315365} m_Layer: 5 m_Name: Scroll View @@ -149,20 +148,18 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6315363} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1339770444} - - {fileID: 462585834} - - {fileID: 2001754371} - m_Father: {fileID: 30129051} - m_RootOrder: 1 + m_Father: {fileID: 1383294979} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -100} - m_SizeDelta: {x: 0, y: 200} + m_AnchoredPosition: {x: 1.6949463, y: -105.1} + m_SizeDelta: {x: -3.3900743, y: 200} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &6315365 MonoBehaviour: @@ -177,53 +174,23 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_Content: {fileID: 2060532664} - m_Horizontal: 1 + m_Horizontal: 0 m_Vertical: 1 m_MovementType: 2 m_Elasticity: 0.1 - m_Inertia: 1 + m_Inertia: 0 m_DecelerationRate: 0.135 - m_ScrollSensitivity: 1 + m_ScrollSensitivity: 40 m_Viewport: {fileID: 1339770444} - m_HorizontalScrollbar: {fileID: 462585835} + m_HorizontalScrollbar: {fileID: 0} m_VerticalScrollbar: {fileID: 2001754372} m_HorizontalScrollbarVisibility: 2 - m_VerticalScrollbarVisibility: 2 + m_VerticalScrollbarVisibility: 1 m_HorizontalScrollbarSpacing: -3 m_VerticalScrollbarSpacing: -3 m_OnValueChanged: m_PersistentCalls: m_Calls: [] ---- !u!114 &6315366 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6315363} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 --- !u!222 &6315367 CanvasRenderer: m_ObjectHideFlags: 0 @@ -332,7 +299,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 + m_IsActive: 1 --- !u!224 &30129051 RectTransform: m_ObjectHideFlags: 0 @@ -345,7 +312,7 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 238388069} - - {fileID: 6315364} + - {fileID: 1383294979} m_Father: {fileID: 188582820} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -773,132 +740,6 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &462585833 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 462585834} - - component: {fileID: 462585837} - - component: {fileID: 462585836} - - component: {fileID: 462585835} - m_Layer: 5 - m_Name: Scrollbar Horizontal - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &462585834 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 462585833} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2075085359} - m_Father: {fileID: 6315364} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -17, y: 20} - m_Pivot: {x: 0, y: 0} ---- !u!114 &462585835 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 462585833} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2a4db7a114972834c8e4117be1d82ba3, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_WrapAround: 0 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_SelectedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_SelectedTrigger: Selected - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 2018484345} - m_HandleRect: {fileID: 2018484344} - m_Direction: 0 - m_Value: 0 - m_Size: 1 - m_NumberOfSteps: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] ---- !u!114 &462585836 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 462585833} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &462585837 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 462585833} - m_CullTransparentMesh: 1 --- !u!1 &577879791 GameObject: m_ObjectHideFlags: 0 @@ -1011,7 +852,7 @@ RectTransform: m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} + m_AnchorMax: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 20, y: 20} m_Pivot: {x: 0.5, y: 0.5} @@ -1250,8 +1091,6 @@ GameObject: m_Component: - component: {fileID: 1339770444} - component: {fileID: 1339770447} - - component: {fileID: 1339770446} - - component: {fileID: 1339770445} m_Layer: 5 m_Name: Viewport m_TagString: Untagged @@ -1277,28 +1116,76 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -17, y: -17} + m_SizeDelta: {x: -17, y: 0} m_Pivot: {x: 0, y: 1} ---- !u!114 &1339770445 -MonoBehaviour: +--- !u!222 &1339770447 +CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1339770443} + m_CullTransparentMesh: 1 +--- !u!1 &1383294978 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1383294979} + - component: {fileID: 1383294982} + - component: {fileID: 1383294981} + - component: {fileID: 1383294980} + m_Layer: 5 + m_Name: ConsolePanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1383294979 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383294978} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 6315364} + - {fileID: 2001754371} + m_Father: {fileID: 30129051} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 205.29999} + m_SizeDelta: {x: 0, y: -410.6} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1383294980 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383294978} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} m_Name: m_EditorClassIdentifier: - m_ShowMaskGraphic: 0 ---- !u!114 &1339770446 + m_ShowMaskGraphic: 1 +--- !u!114 &1383294981 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1339770443} + m_GameObject: {fileID: 1383294978} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -1312,7 +1199,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 10917, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -1322,13 +1209,13 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!222 &1339770447 +--- !u!222 &1383294982 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1339770443} + m_GameObject: {fileID: 1383294978} m_CullTransparentMesh: 1 --- !u!1 &1442540124 GameObject: @@ -1838,13 +1725,13 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1705617157} - m_Father: {fileID: 6315364} - m_RootOrder: 2 + m_Father: {fileID: 1383294979} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 1, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: -17} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 20, y: 0} m_Pivot: {x: 1, y: 1} --- !u!114 &2001754372 MonoBehaviour: @@ -1933,81 +1820,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2001754370} m_CullTransparentMesh: 1 ---- !u!1 &2018484343 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2018484344} - - component: {fileID: 2018484346} - - component: {fileID: 2018484345} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2018484344 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2018484343} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2075085359} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 20} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2018484345 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2018484343} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} - m_Maskable: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 - m_UseSpriteMesh: 0 - m_PixelsPerUnitMultiplier: 1 ---- !u!222 &2018484346 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2018484343} - m_CullTransparentMesh: 1 --- !u!1 &2060532661 GameObject: m_ObjectHideFlags: 0 @@ -2060,9 +1872,7 @@ MonoBehaviour: m_HorizontalOverflow: 0 m_VerticalOverflow: 0 m_LineSpacing: 1 - m_Text: ' - -' + m_Text: --- !u!222 &2060532663 CanvasRenderer: m_ObjectHideFlags: 0 @@ -2085,10 +1895,10 @@ RectTransform: m_Father: {fileID: 1339770444} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 1} - m_AnchorMax: {x: 0, y: 1} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 1240.18, y: 32} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 1} --- !u!114 &2060532665 MonoBehaviour: @@ -2104,42 +1914,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_HorizontalFit: 0 m_VerticalFit: 2 ---- !u!1 &2075085358 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2075085359} - m_Layer: 5 - m_Name: Sliding Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2075085359 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2075085358} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2018484344} - m_Father: {fileID: 462585834} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: -20} - m_Pivot: {x: 0.5, y: 0.5} --- !u!1001 &2118235053 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/OpenTS2/Diagnostic/CheatConsoleController.cs b/Assets/Scripts/OpenTS2/Diagnostic/CheatConsoleController.cs index 4272b51..392c213 100644 --- a/Assets/Scripts/OpenTS2/Diagnostic/CheatConsoleController.cs +++ b/Assets/Scripts/OpenTS2/Diagnostic/CheatConsoleController.cs @@ -16,10 +16,11 @@ namespace OpenTS2.Diagnostic public InputField CheatInputField; public Text ConsoleOutput; public ScrollRect ConsoleScroll; - [ConsoleProperty("ots2_consoleMaxChars")] private static int _maxCharacters = 50000; + private static int _maxHistory = 100; bool _isOpen = false; - string _lastCheat = ""; + List _history = new List(); + int _currentHistory = -1; private void Awake() { @@ -28,21 +29,70 @@ namespace OpenTS2.Diagnostic Destroy(gameObject); return; } + CheatInputField.onValueChanged.AddListener(OnTextChanged); s_singleton = this; ConsoleParent.SetActive(false); DontDestroyOnLoad(this); } + void OnTextChanged(string value) + { + _currentHistory = -1; + } + private void Update() { if (Input.GetKeyDown(KeyCode.F3)) ToggleConsole(); if (!_isOpen) return; - if (Input.GetKeyDown(KeyCode.Return)) + if (Input.GetKeyDown(KeyCode.Return) || Input.GetKeyDown(KeyCode.KeypadEnter)) Submit(); - if (Input.GetKeyDown(KeyCode.UpArrow) && !string.IsNullOrEmpty(_lastCheat) && CheatInputField.isFocused) - CheatInputField.text = _lastCheat; + if (Input.GetKeyDown(KeyCode.UpArrow) && CheatInputField.isFocused) + { + HistoryUp(); + } + if (Input.GetKeyDown(KeyCode.DownArrow) && CheatInputField.isFocused) + { + HistoryDown(); + } + } + + void AddToHistory(string text) + { + _history.Insert(0, text); + if (_history.Count > _maxHistory) + _history.RemoveRange(_maxHistory, _history.Count - _maxHistory); + } + + void HistoryUp() + { + CheatInputField.onValueChanged.RemoveListener(OnTextChanged); + if (_history.Count > 0) + { + _currentHistory++; + if (_currentHistory < 0) + _currentHistory = _history.Count - 1; + if (_currentHistory >= _history.Count) + _currentHistory = 0; + CheatInputField.text = _history[_currentHistory]; + } + CheatInputField.onValueChanged.AddListener(OnTextChanged); + } + + void HistoryDown() + { + CheatInputField.onValueChanged.RemoveListener(OnTextChanged); + if (_history.Count > 0) + { + _currentHistory--; + if (_currentHistory < 0) + _currentHistory = _history.Count - 1; + if (_currentHistory >= _history.Count) + _currentHistory = 0; + CheatInputField.text = _history[_currentHistory]; + } + CheatInputField.onValueChanged.AddListener(OnTextChanged); } void ToggleConsole() @@ -70,7 +120,7 @@ namespace OpenTS2.Diagnostic void Submit() { Log($"> {CheatInputField.text}"); - _lastCheat = CheatInputField.text; + AddToHistory(CheatInputField.text); try { CheatSystem.Execute(CheatInputField.text, this);