A game about forced loneliness, made by TACStudios
1using UnityEngine; 2using UnityEngine.SceneManagement; 3 4namespace Unity.VisualScripting 5{ 6 [Singleton(Name = "VisualScripting SceneVariables", Automatic = true, Persistent = false)] 7 [RequireComponent(typeof(Variables))] 8 [DisableAnnotation] 9 [AddComponentMenu("")] 10 [IncludeInSettings(false)] 11 [VisualScriptingHelpURL(typeof(SceneVariables))] 12 public sealed class SceneVariables : MonoBehaviour, ISingleton 13 { 14 public static SceneVariables Instance(Scene scene) 15 { 16 return SceneSingleton<SceneVariables>.InstanceIn(scene); 17 } 18 19 public static bool InstantiatedIn(Scene scene) 20 { 21 return SceneSingleton<SceneVariables>.InstantiatedIn(scene); 22 } 23 24 public static VariableDeclarations For(Scene? scene) 25 { 26 Ensure.That(nameof(scene)).IsNotNull(scene); 27 28 return Instance(scene.Value).variables.declarations; 29 } 30 31 private void Awake() 32 { 33 SceneSingleton<SceneVariables>.Awake(this); 34 } 35 36 private void OnDestroy() 37 { 38 SceneSingleton<SceneVariables>.OnDestroy(this); 39 } 40 41 private Variables _variables; 42 43 public Variables variables 44 { 45 get 46 { 47 if (_variables == null) 48 { 49 _variables = gameObject.GetOrAddComponent<Variables>(); 50 } 51 52 return _variables; 53 } 54 } 55 } 56}