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)