64 lines
2.1 KiB
C#
64 lines
2.1 KiB
C#
using Sirenix.OdinInspector;
|
|
using Unity.Cinemachine;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace DanieleMarotta.RiversongCodeShowcase
|
|
{
|
|
public class UnityObjectInjector : MonoBehaviour, IScene, IServiceProvider
|
|
{
|
|
[field: TitleGroup("Config")]
|
|
[field: SerializeField]
|
|
public GameConfig GameConfig { get; private set; }
|
|
|
|
[field: SerializeField] public BuildVersionAsset BuildVersion { get; private set; }
|
|
|
|
[field: TitleGroup("Scene")]
|
|
[field: SerializeField]
|
|
public Camera MainCamera { get; private set; }
|
|
|
|
[field: TitleGroup("Scene")]
|
|
[field: SerializeField]
|
|
public CinemachineCamera CinemachineCamera { get; private set; }
|
|
|
|
[field: TitleGroup("Scene")]
|
|
[field: SerializeField]
|
|
public SceneFolders SceneFolders { get; private set; }
|
|
|
|
[field: TitleGroup("Scene")]
|
|
[field: SerializeField]
|
|
public UIDocument LoadingOverlay { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Transform LightRig { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Light MainLight { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Light NightLight { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Volume NightVolume { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Volume BloomVolume { get; private set; }
|
|
|
|
[field: FoldoutGroup("Scene/Day Night Cycle")]
|
|
[field: SerializeField]
|
|
public Volume WarmTintVolume { get; private set; }
|
|
|
|
public void RegisterServices(IServiceLocator serviceLocator)
|
|
{
|
|
serviceLocator.RegisterService(GameConfig);
|
|
serviceLocator.RegisterService(BuildVersion);
|
|
serviceLocator.RegisterService<IScene>(this);
|
|
}
|
|
}
|
|
} |