Implement player network spawning and position synchronization
This commit is contained in:
@@ -1,13 +1,12 @@
|
||||
using HurricaneVR.Framework.Core;
|
||||
using HurricaneVR.Framework.Core.Player;
|
||||
using HurricaneVR.Framework.Core.Utils;
|
||||
using Unity.Netcode;
|
||||
using UnityEngine;
|
||||
using Zenject;
|
||||
|
||||
public class GlobalInstaller : MonoInstaller
|
||||
{
|
||||
|
||||
|
||||
[SerializeField]
|
||||
private GameObject musicPlayerPrefab;
|
||||
|
||||
@@ -15,10 +14,16 @@ public class GlobalInstaller : MonoInstaller
|
||||
private GameObject hvrGlobalPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject playerPrefab;
|
||||
private GameObject sceneManagerPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject sceneManagerPrefab;
|
||||
private GameObject networkManagerPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject gameManagerPrefab;
|
||||
|
||||
[SerializeField]
|
||||
private GameObject playerPrefab;
|
||||
|
||||
public override void Start()
|
||||
{
|
||||
@@ -46,12 +51,12 @@ public class GlobalInstaller : MonoInstaller
|
||||
})
|
||||
.NonLazy();
|
||||
|
||||
Container.Bind<HVRPlayerController>()
|
||||
.FromComponentInNewPrefab(playerPrefab)
|
||||
Container.Bind<GameManager>()
|
||||
.FromComponentInNewPrefab(gameManagerPrefab)
|
||||
.AsSingle()
|
||||
.OnInstantiated<HVRPlayerController>((ctx, obj) =>
|
||||
.OnInstantiated<GameManager>((ctx, obj) =>
|
||||
{
|
||||
obj.transform.parent.name = playerPrefab.name;
|
||||
obj.name = gameManagerPrefab.name;
|
||||
})
|
||||
.NonLazy();
|
||||
|
||||
@@ -63,5 +68,23 @@ public class GlobalInstaller : MonoInstaller
|
||||
obj.name = sceneManagerPrefab.name;
|
||||
})
|
||||
.NonLazy();
|
||||
|
||||
Container.Bind<NetworkManager>()
|
||||
.FromComponentInNewPrefab(networkManagerPrefab)
|
||||
.AsSingle()
|
||||
.OnInstantiated<NetworkManager>((ctx, obj) =>
|
||||
{
|
||||
obj.name = networkManagerPrefab.name;
|
||||
})
|
||||
.NonLazy();
|
||||
|
||||
Container.Bind<PlayerComponent>()
|
||||
.FromComponentInNewPrefab(playerPrefab)
|
||||
.AsSingle()
|
||||
.OnInstantiated<PlayerComponent>((ctx, obj) =>
|
||||
{
|
||||
obj.name = playerPrefab.name;
|
||||
})
|
||||
.NonLazy();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user