让你不必再GetComponent<目标脚本>().方法,而是直接 目标脚本.方法,便可直接使用目标脚本的内部方法。
使得写法更加地方便。
如何使用?
静态脚本放在Assets里,不用挂在场景中。
使用脚本 Test_02 挂在场景中。
using UnityEngine;
public class Test_01
{
public static int[] a=new int[6];
public static void Skode_Debug()
{
Debug.Log("hello");
}
}
using UnityEngine;
public class Test_02 : MonoBehaviour
{
private void Start()
{
Debug.Log(Test_01.a.Length);
Test_01.Skode_Debug();
}
}
因为继承了SingletonBase,目标脚本便不可继承MonoBehaviour。 目标脚本便不可挂在场景中,不可使用MonoBehaviour生命周期(小声BB)
1.SingletonBase、静态脚本放在Asset即可,不必挂在场景 2.使用脚本,挂在场景即可。
SingletonBase脚本
public class SingletonBase<T> where T : new()
{
public static T Single { get; protected set; } = new T();
}
using UnityEngine;
public class Test_01 : SingletonBase<Test_01>
{
public void Skode_Debug()
{
Debug.Log("hello");
}
}
using UnityEngine;
public class Test_02 : MonoBehaviour
{
private void Start()
{
Debug.Log(Test_01.Single.a.Length);
Test_01.Single.Skode_Debug();
}
}
大家还有什么问题,欢迎在下方留言!