2024.06.17 假設 Second.cs 要等待 First.cs 完成才執行,最基礎的方法當然是先執行 First.cs 後再調用 Second.cs 的函式,但是如果需要等待 First.cs 的程式很多,要參照的程式就很多,程式碼就會很長及不易偵錯。解決方法是使用 public static event Action。範例如下:
using UnityEngine; using System; public class First : MonoBehaviour { public static event Action onFristComplete;//設定變數 private void Start() { ///先完成必須執行項目 onFristComplete?.Invoke();//表示完成 } }
using UnityEngine; using System; public class Second : MonoBehaviour { private void OnEnable() { First.onFristComplete += AfterFirstComplete; } private void OnDisable() { First.onFristComplete -= AfterFirstComplete; } void AfterFirstComplete() { ///First完成後要執行的程式 } }
沒有留言:
張貼留言