67 lines
1.7 KiB
C#
67 lines
1.7 KiB
C#
using HurricaneVR.Framework.Core;
|
|
using HurricaneVR.Framework.Core.Player;
|
|
using HurricaneVR.Framework.Core.Utils;
|
|
using UnityEngine;
|
|
using Zenject;
|
|
|
|
public class GlobalInstaller : MonoInstaller
|
|
{
|
|
|
|
|
|
[SerializeField]
|
|
private GameObject musicPlayerPrefab;
|
|
|
|
[SerializeField]
|
|
private GameObject hvrGlobalPrefab;
|
|
|
|
[SerializeField]
|
|
private GameObject playerPrefab;
|
|
|
|
[SerializeField]
|
|
private GameObject sceneManagerPrefab;
|
|
|
|
public override void Start()
|
|
{
|
|
base.Start();
|
|
|
|
name = "ProjectContext";
|
|
}
|
|
|
|
public override void InstallBindings()
|
|
{
|
|
Container.Bind<MusicManager>()
|
|
.FromComponentInNewPrefab(musicPlayerPrefab)
|
|
.AsSingle()
|
|
.OnInstantiated<MusicManager>((ctx, obj) =>
|
|
{
|
|
obj.name = musicPlayerPrefab.name;
|
|
});
|
|
|
|
Container.Bind<HVRManager>()
|
|
.FromComponentInNewPrefab(hvrGlobalPrefab)
|
|
.AsSingle()
|
|
.OnInstantiated<HVRManager>((ctx, obj) =>
|
|
{
|
|
obj.name = hvrGlobalPrefab.name;
|
|
})
|
|
.NonLazy();
|
|
|
|
Container.Bind<HVRPlayerController>()
|
|
.FromComponentInNewPrefab(playerPrefab)
|
|
.AsSingle()
|
|
.OnInstantiated<HVRPlayerController>((ctx, obj) =>
|
|
{
|
|
obj.transform.parent.name = playerPrefab.name;
|
|
})
|
|
.NonLazy();
|
|
|
|
Container.Bind<SceneManager>()
|
|
.FromComponentInNewPrefab(sceneManagerPrefab)
|
|
.AsSingle()
|
|
.OnInstantiated<SceneManager>((ctx, obj) =>
|
|
{
|
|
obj.name = sceneManagerPrefab.name;
|
|
})
|
|
.NonLazy();
|
|
}
|
|
} |