1234567891011121314151617181920212223242526272829303132 |
- namespace UnityEngine.Rendering
- {
- // Use this class to get a static instance of a component
- // Mainly used to have a default instance
- /// <summary>
- /// Singleton of a Component class.
- /// </summary>
- /// <typeparam name="TType">Component type.</typeparam>
- public static class ComponentSingleton<TType>
- where TType : Component
- {
- static TType s_Instance = null;
- /// <summary>
- /// Instance of the required component type.
- /// </summary>
- public static TType instance
- {
- get
- {
- if (s_Instance == null)
- {
- GameObject go = new GameObject("Default " + typeof(TType)) { hideFlags = HideFlags.HideAndDontSave };
- go.SetActive(false);
- s_Instance = go.AddComponent<TType>();
- }
- return s_Instance;
- }
- }
- }
- }
|