/
TON618OFF
/
Unity-Project-RTU
Обзор
Документация
Войти
/
TON618OFF
/
Unity-Project-RTU
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Library/PackageCache/com.unity.visualscripting@1.9.4/Runtime/VisualScripting.Core/Variables/ApplicationVariables.cs
59 строк
1 KB
TON618OFF
release
03 окт 2024, 22:20
03 окт 2024, 22:20
7c70e9f
Код
Авторство
О чём код?
using UnityEngine; namespace Unity.VisualScripting { public static class ApplicationVariables { public const string assetPath = "ApplicationVariables"; private static VariablesAsset _asset; public static VariablesAsset asset { get { if (_asset == null) { Load(); } return _asset; } } public static void Load() { _asset = Resources.Load<VariablesAsset>(assetPath) ?? ScriptableObject.CreateInstance<VariablesAsset>(); } public static VariableDeclarations runtime { get; private set; } public static VariableDeclarations initial => asset.declarations; public static VariableDeclarations current => Application.isPlaying ? runtime : initial; public static void OnEnterEditMode() { DestroyRuntimeDeclarations(); // Required because assemblies don't reload on play mode exit } public static void OnExitEditMode() { } internal static void OnEnterPlayMode() { CreateRuntimeDeclarations(); } internal static void OnExitPlayMode() { } private static void CreateRuntimeDeclarations() { runtime = asset.declarations.CloneViaFakeSerialization(); } private static void DestroyRuntimeDeclarations() { runtime = null; } } }