riversong code showcase
This commit is contained in:
64
Source/Riversong/Config/UnityObjectInjector.cs
Normal file
64
Source/Riversong/Config/UnityObjectInjector.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user