added scoring system for the bow game

This commit is contained in:
mxssw 2025-05-20 14:53:35 +03:00
parent 03a3ca570e
commit ffd98b6322
36 changed files with 2275 additions and 84 deletions

View File

@ -242,7 +242,7 @@ namespace FishNet.Discovery
// //
// return; // return;
// } // }
// Debug.Log("NetworkDiscovery is searching on port " + port); Debug.Log("NetworkDiscovery is searching");
if (InstanceFinder.IsClient) if (InstanceFinder.IsClient)
{ {

View File

@ -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<IPEndPoint> foundServers = new();
private void Start()
{
if (networkDiscovery == null)
networkDiscovery = FindObjectOfType<NetworkDiscovery>();
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<TMP_Text>();
label.text = endPoint.Address.ToString();
Button btn = item.GetComponent<Button>();
btn.onClick.AddListener(() =>
{
networkDiscovery.StopSearchingForServers();
if (uiCamera != null) uiCamera.enabled = false;
InstanceFinder.ClientManager.StartConnection(endPoint.Address.ToString());
statusText.text = $"Joined server: {endPoint.Address}";
});
}
private Coroutine joinRoutine;
private IEnumerator HostAndSearchRoutine()
{
// Step 1: Start hosting
InstanceFinder.ServerManager.StartConnection();
// Step 2: Start advertising
yield return new WaitForSeconds(0.5f); // Let the server settle
networkDiscovery.StartAdvertisingServer();
// Step 3: Begin searching
yield return new WaitForSeconds(0.5f); // Let advertisement initialize
networkDiscovery.StartSearchingForServers();
// Step 4: Try to find and join a better server
yield return new WaitForSeconds(0.5f); // Give discovery a moment
StartJoinRoutine();
}
public void StartJoinRoutine()
{
if (joinRoutine != null) StopCoroutine(joinRoutine);
joinRoutine = StartCoroutine(TryJoinServerRepeatedly());
}
private IEnumerator TryJoinServerRepeatedly()
{
float timeout = 10f;
float timer = 0f;
while (timer < timeout)
{
if (foundServers.Count > 0)
{
var firstServer = foundServers[0];
//networkDiscovery.StopAdvertisingServer();
networkDiscovery.StopSearchingForServers();
InstanceFinder.ClientManager.StartConnection(firstServer.Address.ToString());
statusText.text = $"Joined server: {firstServer.Address}";
yield break;
}
statusText.text = $"Searching for servers... ({Mathf.FloorToInt(timer)}s)";
yield return new WaitForSeconds(1f);
timer += 1f;
}
statusText.text = "No servers found. Acting as host.";
// You can optionally start your own server here
}
private void ClearServerList()
{
foreach (Transform child in serverListContainer)
{
Destroy(child.gameObject);
}
}
}

View File

@ -0,0 +1,261 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1243484539689895160
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6102112898136418063}
- component: {fileID: 4162166102933070300}
- component: {fileID: 8982425673842065088}
- component: {fileID: 6642303600386318624}
m_Layer: 5
m_Name: Server List item prefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6102112898136418063
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1243484539689895160}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.2, y: 1.2, z: 1.2}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 6068593683225063891}
m_Father: {fileID: 0}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 160, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4162166102933070300
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1243484539689895160}
m_CullTransparentMesh: 1
--- !u!114 &8982425673842065088
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1243484539689895160}
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!114 &6642303600386318624
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1243484539689895160}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.21698111, g: 0.21698111, b: 0.21698111, a: 1}
m_HighlightedColor: {r: 0.21960784, g: 0.21960784, b: 0.21960784, a: 1}
m_PressedColor: {r: 0.21960784, g: 0.21960784, b: 0.21960784, a: 1}
m_SelectedColor: {r: 0.21960784, g: 0.21960784, b: 0.21960784, a: 1}
m_DisabledColor: {r: 0.21960784, g: 0.21960784, b: 0.21960784, 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: 8982425673842065088}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &8712802155540729905
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6068593683225063891}
- component: {fileID: 767001398382591515}
- component: {fileID: 730381457657509126}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6068593683225063891
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8712802155540729905}
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_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 6102112898136418063}
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: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &767001398382591515
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8712802155540729905}
m_CullTransparentMesh: 1
--- !u!114 &730381457657509126
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8712802155540729905}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: ...
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 20
m_fontSizeBase: 20
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -202,7 +202,10 @@ namespace UnityEngine.XR.Content.Interaction
foreach (var pressInfo in m_HoveringInteractors.Values) foreach (var pressInfo in m_HoveringInteractors.Values)
{ {
var interactorTransform = pressInfo.m_Interactor.GetAttachTransform(this); var interactorTransform = pressInfo.m_Interactor.GetAttachTransform(this);
var localOffset = transform.InverseTransformVector(interactorTransform.position - m_BaseButtonPosition); var localButtonWorldPos = m_Button.parent.TransformPoint(m_BaseButtonPosition);
var localOffset = transform.InverseTransformVector(interactorTransform.position - localButtonWorldPos);
var withinButtonRegion = (Mathf.Abs(localOffset.x) < m_ButtonSize && Mathf.Abs(localOffset.z) < m_ButtonSize); var withinButtonRegion = (Mathf.Abs(localOffset.x) < m_ButtonSize && Mathf.Abs(localOffset.z) < m_ButtonSize);
if (withinButtonRegion) if (withinButtonRegion)
@ -217,7 +220,7 @@ namespace UnityEngine.XR.Content.Interaction
} }
pressInfo.m_InPressRegion = withinButtonRegion; pressInfo.m_InPressRegion = withinButtonRegion;
//Debug.Log("Button was pressed by: " + pressInfo.m_Interactor); Debug.Log("Button was pressed by: " + pressInfo.m_Interactor);
XROrigin player = pressInfo.m_Interactor.transform.parent.parent.GetComponent<XROrigin>(); // Gets XROrigin player component XROrigin player = pressInfo.m_Interactor.transform.parent.parent.GetComponent<XROrigin>(); // Gets XROrigin player component
passangerSeat.activateButtonPush(player, this); passangerSeat.activateButtonPush(player, this);
} }

