diff --git a/Assets/Prefabs/GlobalBoostrap.meta b/Assets/Prefabs/GlobalBoostrap.meta new file mode 100644 index 00000000..a731a4b4 --- /dev/null +++ b/Assets/Prefabs/GlobalBoostrap.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be1fb6d675fc2b146be9753d75a33c9b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/MusicPlayer.prefab b/Assets/Prefabs/GlobalBoostrap/MusicPlayer.prefab similarity index 100% rename from Assets/Prefabs/MusicPlayer.prefab rename to Assets/Prefabs/GlobalBoostrap/MusicPlayer.prefab diff --git a/Assets/Prefabs/MusicPlayer.prefab.meta b/Assets/Prefabs/GlobalBoostrap/MusicPlayer.prefab.meta similarity index 100% rename from Assets/Prefabs/MusicPlayer.prefab.meta rename to Assets/Prefabs/GlobalBoostrap/MusicPlayer.prefab.meta diff --git a/Assets/Prefabs/SceneManager.prefab b/Assets/Prefabs/GlobalBoostrap/SceneManager.prefab similarity index 100% rename from Assets/Prefabs/SceneManager.prefab rename to Assets/Prefabs/GlobalBoostrap/SceneManager.prefab diff --git a/Assets/Prefabs/SceneManager.prefab.meta b/Assets/Prefabs/GlobalBoostrap/SceneManager.prefab.meta similarity index 100% rename from Assets/Prefabs/SceneManager.prefab.meta rename to Assets/Prefabs/GlobalBoostrap/SceneManager.prefab.meta diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index 64c3dc08..46f0d528 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -31,17 +31,17 @@ PrefabInstance: - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, type: 3} propertyPath: m_LocalPosition.x - value: 4 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, type: 3} propertyPath: m_LocalPosition.y - value: 9 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, type: 3} propertyPath: m_LocalPosition.z - value: 14.525 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, type: 3} diff --git a/Assets/Prefabs/SceneBootstrap.meta b/Assets/Prefabs/SceneBootstrap.meta new file mode 100644 index 00000000..ae9996a1 --- /dev/null +++ b/Assets/Prefabs/SceneBootstrap.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1dc50b49121fcb64ca2f67f789f68609 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/FinishZone.prefab b/Assets/Prefabs/SceneBootstrap/FinishZone.prefab similarity index 100% rename from Assets/Prefabs/FinishZone.prefab rename to Assets/Prefabs/SceneBootstrap/FinishZone.prefab diff --git a/Assets/Prefabs/FinishZone.prefab.meta b/Assets/Prefabs/SceneBootstrap/FinishZone.prefab.meta similarity index 100% rename from Assets/Prefabs/FinishZone.prefab.meta rename to Assets/Prefabs/SceneBootstrap/FinishZone.prefab.meta diff --git a/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab b/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab new file mode 100644 index 00000000..4befe658 --- /dev/null +++ b/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab @@ -0,0 +1,234 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &1499879711950033576 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2819621125675312725} + - component: {fileID: 2086317566611135073} + m_Layer: 0 + m_Name: 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2819621125675312725 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499879711950033576} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7932888875522350240} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2086317566611135073 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1499879711950033576} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e732ef29fd8bdb4ba5e27e9279950a3, type: 3} + m_Name: + m_EditorClassIdentifier: + gizmo: 0 + color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} +--- !u!1 &1638700682835669424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6223211860385367184} + - component: {fileID: 8407642073823465343} + m_Layer: 0 + m_Name: 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6223211860385367184 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638700682835669424} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7932888875522350240} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8407642073823465343 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1638700682835669424} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e732ef29fd8bdb4ba5e27e9279950a3, type: 3} + m_Name: + m_EditorClassIdentifier: + gizmo: 0 + color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} +--- !u!1 &2473391678560838280 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7932888875522350240} + - component: {fileID: 6108666452060319031} + m_Layer: 0 + m_Name: PlayerSpawns + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7932888875522350240 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2473391678560838280} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.5, y: 2.5, z: 51} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 6223211860385367184} + - {fileID: 2819621125675312725} + - {fileID: 8768160938672266797} + - {fileID: 8567083733603782982} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6108666452060319031 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2473391678560838280} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5997574b7f781c64e9966a9568bc9130, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &5475341745255393194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8768160938672266797} + - component: {fileID: 3045368076513987892} + m_Layer: 0 + m_Name: 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8768160938672266797 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5475341745255393194} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7932888875522350240} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3045368076513987892 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5475341745255393194} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e732ef29fd8bdb4ba5e27e9279950a3, type: 3} + m_Name: + m_EditorClassIdentifier: + gizmo: 0 + color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} +--- !u!1 &7336480451915609592 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8567083733603782982} + - component: {fileID: 620703117973234668} + m_Layer: 0 + m_Name: 4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8567083733603782982 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7336480451915609592} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1, y: 0, z: -1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7932888875522350240} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &620703117973234668 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7336480451915609592} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e732ef29fd8bdb4ba5e27e9279950a3, type: 3} + m_Name: + m_EditorClassIdentifier: + gizmo: 0 + color: {r: 1, g: 0.92156863, b: 0.015686275, a: 1} diff --git a/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab.meta b/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab.meta new file mode 100644 index 00000000..c02cdbbd --- /dev/null +++ b/Assets/Prefabs/SceneBootstrap/PlayerSpawns.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ab1944fddf28b8e46a1ddadf77879157 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Entrance.unity b/Assets/Scenes/Entrance.unity index 465900b7..bf4f1008 100644 --- a/Assets/Scenes/Entrance.unity +++ b/Assets/Scenes/Entrance.unity @@ -3161,6 +3161,86 @@ Transform: type: 3} m_PrefabInstance: {fileID: 109500444} m_PrefabAsset: {fileID: 0} +--- !u!1001 &110792424 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2473391678560838280, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_Name + value: PlayerSpawns + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.x + value: -4.011943 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.y + value: 9.5 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.z + value: -4.134401 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ab1944fddf28b8e46a1ddadf77879157, type: 3} +--- !u!114 &110792425 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6108666452060319031, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + m_PrefabInstance: {fileID: 110792424} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5997574b7f781c64e9966a9568bc9130, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &113583330 PrefabInstance: m_ObjectHideFlags: 0 @@ -49022,6 +49102,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: level: {fileID: 11400000, guid: 97f73c8e40477cd4893b457bde4b5202, type: 2} + playerSpawner: {fileID: 110792425} --- !u!1001 &1978510232 PrefabInstance: m_ObjectHideFlags: 0 @@ -53484,3 +53565,4 @@ SceneRoots: - {fileID: 768194900} - {fileID: 1684531742} - {fileID: 1977855880} + - {fileID: 110792424} diff --git a/Assets/Scenes/Lobby.unity b/Assets/Scenes/Lobby.unity index 5d25af1c..dd63fb7a 100644 --- a/Assets/Scenes/Lobby.unity +++ b/Assets/Scenes/Lobby.unity @@ -8273,6 +8273,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: a37c700de6d3a4a4385fcc8bcd15405f, type: 3} m_Name: m_EditorClassIdentifier: + playerSpawner: {fileID: 1826136802} --- !u!1001 &673324911 PrefabInstance: m_ObjectHideFlags: 0 @@ -23780,6 +23781,18 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1816239511} m_PrefabAsset: {fileID: 0} +--- !u!114 &1826136802 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6108666452060319031, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + m_PrefabInstance: {fileID: 3091828949070161056} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5997574b7f781c64e9966a9568bc9130, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1829500960 PrefabInstance: m_ObjectHideFlags: 0 @@ -28138,6 +28151,74 @@ Transform: type: 3} m_PrefabInstance: {fileID: 2145210772} m_PrefabAsset: {fileID: 0} +--- !u!1001 &3091828949070161056 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2473391678560838280, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_Name + value: PlayerSpawns + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.x + value: -1.5 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalPosition.z + value: 51 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7932888875522350240, guid: ab1944fddf28b8e46a1ddadf77879157, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: ab1944fddf28b8e46a1ddadf77879157, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -28145,3 +28226,4 @@ SceneRoots: - {fileID: 1430525925} - {fileID: 731008700} - {fileID: 669203337} + - {fileID: 3091828949070161056} diff --git a/Assets/Scripts/Components/DrawGizmoComponent.cs b/Assets/Scripts/Components/DrawGizmoComponent.cs new file mode 100644 index 00000000..c659dbe7 --- /dev/null +++ b/Assets/Scripts/Components/DrawGizmoComponent.cs @@ -0,0 +1,35 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class DrawGizmoComponent : MonoBehaviour +{ + enum Gizmo + { + WireCube, + WireSphere + } + + [SerializeField] + private Gizmo gizmo = Gizmo.WireCube; + + [SerializeField] + private Color color = Color.yellow; + + private void OnDrawGizmos() + { + Gizmos.color = color; + + switch (gizmo) + { + case Gizmo.WireCube: + Gizmos.DrawWireCube(transform.position, new Vector3(1, 1, 1)); + break; + + case Gizmo.WireSphere: + Gizmos.DrawWireSphere(transform.position, 0.5f); + break; + } + + } +} diff --git a/Assets/Scripts/Components/DrawGizmoComponent.cs.meta b/Assets/Scripts/Components/DrawGizmoComponent.cs.meta new file mode 100644 index 00000000..c382e465 --- /dev/null +++ b/Assets/Scripts/Components/DrawGizmoComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5e732ef29fd8bdb4ba5e27e9279950a3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features.meta b/Assets/Scripts/Features.meta new file mode 100644 index 00000000..810a87b5 --- /dev/null +++ b/Assets/Scripts/Features.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93a175467b0ae0041ab4dcfc44565ae0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Features/PlayerSpawner.cs b/Assets/Scripts/Features/PlayerSpawner.cs new file mode 100644 index 00000000..f099b893 --- /dev/null +++ b/Assets/Scripts/Features/PlayerSpawner.cs @@ -0,0 +1,26 @@ +using HurricaneVR.Framework.Core.Player; +using Sirenix.OdinInspector; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using Unity.VisualScripting; +using UnityEngine; + +public class PlayerSpawner : MonoBehaviour +{ + [SerializeField] + [ReadOnly] + private Transform[] spawns = new Transform[0]; + + private void Awake() + { + spawns = GetComponentsInChildren() + .Where((x) => x != transform) + .ToArray(); + } + + public void Spawn(GameObject player) + { + player.GetComponent().Teleport(spawns.First().position); + } +} diff --git a/Assets/Scripts/Features/PlayerSpawner.cs.meta b/Assets/Scripts/Features/PlayerSpawner.cs.meta new file mode 100644 index 00000000..073f01e4 --- /dev/null +++ b/Assets/Scripts/Features/PlayerSpawner.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5997574b7f781c64e9966a9568bc9130 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Installers/LevelInstaller.cs b/Assets/Scripts/Installers/LevelInstaller.cs index 4b41739b..b0134ea9 100644 --- a/Assets/Scripts/Installers/LevelInstaller.cs +++ b/Assets/Scripts/Installers/LevelInstaller.cs @@ -6,8 +6,14 @@ public class LevelInstaller : MonoInstaller [SerializeField] private Level level; + [SerializeField] + private PlayerSpawner playerSpawner; + public override void InstallBindings() { + Container.BindInstance(playerSpawner) + .AsSingle(); + Container.Bind() .FromInstance(level) .AsSingle(); diff --git a/Assets/Scripts/Installers/LobbyInstaller.cs b/Assets/Scripts/Installers/LobbyInstaller.cs index e2f541fb..45ae3554 100644 --- a/Assets/Scripts/Installers/LobbyInstaller.cs +++ b/Assets/Scripts/Installers/LobbyInstaller.cs @@ -3,8 +3,14 @@ using Zenject; public class LobbyInstaller : MonoInstaller { + [SerializeField] + private PlayerSpawner playerSpawner; + public override void InstallBindings() { + Container.BindInstance(playerSpawner) + .AsSingle(); + Container.Bind() .FromComponentsInNewPrefabResource("Managers/LobbyManager") .AsSingle() diff --git a/Assets/Scripts/Managers/LevelManager.cs b/Assets/Scripts/Managers/LevelManager.cs index 806946b3..9b787f32 100644 --- a/Assets/Scripts/Managers/LevelManager.cs +++ b/Assets/Scripts/Managers/LevelManager.cs @@ -1,3 +1,4 @@ +using HurricaneVR.Framework.Core.Player; using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; @@ -24,6 +25,16 @@ public class LevelManager : MonoBehaviour [ReadOnly] private MusicManager musicManager; + [Inject] + [SerializeField] + [ReadOnly] + private PlayerSpawner playerSpawner; + + [Inject] + [SerializeField] + [ReadOnly] + private HVRPlayerController playerController; + private void Start() { health = level.health; @@ -32,6 +43,8 @@ public class LevelManager : MonoBehaviour { musicManager.Play(level.pauseClip); } + + playerSpawner.Spawn(playerController.gameObject); } public void OnEnemyReachedFinish(EnemyComponent enemy) diff --git a/Assets/Scripts/Managers/LobbyManager.cs b/Assets/Scripts/Managers/LobbyManager.cs index 7eb630c4..86b89d1b 100644 --- a/Assets/Scripts/Managers/LobbyManager.cs +++ b/Assets/Scripts/Managers/LobbyManager.cs @@ -1,3 +1,4 @@ +using HurricaneVR.Framework.Core.Player; using Sirenix.OdinInspector; using System.Collections; using System.Collections.Generic; @@ -11,11 +12,23 @@ public class LobbyManager : MonoBehaviour [ReadOnly] private MusicManager musicManager; + [Inject] + [SerializeField] + [ReadOnly] + private PlayerSpawner playerSpawner; + + [Inject] + [SerializeField] + [ReadOnly] + private HVRPlayerController playerController; + [SerializeField] private AudioClip backgroundMusicClip; private void Start() { musicManager.Play(backgroundMusicClip); + + playerSpawner.Spawn(playerController.gameObject); } } diff --git a/ProjectSettings/EditorBuildSettings.asset b/ProjectSettings/EditorBuildSettings.asset index 8fbc9975..89aad29c 100644 --- a/ProjectSettings/EditorBuildSettings.asset +++ b/ProjectSettings/EditorBuildSettings.asset @@ -5,6 +5,12 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: + - enabled: 1 + path: Assets/Scenes/Lobby.unity + guid: eaec6d3575cfd2d42a5f87b082c898c8 + - enabled: 1 + path: Assets/Scenes/Entrance.unity + guid: 07047a8cc3efe2043ad21378467317ee - enabled: 1 path: Assets/Scenes/Forge.unity guid: 0850bb9b948948349b83e3612aa421af