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完成後要執行的程式
}
}
沒有留言:
張貼留言