View File

@ -26,8 +26,8 @@ public class PassangerSeat : LocomotionProvider
if (player == null || currentPassanger != null) return; if (player == null || currentPassanger != null) return;
TutorialController cameraChild = player.GetComponentInChildren<TutorialController>(); TutorialController cameraChild = player.GetComponentInChildren<TutorialController>();
TunnelingVignetteController vignetteController = player.GetComponentInChildren<TunnelingVignetteController>(); //TunnelingVignetteController vignetteController = player.GetComponentInChildren<TunnelingVignetteController>();
LocomotionVignetteProvider vignetteProvider = player.GetComponentInChildren<LocomotionVignetteProvider>(); //LocomotionVignetteProvider vignetteProvider = player.GetComponentInChildren<LocomotionVignetteProvider>();
if (cameraChild == null) return; if (cameraChild == null) return;
Transform cameraTransform = cameraChild.transform.parent.transform; Transform cameraTransform = cameraChild.transform.parent.transform;

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6ddaae698ad29c04680c947f49bcee90
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/Blank square.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 84559f539a8fded4ab0a8d1158df9a34
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/Empty sheet.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 2eb6f52a0104e2a4c9972765ce8d10d0
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,262 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1943907191875735250
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 57172809447557165}
- component: {fileID: 3622985744187477872}
- component: {fileID: 4889582830418939434}
- component: {fileID: 4334268454398699518}
m_Layer: 5
m_Name: LetterButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &57172809447557165
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1943907191875735250}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.53}
m_LocalScale: {x: 1.2, y: 1.9200007, z: 1.9200007}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 1721974893036336074}
m_Father: {fileID: 0}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.294, y: 0.356}
m_SizeDelta: {x: 22, y: 22}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3622985744187477872
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1943907191875735250}
m_CullTransparentMesh: 1
--- !u!114 &4889582830418939434
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1943907191875735250}
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: 0.8962264, g: 0.8962264, b: 0.8962264, 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: 21300000, guid: 84559f539a8fded4ab0a8d1158df9a34, type: 3}
m_Type: 0
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!114 &4334268454398699518
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1943907191875735250}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 0.9019608}
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: 0.78431374}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 0.9019608}
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: 4889582830418939434}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &7747026983332875138
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1721974893036336074}
- component: {fileID: 6079733558668817021}
- component: {fileID: 8644044317764480397}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1721974893036336074
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7747026983332875138}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: -0.00055205}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 57172809447557165}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -0.000012875, y: 0.000011444}
m_SizeDelta: {x: 3, y: 3}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6079733558668817021
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7747026983332875138}
m_CullTransparentMesh: 1
--- !u!114 &8644044317764480397
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7747026983332875138}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: q
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 254d33525bc3919439f569ea33703c5b, type: 2}
m_sharedMaterial: {fileID: 4369893532151414794, guid: 254d33525bc3919439f569ea33703c5b,
type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4284751888
m_fontColor: {r: 0.0627451, g: 0.1254902, b: 0.39215687, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 2
m_fontSizeBase: 2
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 1
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_TextWrappingMode: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 0
m_ActiveFontFeatures: 6e72656b
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_EmojiFallbackSupport: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 76ee8b24521731747a78c1699723732b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/SpaceButton.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: adc272fa499b7fe429cabd479471c0d6
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/Width1 button.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 096bc0c57ad09494dbb3ec8269182868
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/Width2 button.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 3c5dac960ba466f468f8d6c81e68236a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 7b8bcabb9eb67fb4082d8c73e07f9fd5
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: 910099cca90d8fe4985a20839fab8ffa
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

BIN
Assets/_PROJECT/Components/Bow/Scoring/icons8-shift-90.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,148 @@
fileFormatVersion: 2
guid: a9bcc6256c4922d45994edd873044984
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 0
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Server
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -5,6 +5,7 @@ using _PROJECT.Scripts.Bow;
using FishNet.Object; using FishNet.Object;
using FishNet.Object.Synchronizing; using FishNet.Object.Synchronizing;
using TMPro; using TMPro;
using Unity.XR.CoreUtils;
using UnityEngine; using UnityEngine;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
@ -24,6 +25,8 @@ public class ArcheryRange : NetworkBehaviour
public float roundLength = 60f; public float roundLength = 60f;
public float targetSpawnTime = 3f; public float targetSpawnTime = 3f;
public KeyboardManager keyboardManager;
private List<ArcheryTarget> _targets; private List<ArcheryTarget> _targets;
[SyncVar] [SyncVar]
@ -33,6 +36,10 @@ public class ArcheryRange : NetworkBehaviour
private float _nextTargetTime; private float _nextTargetTime;
private bool _roundActive; private bool _roundActive;
private readonly List<XROrigin> _presentPlayers = new();
private XROrigin _scoredPlayer;
public override void OnStartServer() public override void OnStartServer()
{ {
base.OnStartServer(); base.OnStartServer();
@ -41,7 +48,46 @@ public class ArcheryRange : NetworkBehaviour
_score = 0; _score = 0;
_maxScore = 0; _maxScore = 0;
_roundEndTime = 0f; _roundEndTime = 0f;
SetHighScoreText("High Score: 0"); _maxScore = LoadScoreFromDisk();
//+Debug.Log($"highScore is {_maxScore}");
StartCoroutine(DelayedSetHighScoreText(10f)); // Cannot immediately assign these values because fishnet needs time.
}
private System.Collections.IEnumerator DelayedSetHighScoreText(float delaySeconds)
{
yield return new WaitForSeconds(delaySeconds);
SetHighScoreText($"High Score: {_maxScore}");
}
private void OnTriggerEnter(Collider other)
{
SetHighScoreText($"High Score: {_maxScore}"); // Refresh high score UI
XROrigin enteredPlayer = other.GetComponent<XROrigin>();
if (enteredPlayer == null || _presentPlayers.Contains(enteredPlayer))
return;
_presentPlayers.Add(enteredPlayer); // Adds to the end
}
private void OnTriggerExit(Collider other)
{
XROrigin exitedPlayer = other.GetComponent<XROrigin>();
if (exitedPlayer == null) return;
_presentPlayers.Remove(exitedPlayer); // Shifts others left automatically
if (exitedPlayer == _scoredPlayer) keyboardManager.DeActivate(); // If the player ´refuses to enter their name.
}
public override void OnStopServer()
{
base.OnStopServer();
SaveScoreToDisk(_maxScore);
} }
// Update is called once per frame // Update is called once per frame
@ -101,9 +147,30 @@ public class ArcheryRange : NetworkBehaviour
_targets = new List<ArcheryTarget>(); _targets = new List<ArcheryTarget>();
if (_maxScore < _score) _maxScore = _score; if (_maxScore < _score) _maxScore = _score;
_score = 0;
if(_presentPlayers.Count != 0) // If there are players in the area.
{
// Gives the score to the player longest-lasting in the area. It would be better to give it to the player that fired the starting arrow, but I'm not spending 10 hours on this.
XROrigin scoringPlayer = _presentPlayers.First();
Menu playermenu = scoringPlayer.GetComponentInChildren<Menu>();
_scoredPlayer = scoringPlayer;
playermenu.setCanvasVisibility(false); // Deactivates the menu to avoid overlap issues.
Transform keyboardPlacement = playermenu.updateMenuTransform();
keyboardManager.Activate(_score, keyboardPlacement);
SaveScoreToDisk(_maxScore);
SetHighScoreText($"High Score: {_maxScore}"); SetHighScoreText($"High Score: {_maxScore}");
}
_score = 0;
startTarget.ShowTarget(); startTarget.ShowTarget();
_roundActive = false; _roundActive = false;
SetTimeLeftText(""); SetTimeLeftText("");
} }
@ -140,4 +207,28 @@ public class ArcheryRange : NetworkBehaviour
{ {
timeLeftText.text = text; timeLeftText.text = text;
} }
public class SaveData
{
public float HighScore;
}
public void SaveScoreToDisk(float highScore)
{
SaveData data = new SaveData { HighScore = highScore };
string json = JsonUtility.ToJson(data);
System.IO.File.WriteAllText("highscore.json", json);
}
public float LoadScoreFromDisk()
{
if (System.IO.File.Exists("highscore.json"))
{
string json = System.IO.File.ReadAllText("highscore.json");
SaveData data = JsonUtility.FromJson<SaveData>(json);
return data.HighScore;
}
return -1f; // default score
}
} }

