基本上,如果它在冷卻中,我想打破這個方法。但是當我在方法中移動 if 陳述句時,它將不起作用。return 關鍵字只會回傳到前一個方法并繼續其余的操作。有什么辦法嗎?

uj5u.com熱心網友回復:
讓該CooldownCheck方法回傳停止狀態,例如,通過布林值:
public void Interact()
{
if (CooldownCheck()) {
InInteract.Invoke();
lastCooled = Time.time cooldown;
}
}
private bool CooldownCheck()
{
if (lastCooled <= Time.time) {
Debug.Log(stuff);
return true;
}
return false;
}
順便說一句,你else { return; }沒有任何意義,因為任何 void 方法return;在其末尾都有一個隱含的方法。return-statement 不停止任何事情,它從方法中回傳,即它此時離開方法并繼續運行呼叫者,即呼叫者將執行下一條陳述句。
一種中斷呼叫者的方法也是拋出例外。但這在這種情況下似乎不合適。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397765.html
