1.C# Unity获取当前Debug.log类名+方法名
string s1 = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name;//类名
string s2 = System.Reflection.MethodBase.GetCurrentMethod().Name;//方法名
2.阻止Unity在PlayMode时编译脚本
using UnityEditor;
using UnityEngine;
[InitializeOnLoad]
public class CompilerOptionsEditorScript
{
static bool waitingForStop = false;
static CompilerOptionsEditorScript()
{
EditorApplication.update += OnEditorUpdate;
}
static void OnEditorUpdate()
{
if( ! waitingForStop
&& EditorApplication.isCompiling
&& EditorApplication.isPlaying )
{
EditorApplication.LockReloadAssemblies();
EditorApplication.playmodeStateChanged
+= PlaymodeChanged;
waitingForStop = true;
}
}
static void PlaymodeChanged()
{
if( EditorApplication.isPlaying )
return;
EditorApplication.UnlockReloadAssemblies();
EditorApplication.playmodeStateChanged
-= PlaymodeChanged;
waitingForStop = false;
}
}
3.相机快速聚焦某个位置
调整好物体的位置,选中相机,选择Unity工具栏-GameObject-AlignWithView 即可
4.修改代码里Prefab名不丢引用
using UnityEngine.Serialization;
public class Test
{
[FormerlySerializedAs("btn2")]
public Button button;
//修改后引用不会丢失
}