Version: 2023.1

InitializeOnEnterPlayModeAttribute

class in UnityEditor

切换到手册

描述

允许在 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(); } }