1.) 在Unity 裡按Play來測試程式時,必須保持視窗在最上 ,一但非在最上時則暫停
若要測試背景執行的任務時,必須注意是否沒在運行( EX: Game Server
否則必須設定Run in Background (如圖


2. interface 與 class

兩者功能相同,但class 只能繼承一個,interface 能繼成多個

class 繼承 class ; interface 繼承 interface


3. 繼承

Class B 繼承 A

當A已經有Data()時,B想寫同名涵式須加上new ( 例如 new public int Data()

且A的Data()須加上關鍵字 virtual 或 abstract (例如 public virtual int Data()

abstract 意為不可呼叫(實作) , virtual 可照一般使用,但可被子物件複寫


4. 繼承 - 2

因為instance屬於Class A,當instance 要取用int ia時,必須加上upcast

(instance as B).ia = 100;

((B)instance).ia = 100;

--------------

5. ) programming style

通常 private member 的命名為 _variable ,public accessor 命名為 Variable

----------------

6. ) [Serializable]

用於自訂class的上一行,目的在於讓此class可以封裝成Binary文字或是XML文字檔案,以便存檔或傳送

使用方法:先在定義class的地方上加入[Serializable],

接著使用BinartyFormatter的Serialize這個method (或其他) ,自訂的class就能當參數帶進去

Binary

XML

7. ) 封裝

只有繼承ScriptableObject 可以封裝成.Assets檔

GameObject 只能封裝成 Prefabs

另外AnimationClip、Material 等原生 Object類則各自封裝成 .anim、mat 等

8. ) serializedObject.FindProperty("commandList");

繼承 Editor 方用來尋找target目標Class裡的serialized標籤的變數