From 4176660b75dcd58e5e15fe996b4694ae0b2acb7e Mon Sep 17 00:00:00 2001 From: ntr Date: Mon, 4 Sep 2023 17:43:08 +1000 Subject: [PATCH] colours n shit --- Assets/Resources/SpaceRaceInput.inputactions | 20 +++++++++ Assets/Src/LapService.cs | 4 +- Assets/Src/ShipInput.cs | 32 ++++++++++++- Assets/Src/UI/Global.uss | 47 +++++++++++++++++++- Assets/Src/UI/Menu.uss | 25 ++++------- Assets/Src/UI/Menu.uxml | 9 ++-- Assets/Src/UI/MenuControls.cs | 37 +++++++++++---- ProjectSettings/ProjectSettings.asset | 3 +- TODO.md | 5 +-- 9 files changed, 144 insertions(+), 38 deletions(-) diff --git a/Assets/Resources/SpaceRaceInput.inputactions b/Assets/Resources/SpaceRaceInput.inputactions index a6d7a38..e768c56 100755 --- a/Assets/Resources/SpaceRaceInput.inputactions +++ b/Assets/Resources/SpaceRaceInput.inputactions @@ -430,6 +430,15 @@ "processors": "", "interactions": "", "initialStateCheck": false + }, + { + "name": "CloseMenu", + "type": "Button", + "id": "1652c3df-4953-4d94-931d-fa97b3642209", + "expectedControlType": "Button", + "processors": "", + "interactions": "", + "initialStateCheck": false } ], "bindings": [ @@ -454,6 +463,17 @@ "action": "ToggleMenu", "isComposite": false, "isPartOfComposite": false + }, + { + "name": "", + "id": "6ac57c61-730a-42a5-987d-b1190e7a6882", + "path": "/buttonEast", + "interactions": "", + "processors": "", + "groups": "", + "action": "CloseMenu", + "isComposite": false, + "isPartOfComposite": false } ] } diff --git a/Assets/Src/LapService.cs b/Assets/Src/LapService.cs index 1d8cf5e..c3afee8 100644 --- a/Assets/Src/LapService.cs +++ b/Assets/Src/LapService.cs @@ -42,7 +42,7 @@ public class LapService { } public IEnumerator GetLapTimes() { - string uri = $"https://spacerace.systems/api/LapTimes?userId={_player.Id}&mapName={_mapName}"; + string uri = $"https://spacerace.systems/LapTimes?userId={_player.Id}&mapName={_mapName}"; using (UnityWebRequest req = UnityWebRequest.Get(uri)) { yield return req.SendWebRequest(); @@ -95,7 +95,7 @@ public class LapService { Debug.Log($"Posting lap: {JsonConvert.SerializeObject(dto)}"); - using (UnityWebRequest req = UnityWebRequest.Post("https://spacerace.systems/api/Lap", JsonConvert.SerializeObject(dto), "application/json")) { + using (UnityWebRequest req = UnityWebRequest.Post("https://spacerace.systems/Lap", JsonConvert.SerializeObject(dto), "application/json")) { yield return req.SendWebRequest(); if (req.result != UnityWebRequest.Result.Success) { diff --git a/Assets/Src/ShipInput.cs b/Assets/Src/ShipInput.cs index 78816ff..bd9d439 100755 --- a/Assets/Src/ShipInput.cs +++ b/Assets/Src/ShipInput.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator -// version 1.6.1 +// version 1.6.3 // from Assets/Resources/SpaceRaceInput.inputactions // // Changes to this file may cause incorrect behavior and will be lost if @@ -452,6 +452,15 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable ""processors"": """", ""interactions"": """", ""initialStateCheck"": false + }, + { + ""name"": ""CloseMenu"", + ""type"": ""Button"", + ""id"": ""1652c3df-4953-4d94-931d-fa97b3642209"", + ""expectedControlType"": ""Button"", + ""processors"": """", + ""interactions"": """", + ""initialStateCheck"": false } ], ""bindings"": [ @@ -476,6 +485,17 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable ""action"": ""ToggleMenu"", ""isComposite"": false, ""isPartOfComposite"": false + }, + { + ""name"": """", + ""id"": ""6ac57c61-730a-42a5-987d-b1190e7a6882"", + ""path"": ""/buttonEast"", + ""interactions"": """", + ""processors"": """", + ""groups"": """", + ""action"": ""CloseMenu"", + ""isComposite"": false, + ""isPartOfComposite"": false } ] } @@ -497,6 +517,7 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable // menu m_menu = asset.FindActionMap("menu", throwIfNotFound: true); m_menu_ToggleMenu = m_menu.FindAction("ToggleMenu", throwIfNotFound: true); + m_menu_CloseMenu = m_menu.FindAction("CloseMenu", throwIfNotFound: true); } public void Dispose() @@ -677,11 +698,13 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable private readonly InputActionMap m_menu; private List m_MenuActionsCallbackInterfaces = new List(); private readonly InputAction m_menu_ToggleMenu; + private readonly InputAction m_menu_CloseMenu; public struct MenuActions { private @SpaceRaceInput m_Wrapper; public MenuActions(@SpaceRaceInput wrapper) { m_Wrapper = wrapper; } public InputAction @ToggleMenu => m_Wrapper.m_menu_ToggleMenu; + public InputAction @CloseMenu => m_Wrapper.m_menu_CloseMenu; public InputActionMap Get() { return m_Wrapper.m_menu; } public void Enable() { Get().Enable(); } public void Disable() { Get().Disable(); } @@ -694,6 +717,9 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable @ToggleMenu.started += instance.OnToggleMenu; @ToggleMenu.performed += instance.OnToggleMenu; @ToggleMenu.canceled += instance.OnToggleMenu; + @CloseMenu.started += instance.OnCloseMenu; + @CloseMenu.performed += instance.OnCloseMenu; + @CloseMenu.canceled += instance.OnCloseMenu; } private void UnregisterCallbacks(IMenuActions instance) @@ -701,6 +727,9 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable @ToggleMenu.started -= instance.OnToggleMenu; @ToggleMenu.performed -= instance.OnToggleMenu; @ToggleMenu.canceled -= instance.OnToggleMenu; + @CloseMenu.started -= instance.OnCloseMenu; + @CloseMenu.performed -= instance.OnCloseMenu; + @CloseMenu.canceled -= instance.OnCloseMenu; } public void RemoveCallbacks(IMenuActions instance) @@ -734,5 +763,6 @@ public partial class @SpaceRaceInput: IInputActionCollection2, IDisposable public interface IMenuActions { void OnToggleMenu(InputAction.CallbackContext context); + void OnCloseMenu(InputAction.CallbackContext context); } } diff --git a/Assets/Src/UI/Global.uss b/Assets/Src/UI/Global.uss index 3fc1612..7b53d46 100644 --- a/Assets/Src/UI/Global.uss +++ b/Assets/Src/UI/Global.uss @@ -5,10 +5,55 @@ --purple: rgb(164, 35, 188); --yellow: rgb(255, 161, 0); --white: rgb(245, 245, 245); - color: rgb(245, 245, 245); + color: var(--white); border-color: var(--white); font-size: 24px; letter-spacing: 24px; -unity-font: url("/Assets/UI Toolkit/Fonts/Jura-Medium.otf"); -unity-font-definition: initial; } + +Button:focus { + border-color: var(--green); +} + +Button:hover { + border-color: var(--green); +} + +Slider:focus { + color: var(--green); +} + +Slider:hover { + color: var(--green); +} + +Slider:active { + color: var(--green); +} + +Slider:focus Label { + color: var(--green); +} + +Slider:hover Label { + color: var(--green); +} + +Slider:active Label { + color: var(--green); +} + +Toggle:focus Label { + color: var(--green); +} + +Toggle:hover Label { + color: var(--green); +} + +Toggle:active Label { + color: var(--green); +} + diff --git a/Assets/Src/UI/Menu.uss b/Assets/Src/UI/Menu.uss index 9bfc694..0cd8a45 100644 --- a/Assets/Src/UI/Menu.uss +++ b/Assets/Src/UI/Menu.uss @@ -9,25 +9,18 @@ height: 256px; } +#settings { + padding-left: 25px; +} + +#tracksCtr { + padding-left: 25px; +} + Button { background-color: rgba(0, 0, 0, 0.26); color: rgb(255, 255, 255); border-radius: 5px; + border-width: 3px; width: 33%; } - -Button:focus { - border-color: var(--green); -} - -Button:hover { - border-color: var(--green); -} - -Toggle:focus { - border-color: var(--green); -} - -Toggle:hover { - border-color: var(--green); -} diff --git a/Assets/Src/UI/Menu.uxml b/Assets/Src/UI/Menu.uxml index 798b870..10d7301 100644 --- a/Assets/Src/UI/Menu.uxml +++ b/Assets/Src/UI/Menu.uxml @@ -4,7 +4,7 @@ - + @@ -12,9 +12,10 @@ - - + + + - + diff --git a/Assets/Src/UI/MenuControls.cs b/Assets/Src/UI/MenuControls.cs index 8eca8cc..7834834 100644 --- a/Assets/Src/UI/MenuControls.cs +++ b/Assets/Src/UI/MenuControls.cs @@ -2,7 +2,7 @@ using UnityEngine; using UnityEngine.UIElements; using UnityEngine.InputSystem; -public class MenuControls : MonoBehaviour, SpaceRaceInput.IMenuActions { +public class MenuControls : MonoBehaviour { UIDocument menuDoc; [SerializeField] @@ -29,16 +29,14 @@ public class MenuControls : MonoBehaviour, SpaceRaceInput.IMenuActions { Toggle invertYToggle; Slider viewSensSlider; + Label viewSensLabel; bool visible = false; void Awake() { menuDoc = GetComponent(); - if (input == null) { - input = new SpaceRaceInput(); - input.menu.SetCallbacks(this); - } + if (input == null) input = new SpaceRaceInput(); input.menu.Enable(); menuUi = GetComponent(); @@ -47,11 +45,22 @@ public class MenuControls : MonoBehaviour, SpaceRaceInput.IMenuActions { return; } + SetupActions(); Hide(); } + void SetupActions() { + if (input == null) + input = new SpaceRaceInput(); + + input.menu.Enable(); + input.menu.ToggleMenu.started += OnToggleMenu; + input.menu.CloseMenu.started += OnCloseMenu; + } + void OnDestroy() { - input.menu.RemoveCallbacks(this); + input.menu.ToggleMenu.started -= OnToggleMenu; + input.menu.CloseMenu.started -= OnCloseMenu; } void Show() { @@ -87,9 +96,8 @@ public class MenuControls : MonoBehaviour, SpaceRaceInput.IMenuActions { shipControls.enabled = true; } - public void OnToggleMenu(InputAction.CallbackContext ctx) { + void OnToggleMenu(InputAction.CallbackContext _ctx) { visible = !visible; - // Debug.Log($"Menu {visible}"); if (visible) { Show(); @@ -100,11 +108,22 @@ public class MenuControls : MonoBehaviour, SpaceRaceInput.IMenuActions { return; } + void OnCloseMenu(InputAction.CallbackContext _ctx) { + if (visible) Hide(); + } + void BindSettings() { Debug.Log("Setting controls change callbacks"); invertYToggle = menuDoc.rootVisualElement.Q("invertY"); viewSensSlider = menuDoc.rootVisualElement.Q("mouseSens"); + viewSensLabel = menuDoc.rootVisualElement.Q