Unity - 如何重置 ExecuteInEditMode 脚本的检查器值?

kal*_*own 2 c# unity-game-engine

我想恢复默认值,而无需关闭并重新启动 Unity。

当我在 VSC 中保存时,检查器中的字段保持不变。让它们重置的唯一方法是关闭并重新启动 Unity。我是否需要更改代码、Unity 中的设置或 Visual Studio Code 中的设置才能使检查器面板和内容恢复为原始状态?

在此输入图像描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[ExecuteInEditMode]
public class DebugGizmos : MonoBehaviour
{
 [SerializeField]
 private float innerRadius = 1.0f;

 [SerializeField]
 private float outerRadius = 10.0f;

 [SerializeField]
 private float angle = 10.0f;

 [SerializeField]
 private float gap = 10.0f;

 [SerializeField]
 private int segments = 10;

 [SerializeField]
 private float height = 1;

 // Debugging var for drawing Gizmos
 private Vector3 vLI, vLO, vUI, vUO;
 private List<Vector3> liaPts, loaPts, uiaPts, uoaPts;

 void OnDrawGizmos()
 {
     GenerateWedge(innerRadius, outerRadius, angle, gap, segments, height);
     // if (!Application.isPlaying) return;

     for (var i=0; i < segments; i++)
     {
         Gizmos.color = Color.red;
         Gizmos.DrawWireSphere(liaPts[i], .1f); //lowerInner
         Gizmos.color = Color.yellow;
         Gizmos.DrawWireSphere(uiaPts[i], .1f); //upperInner
         Gizmos.color = Color.green; 
         Gizmos.DrawWireSphere(loaPts[i], .1f); //lowerOuter
         Gizmos.color = Color.magenta;
         Gizmos.DrawWireSphere(uoaPts[i], .1f); //upperOuter
     }
 }

 ...and some helper functions.
Run Code Online (Sandbox Code Playgroud)

Dar*_*ekt 7

右键单击脚本组件所在的检查器中的齿轮图标。

然后单击重置。

这应该会使这些值返回到其初始值。