Files
dungeons/Assets/Scripts/Installers/GlobalInstaller.cs

54 lines
1.3 KiB
C#

using HurricaneVR.Framework.Core;
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;
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<HVRObjectCollisionDisabler>()
.FromComponentInNewPrefab(playerPrefab)
.AsSingle()
.OnInstantiated<HVRObjectCollisionDisabler>((ctx, obj) =>
{
obj.name = playerPrefab.name;
})
.NonLazy();
}
}