在Unity3D上有一些名爲「UnityEvent」的內容。只要方法是公開的,我可以在任何類的任何實例上調用任何方法。它也有很好的GUI。Unity3D - 將一個字段的值與另一個字段或值進行比較的通用方法
public class MyEventType : UnityEvent { }
public MyEventType OnEvent;
void Main(){
OnEvent.Invoke();
}
我試圖完成的是做一個任務和對話系統。到目前爲止,我可以使用這個事件來觸發其他地方腳本化的事件。但是,我還需要一些能夠檢查某些變量,如果它們的值小於,小於,等於,小於或等於,小於或等於任何給定值或不同變量。
例如: 我們的英雄來到醫院。他與一位醫生會談。對話控制器必須檢查玩家的健康狀況(可通過character.stats.currentHP訪問)是否小於其最大健康狀況(character.stats.maxHP),如果是,則屏幕上會出現一個選項「What's up doc?」。
當然,我可以爲每個對話選項使用不同的腳本,它會更簡單,但重點是讓不知道如何編寫代碼的人(像我一樣)構建任務和對話。我想過system.reflection,並不知道如何使它工作。
所以你說你想運行不同的腳本取決於不同的字符屬性狀態?我不太明白你想要達到的目標。 – neo
@neo一個函數,它將循環訪問未知類型元素的引用列表(?),將每個元素與給定值或同一類型的不同元素進行比較。 – ImAlive
通過反思,您可以找出手中的類型並確定如何處理它。什麼是給你帶來困難的部分? – neo