Implement player spawning in predefined location in lobby and levels

This commit is contained in:
2024-08-20 19:38:32 +02:00
parent 3f64f82464
commit 1a9e2a3ee8
23 changed files with 559 additions and 3 deletions

View File

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

View File

@@ -31,17 +31,17 @@ PrefabInstance:
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
type: 3} type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
value: 4 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
type: 3} type: 3}
propertyPath: m_LocalPosition.y propertyPath: m_LocalPosition.y
value: 9 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
type: 3} type: 3}
propertyPath: m_LocalPosition.z propertyPath: m_LocalPosition.z
value: 14.525 value: 0
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932, - target: {fileID: 3924027509722682573, guid: 6974999791dc8804fafee05e319aa932,
type: 3} type: 3}

View File

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

View File

@@ -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}

View File

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

View File

@@ -3161,6 +3161,86 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 109500444} m_PrefabInstance: {fileID: 109500444}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &113583330
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -49022,6 +49102,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
level: {fileID: 11400000, guid: 97f73c8e40477cd4893b457bde4b5202, type: 2} level: {fileID: 11400000, guid: 97f73c8e40477cd4893b457bde4b5202, type: 2}
playerSpawner: {fileID: 110792425}
--- !u!1001 &1978510232 --- !u!1001 &1978510232
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -53484,3 +53565,4 @@ SceneRoots:
- {fileID: 768194900} - {fileID: 768194900}
- {fileID: 1684531742} - {fileID: 1684531742}
- {fileID: 1977855880} - {fileID: 1977855880}
- {fileID: 110792424}

View File

@@ -8273,6 +8273,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a37c700de6d3a4a4385fcc8bcd15405f, type: 3} m_Script: {fileID: 11500000, guid: a37c700de6d3a4a4385fcc8bcd15405f, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
playerSpawner: {fileID: 1826136802}
--- !u!1001 &673324911 --- !u!1001 &673324911
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -23780,6 +23781,18 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 1816239511} m_PrefabInstance: {fileID: 1816239511}
m_PrefabAsset: {fileID: 0} 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 --- !u!1001 &1829500960
PrefabInstance: PrefabInstance:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -28138,6 +28151,74 @@ Transform:
type: 3} type: 3}
m_PrefabInstance: {fileID: 2145210772} m_PrefabInstance: {fileID: 2145210772}
m_PrefabAsset: {fileID: 0} 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 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -28145,3 +28226,4 @@ SceneRoots:
- {fileID: 1430525925} - {fileID: 1430525925}
- {fileID: 731008700} - {fileID: 731008700}
- {fileID: 669203337} - {fileID: 669203337}
- {fileID: 3091828949070161056}

View File

@@ -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;
}
}
}

View File

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

View File

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

View File

@@ -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<Transform>()
.Where((x) => x != transform)
.ToArray();
}
public void Spawn(GameObject player)
{
player.GetComponent<HVRTeleporter>().Teleport(spawns.First().position);
}
}

View File

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

View File

@@ -6,8 +6,14 @@ public class LevelInstaller : MonoInstaller
[SerializeField] [SerializeField]
private Level level; private Level level;
[SerializeField]
private PlayerSpawner playerSpawner;
public override void InstallBindings() public override void InstallBindings()
{ {
Container.BindInstance(playerSpawner)
.AsSingle();
Container.Bind<Level>() Container.Bind<Level>()
.FromInstance(level) .FromInstance(level)
.AsSingle(); .AsSingle();

View File

@@ -3,8 +3,14 @@ using Zenject;
public class LobbyInstaller : MonoInstaller public class LobbyInstaller : MonoInstaller
{ {
[SerializeField]
private PlayerSpawner playerSpawner;
public override void InstallBindings() public override void InstallBindings()
{ {
Container.BindInstance(playerSpawner)
.AsSingle();
Container.Bind<LobbyManager>() Container.Bind<LobbyManager>()
.FromComponentsInNewPrefabResource("Managers/LobbyManager") .FromComponentsInNewPrefabResource("Managers/LobbyManager")
.AsSingle() .AsSingle()

View File

@@ -1,3 +1,4 @@
using HurricaneVR.Framework.Core.Player;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@@ -24,6 +25,16 @@ public class LevelManager : MonoBehaviour
[ReadOnly] [ReadOnly]
private MusicManager musicManager; private MusicManager musicManager;
[Inject]
[SerializeField]
[ReadOnly]
private PlayerSpawner playerSpawner;
[Inject]
[SerializeField]
[ReadOnly]
private HVRPlayerController playerController;
private void Start() private void Start()
{ {
health = level.health; health = level.health;
@@ -32,6 +43,8 @@ public class LevelManager : MonoBehaviour
{ {
musicManager.Play(level.pauseClip); musicManager.Play(level.pauseClip);
} }
playerSpawner.Spawn(playerController.gameObject);
} }
public void OnEnemyReachedFinish(EnemyComponent enemy) public void OnEnemyReachedFinish(EnemyComponent enemy)

View File

@@ -1,3 +1,4 @@
using HurricaneVR.Framework.Core.Player;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
@@ -11,11 +12,23 @@ public class LobbyManager : MonoBehaviour
[ReadOnly] [ReadOnly]
private MusicManager musicManager; private MusicManager musicManager;
[Inject]
[SerializeField]
[ReadOnly]
private PlayerSpawner playerSpawner;
[Inject]
[SerializeField]
[ReadOnly]
private HVRPlayerController playerController;
[SerializeField] [SerializeField]
private AudioClip backgroundMusicClip; private AudioClip backgroundMusicClip;
private void Start() private void Start()
{ {
musicManager.Play(backgroundMusicClip); musicManager.Play(backgroundMusicClip);
playerSpawner.Spawn(playerController.gameObject);
} }
} }

View File

@@ -5,6 +5,12 @@ EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: m_Scenes:
- enabled: 1
path: Assets/Scenes/Lobby.unity
guid: eaec6d3575cfd2d42a5f87b082c898c8
- enabled: 1
path: Assets/Scenes/Entrance.unity
guid: 07047a8cc3efe2043ad21378467317ee
- enabled: 1 - enabled: 1
path: Assets/Scenes/Forge.unity path: Assets/Scenes/Forge.unity
guid: 0850bb9b948948349b83e3612aa421af guid: 0850bb9b948948349b83e3612aa421af