我知道Unity以基於組件的方式使用C#腳本,但在很多情況下這並不夠用。如何將C#對象與Unity gameobject關聯?
繼承人一個例子:假設我有一個炮塔類和一個lazer類。它們都從實現Shoot()方法的IShootable接口繼承。我想循環通過場景中的所有可射擊對象並調用Shoot()。聽起來很簡單,但我不一定要將這些腳本作爲組件添加到遊戲對象中,而是將其實例化爲傳統的C#方式:Turret t1 = new Turret();基本上,當我實例化C#對象時,我想實例化一個統一的遊戲對象並將其幾乎相同地對待。
我相當業餘,我知道沒有完美的答案。我只想要一個一致的方式來處理這種混亂,並使其不那麼混亂。
謝謝!
除非你正在編寫一個基於文本的冒險遊戲,炮塔必須從某處射擊嗎?爲什麼不把炮塔作爲該物體拍攝的組成部分?然而,除了因爲不再使用組件系統,您的計劃沒有任何問題,因此您可以自己在「List」的某個位置(就像您在正常的C#中)和foreach一樣跟蹤所有可以啓動的對象在主列表和通話拍攝。 –
我明白你在說什麼。你可能是對的,沒有理由不使用Unity的組件系統。也許引擎不適合我的風格(?) – AymAPandah