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() .FromComponentInNewPrefab(musicPlayerPrefab) .AsSingle() .OnInstantiated((ctx, obj) => { obj.name = musicPlayerPrefab.name; }); Container.Bind() .FromComponentInNewPrefab(hvrGlobalPrefab) .AsSingle() .OnInstantiated((ctx, obj) => { obj.name = hvrGlobalPrefab.name; }) .NonLazy(); Container.Bind() .FromComponentInNewPrefab(playerPrefab) .AsSingle() .OnInstantiated((ctx, obj) => { obj.transform.parent.name = playerPrefab.name; }) .NonLazy(); Container.Bind() .FromComponentInNewPrefab(sceneManagerPrefab) .AsSingle() .OnInstantiated((ctx, obj) => { obj.name = sceneManagerPrefab.name; }) .NonLazy(); } }