Описание
Разрешить инициализацию метода класса редактора, когда Unity входит в режим воспроизведения.
Используйте для сброса статических полей в классах Editor при входе в игровой режим без перезагрузки домена.
using UnityEngine;
using UnityEditor;
class MyAnotherClass
{
static int s_MySimpleValue = 0;
[InitializeOnEnterPlayMode]
static void OnEnterPlaymodeInEditor(EnterPlayModeOptions options)
{
Debug.Log("Entering PlayMode");
if (options.HasFlag(EnterPlayModeOptions.DisableDomainReload))
s_MySimpleValue = 0;
}
}
Или выполните любую другую логику при входе в режим воспроизведения.
using UnityEngine;
using UnityEditor;
class MyClass
{
static int s_MyValue = 0;
static void MyClassPlaymodeSetup()
{
s_MyValue = 1000;
//...
}
[InitializeOnEnterPlayMode]
static void OnEnterPlaymodeInEditor(EnterPlayModeOptions options)
{
Debug.Log("Entering PlayMode");
MyClassPlaymodeSetup();
}
}