View File

@ -0,0 +1,147 @@
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class KeyboardManager : MonoBehaviour
{
public enum ShiftMode { Lowercase, NextUppercase, Uppercase }
[Header("UI References")]
public TMP_Text nameTextField;
public TMP_Text scoreTextField;
public Button shiftButton;
public Button backspaceButton;
public Button enterButton;
public Button spaceButton;
[Header("Letter Buttons")]
public List<Button> letterButtons;
public int inputTextLimit = 12;
public ScoreBoard scoreBoard; // Reference to ScoreBoard
public string placeHolderText;
private string _input = "";
private float _currentScore;
private ShiftMode _shiftMode = ShiftMode.Lowercase;
void Start()
{
foreach (var button in letterButtons)
{
button.onClick.AddListener(() => OnLetterPressed(button));
}
shiftButton.onClick.AddListener(OnShiftPressed);
backspaceButton.onClick.AddListener(OnBackspacePressed);
enterButton.onClick.AddListener(OnEnterPressed);
spaceButton.onClick.AddListener(OnSpacePressed);
gameObject.SetActive(false); // Start disabled
}
public void Activate(float score, Transform assignedTransform)
{
_currentScore = score;
_input = "";
nameTextField.text = placeHolderText;
Debug.Log(_currentScore);
Debug.Log(_currentScore.ToString());
scoreTextField.text = _currentScore.ToString();
gameObject.SetActive(true);
gameObject.transform.position = assignedTransform.position;
gameObject.transform.rotation = assignedTransform.rotation;
}
public void DeActivate()
{
gameObject.SetActive(false);
}
private void addToInput(string newInput)
{
if (_input.Length < inputTextLimit)
_input += newInput;
}
void OnLetterPressed(Button button)
{
var label = button.GetComponentInChildren<TMP_Text>();
if (label == null) return;
string letter = label.text;
switch (_shiftMode)
{
case ShiftMode.Lowercase:
addToInput(letter.ToLower());
break;
case ShiftMode.Uppercase:
addToInput(letter.ToUpper());
break;
case ShiftMode.NextUppercase:
addToInput(letter.ToUpper());
_shiftMode = ShiftMode.Lowercase;
UpdateKeyLabels();
break;
}
UpdateOutput();
}
void OnShiftPressed()
{
_shiftMode = _shiftMode switch
{
ShiftMode.Lowercase => ShiftMode.NextUppercase,
ShiftMode.NextUppercase => ShiftMode.Uppercase,
ShiftMode.Uppercase => ShiftMode.Lowercase,
_ => ShiftMode.Lowercase
};
UpdateKeyLabels();
}
void OnBackspacePressed()
{
if (_input.Length > 0)
_input = _input.Substring(0, _input.Length - 1);
UpdateOutput();
}
void OnEnterPressed()
{
if (_input.Length > 0)
{
scoreBoard.SaveScore(_input, _currentScore);
gameObject.SetActive(false);
}
}
void OnSpacePressed()
{
addToInput(" ");
UpdateOutput();
}
void UpdateOutput()
{
nameTextField.text = _input;
}
void UpdateKeyLabels()
{
foreach (var button in letterButtons)
{
var label = button.GetComponentInChildren<TMP_Text>();
if (label == null) continue;
label.text = _shiftMode == ShiftMode.Lowercase ? label.text.ToLower() : label.text.ToUpper();
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 148cae225a875104fa024390b4e9f9d8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,70 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using TMPro;
using UnityEngine;
public class ScoreBoard : MonoBehaviour
{
[System.Serializable]
public class ScoreEntry
{
public string name;
public float score;
}
[System.Serializable]
public class ScoreData
{
public List<ScoreEntry> entries = new List<ScoreEntry>();
}
public TMP_Text scoreDisplayText;
private string filePath => Path.Combine(Application.persistentDataPath, "highscores.json");
private ScoreData _scoreData = new ScoreData();
void Start()
{
LoadScores();
DisplayTopScores();
}
public void SaveScore(string playerName, float score)
{
LoadScores();
_scoreData.entries.Add(new ScoreEntry { name = playerName, score = score });
_scoreData.entries = _scoreData.entries.OrderByDescending(e => e.score).Take(15).ToList(); // Keep top 15
string json = JsonUtility.ToJson(_scoreData, true);
File.WriteAllText(filePath, json);
DisplayTopScores();
}
public void LoadScores()
{
if (File.Exists(filePath))
{
string json = File.ReadAllText(filePath);
_scoreData = JsonUtility.FromJson<ScoreData>(json);
}
}
private void DisplayTopScores()
{
if (_scoreData.entries.Count == 0)
{
scoreDisplayText.text = "No scores yet.";
return;
}
scoreDisplayText.text = "Top Scores:\n";
for (int i = 0; i < _scoreData.entries.Count; i++)
{
var entry = _scoreData.entries[i];
scoreDisplayText.text += $"{i + 1}. {entry.name} - {entry.score}\n";
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 89213b914f7728045bdfc55d900827c1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -116,7 +116,7 @@ Material:
m_Colors: m_Colors:
- _BaseColor: {r: 0.9622642, g: 0.7372712, b: 0, a: 1} - _BaseColor: {r: 0.9622642, g: 0.7372712, b: 0, a: 1}
- _Color: {r: 0.9622641, g: 0.7372712, b: 0, a: 1} - _Color: {r: 0.9622641, g: 0.7372712, b: 0, a: 1}
- _EmissionColor: {r: 0.4339623, g: 0.27685004, b: 0, a: 1} - _EmissionColor: {r: 0.012653161, g: 0.008072195, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
--- !u!114 &1270044958943662618 --- !u!114 &1270044958943662618

View File

@ -44,7 +44,7 @@ public class Menu : MonoBehaviour
openMenuAction.action.performed += ToggleMenu; openMenuAction.action.performed += ToggleMenu;
InputSystem.onDeviceChange += OnDeviceChange; InputSystem.onDeviceChange += OnDeviceChange;
canvas = GetComponent<Canvas>(); canvas = GetComponent<Canvas>();
canvas.enabled = false; setCanvasVisibility(false);
} }
public void DeactivateMenu() // Makes the ToggleMenu inable to toggle. public void DeactivateMenu() // Makes the ToggleMenu inable to toggle.
@ -57,20 +57,37 @@ public class Menu : MonoBehaviour
activated = true; activated = true;
} }
public void setCanvasVisibility(bool enabled)
{
canvas.enabled = enabled;
}
private void ToggleMenu(InputAction.CallbackContext context) private void ToggleMenu(InputAction.CallbackContext context)
{ {
if (!activated) return; if (!activated) return;
updateMenuTransform();
// Toggle the menu visibility
setCanvasVisibility(!canvas.enabled);
}
public Transform updateMenuTransform()
{
// Gets the transform of the menu Updates the transform along the way
// Does not enable its visibility.
// Get the camera's local Y rotation relative to the parent of MenuRotator // Get the camera's local Y rotation relative to the parent of MenuRotator
float relativeYRotation = Camera.transform.localEulerAngles.y; float relativeYRotation = Camera.transform.localEulerAngles.y;
// Apply the relative Y rotation to MenuRotator while keeping X and Z unchanged // Apply the relative Y rotation to MenuRotator while keeping X and Z unchanged
MenuRotator.transform.localEulerAngles = new Vector3(0, relativeYRotation, 0); MenuRotator.transform.localEulerAngles = new Vector3(0, relativeYRotation, 0);
// Set the menu position to match the camera's position in local space // Set the menu position to match the camera's position in local space
MenuRotator.transform.position = Camera.transform.position; MenuRotator.transform.position = Camera.transform.position;
// Toggle the menu visibility return this.transform;
canvas.enabled = !canvas.enabled;
} }
// Start is called before the first frame update // Start is called before the first frame update

View File

@ -549,9 +549,9 @@ MonoBehaviour:
m_PlayHapticsOnSelectCanceled: 0 m_PlayHapticsOnSelectCanceled: 0
m_HapticSelectCancelIntensity: 0 m_HapticSelectCancelIntensity: 0
m_HapticSelectCancelDuration: 0 m_HapticSelectCancelDuration: 0
m_PlayHapticsOnHoverEntered: 0 m_PlayHapticsOnHoverEntered: 1
m_HapticHoverEnterIntensity: 0 m_HapticHoverEnterIntensity: 0.1
m_HapticHoverEnterDuration: 0 m_HapticHoverEnterDuration: 0.5
m_PlayHapticsOnHoverExited: 0 m_PlayHapticsOnHoverExited: 0
m_HapticHoverExitIntensity: 0 m_HapticHoverExitIntensity: 0
m_HapticHoverExitDuration: 0 m_HapticHoverExitDuration: 0
@ -561,7 +561,7 @@ MonoBehaviour:
m_AllowHoverHapticsWhileSelecting: 1 m_AllowHoverHapticsWhileSelecting: 1
m_LineType: 0 m_LineType: 0
m_BlendVisualLinePoints: 1 m_BlendVisualLinePoints: 1
m_MaxRaycastDistance: 10 m_MaxRaycastDistance: 1000
m_RayOriginTransform: {fileID: 0} m_RayOriginTransform: {fileID: 0}
m_ReferenceFrame: {fileID: 0} m_ReferenceFrame: {fileID: 0}
m_Velocity: 16 m_Velocity: 16
@ -587,7 +587,7 @@ MonoBehaviour:
m_TimeToAutoDeselect: 3 m_TimeToAutoDeselect: 3
m_EnableUIInteraction: 1 m_EnableUIInteraction: 1
m_AllowAnchorControl: 0 m_AllowAnchorControl: 0
m_UseForceGrab: 1 m_UseForceGrab: 0
m_RotateSpeed: 180 m_RotateSpeed: 180
m_TranslateSpeed: 1 m_TranslateSpeed: 1
m_AnchorRotateReferenceFrame: {fileID: 0} m_AnchorRotateReferenceFrame: {fileID: 0}
@ -719,7 +719,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_LineWidth: 0.01 m_LineWidth: 0.01
m_OverrideInteractorLineLength: 1 m_OverrideInteractorLineLength: 1
m_LineLength: 10 m_LineLength: 5
m_WidthCurve: m_WidthCurve:
serializedVersion: 2 serializedVersion: 2
m_Curve: m_Curve:
@ -1248,9 +1248,9 @@ MonoBehaviour:
m_PlayHapticsOnSelectCanceled: 0 m_PlayHapticsOnSelectCanceled: 0
m_HapticSelectCancelIntensity: 0 m_HapticSelectCancelIntensity: 0
m_HapticSelectCancelDuration: 0 m_HapticSelectCancelDuration: 0
m_PlayHapticsOnHoverEntered: 0 m_PlayHapticsOnHoverEntered: 1
m_HapticHoverEnterIntensity: 0 m_HapticHoverEnterIntensity: 0.1
m_HapticHoverEnterDuration: 0 m_HapticHoverEnterDuration: 0.5
m_PlayHapticsOnHoverExited: 0 m_PlayHapticsOnHoverExited: 0
m_HapticHoverExitIntensity: 0 m_HapticHoverExitIntensity: 0
m_HapticHoverExitDuration: 0 m_HapticHoverExitDuration: 0
@ -1260,7 +1260,7 @@ MonoBehaviour:
m_AllowHoverHapticsWhileSelecting: 1 m_AllowHoverHapticsWhileSelecting: 1
m_LineType: 0 m_LineType: 0
m_BlendVisualLinePoints: 1 m_BlendVisualLinePoints: 1
m_MaxRaycastDistance: 10 m_MaxRaycastDistance: 1000
m_RayOriginTransform: {fileID: 0} m_RayOriginTransform: {fileID: 0}
m_ReferenceFrame: {fileID: 0} m_ReferenceFrame: {fileID: 0}
m_Velocity: 16 m_Velocity: 16
@ -1286,7 +1286,7 @@ MonoBehaviour:
m_TimeToAutoDeselect: 3 m_TimeToAutoDeselect: 3
m_EnableUIInteraction: 1 m_EnableUIInteraction: 1
m_AllowAnchorControl: 0 m_AllowAnchorControl: 0
m_UseForceGrab: 1 m_UseForceGrab: 0
m_RotateSpeed: 180 m_RotateSpeed: 180
m_TranslateSpeed: 1 m_TranslateSpeed: 1
m_AnchorRotateReferenceFrame: {fileID: 0} m_AnchorRotateReferenceFrame: {fileID: 0}
@ -1418,7 +1418,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_LineWidth: 0.01 m_LineWidth: 0.01
m_OverrideInteractorLineLength: 1 m_OverrideInteractorLineLength: 1
m_LineLength: 10 m_LineLength: 5
m_WidthCurve: m_WidthCurve:
serializedVersion: 2 serializedVersion: 2
m_Curve: m_Curve:

Binary file not shown.

BIN
ProjectSettings/ProjectSettings.asset (Stored with Git LFS)

Binary file not shown.

BIN
ProjectSettings/TagManager.asset (Stored with Git LFS)

Binary file not shown.

1
highscore.json Normal file
View File

@ -0,0 +1 @@
{"HighScore":461.0}