From ffd98b6322014cb4f400f3659f0e71cc5cfb0204 Mon Sep 17 00:00:00 2001 From: mxssw Date: Tue, 20 May 2025 14:53:35 +0300 Subject: [PATCH] added scoring system for the bow game --- .../NetworkDiscovery.cs | 2 +- .../NetworkDiscoveryCanvasUI.cs | 144 ++++++++++ .../Server List item prefab.prefab | 261 +++++++++++++++++ .../Car Teleporter Button.cs | 7 +- .../Bolt/Intercation Logic/Passanger Seat.cs | 4 +- Assets/_PROJECT/Components/Bow/Scoring.meta | 8 + .../Components/Bow/Scoring/Blank square.png | 3 + .../Bow/Scoring/Blank square.png.meta | 148 ++++++++++ .../Components/Bow/Scoring/Empty sheet.png | 3 + .../Bow/Scoring/Empty sheet.png.meta | 148 ++++++++++ .../Bow/Scoring/LetterButton.prefab | 262 ++++++++++++++++++ .../Bow/Scoring/LetterButton.prefab.meta | 7 + .../Components/Bow/Scoring/SpaceButton.png | 3 + .../Bow/Scoring/SpaceButton.png.meta | 148 ++++++++++ .../Components/Bow/Scoring/Width1 button.png | 3 + .../Bow/Scoring/Width1 button.png.meta | 148 ++++++++++ .../Components/Bow/Scoring/Width2 button.png | 3 + .../Bow/Scoring/Width2 button.png.meta | 148 ++++++++++ .../Bow/Scoring/icons8-backspace-100.png | 3 + .../Bow/Scoring/icons8-backspace-100.png.meta | 148 ++++++++++ .../Bow/Scoring/icons8-enter-key-100.png | 3 + .../Bow/Scoring/icons8-enter-key-100.png.meta | 148 ++++++++++ .../Bow/Scoring/icons8-shift-90.png | 3 + .../Bow/Scoring/icons8-shift-90.png.meta | 148 ++++++++++ .../Components/Bow/Scripts/ArcheryRange.cs | 99 ++++++- .../Components/Bow/Scripts/KeyBoardManager.cs | 147 ++++++++++ .../Bow/Scripts/KeyBoardManager.cs.meta | 11 + .../Components/Bow/Scripts/ScoreBoard.cs | 70 +++++ .../Components/Bow/Scripts/ScoreBoard.cs.meta | 11 + .../Guardian Barriers/New Material.mat | 2 +- .../NewHandPresence/Prefabs/Scripts/Menu.cs | 27 +- .../NewHandPresence/Prefabs/XR Origin.prefab | 24 +- .../_PROJECT/Scenes/DeltaBuilding_base.unity | 4 +- ProjectSettings/ProjectSettings.asset | 4 +- ProjectSettings/TagManager.asset | 56 +--- highscore.json | 1 + 36 files changed, 2275 insertions(+), 84 deletions(-) create mode 100644 Assets/Fish-Networking-Discovery-main/NetworkDiscoveryCanvasUI.cs create mode 100644 Assets/Fish-Networking-Discovery-main/Server List item prefab.prefab create mode 100644 Assets/_PROJECT/Components/Bow/Scoring.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Blank square.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Blank square.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Empty sheet.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Empty sheet.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/LetterButton.prefab create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/LetterButton.prefab.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/SpaceButton.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/SpaceButton.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Width1 button.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Width1 button.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Width2 button.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/Width2 button.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-backspace-100.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-backspace-100.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-enter-key-100.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-enter-key-100.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-shift-90.png create mode 100644 Assets/_PROJECT/Components/Bow/Scoring/icons8-shift-90.png.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scripts/KeyBoardManager.cs create mode 100644 Assets/_PROJECT/Components/Bow/Scripts/KeyBoardManager.cs.meta create mode 100644 Assets/_PROJECT/Components/Bow/Scripts/ScoreBoard.cs create mode 100644 Assets/_PROJECT/Components/Bow/Scripts/ScoreBoard.cs.meta create mode 100644 highscore.json diff --git a/Assets/Fish-Networking-Discovery-main/NetworkDiscovery.cs b/Assets/Fish-Networking-Discovery-main/NetworkDiscovery.cs index fc384179..e4ec54f1 100644 --- a/Assets/Fish-Networking-Discovery-main/NetworkDiscovery.cs +++ b/Assets/Fish-Networking-Discovery-main/NetworkDiscovery.cs @@ -242,7 +242,7 @@ namespace FishNet.Discovery // // return; // } - // Debug.Log("NetworkDiscovery is searching on port " + port); + Debug.Log("NetworkDiscovery is searching"); if (InstanceFinder.IsClient) { diff --git a/Assets/Fish-Networking-Discovery-main/NetworkDiscoveryCanvasUI.cs b/Assets/Fish-Networking-Discovery-main/NetworkDiscoveryCanvasUI.cs new file mode 100644 index 00000000..6f4dbe75 --- /dev/null +++ b/Assets/Fish-Networking-Discovery-main/NetworkDiscoveryCanvasUI.cs @@ -0,0 +1,144 @@ +using FishNet; +using FishNet.Discovery; +using System.Collections; +using System.Collections.Generic; +using System.Net; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +public class NetworkMenuUI : MonoBehaviour +{ + [Header("UI References")] + public Button startPlayingButton; + public Button joinMultiplayerButton; + public Transform serverListContainer; + public GameObject serverListItemPrefab; + public TMP_Text statusText; + + [Header("Networking")] + public NetworkDiscovery networkDiscovery; + public Camera uiCamera; // Optional, disable if connecting + + private readonly List foundServers = new(); + + private void Start() + { + if (networkDiscovery == null) + networkDiscovery = FindObjectOfType(); + + startPlayingButton.onClick.AddListener(OnStartPlaying); + joinMultiplayerButton.onClick.AddListener(OnJoinMultiplayer); + + networkDiscovery.ServerFoundCallback += OnServerFound; + } + + private void OnStartPlaying() + { + statusText.text = "Starting host..."; + StartCoroutine(HostAndSearchRoutine()); + } + + + private void OnJoinMultiplayer() + { + statusText.text = "Searching for servers..."; + ClearServerList(); + foundServers.Clear(); + networkDiscovery.StartSearchingForServers(); + } + + private void OnServerFound(IPEndPoint endPoint) + { + if (foundServers.Contains(endPoint)) return; + foundServers.Add(endPoint); + + // Auto-join if started as host + if (InstanceFinder.IsServer) + { + //networkDiscovery.StopAdvertisingServer(); + networkDiscovery.StopSearchingForServers(); + + uiCamera.enabled = false; + + InstanceFinder.ClientManager.StartConnection("192.168.42.212"); + statusText.text = $"Joined server: {endPoint.Address}"; + return; + } + + // Display in UI for manual joining + GameObject item = Instantiate(serverListItemPrefab, serverListContainer); + TMP_Text label = item.GetComponentInChildren(); + label.text = endPoint.Address.ToString(); + + Button btn = item.GetComponent