Unity固有のルールも含めて,C#でクラスを記述する方法をまとめ
●ソースファイルの形式
・ファイル名は半角英字で始めて,半角英数字と_と-のみで記述する(原則としてファイル名=クラス名だからという理由もある)
・拡張子は
.cs
・文字コードは UTF-8で,先頭に BOMを付与する
・改行コードは LF
この形式に合わせると,WinとMac間でプロジェクトを移動させても問題無く動作します
実際 Win版で
BOMを付与しなかった場合『error CS1010: Newline in constant』が発生します
日本語を全く記述しなければ問題ないのかもしれません
●Unity用の C#クラス雛形
using UnityEngine;
using System.Collections;
public class hinagata : MonoBehaviour {
void Awake() {
//起動時にまとめて実行される
}
void Start() {
//Update直前にまとめて1度だけ実行される
}
void FixedUpdate() {
//一定間隔(0.01f秒)でまとめて実行される(物理演算用)
}
void Update() {
//画面更新可能時(不定期)に実行される(描画用)
}
void LateUpdate() {
//Update直後にまとめて毎回実行される
}
void OnGUI() {
//GUIイベント発生時に実行される
}
}
●実行順序の設定
各クラスに記述したメソッドを,どのクラスのものから処理するのかを設定する事ができます
エディターメニューのEdit→Projrct
Settings→Script Execution Order
Inspectorに順序を設定したいクラスをドロップする
上から順に処理されるので,ドラッグして並び替える
削除したい時は,右の-をクリック
たぶん,Default Timeがこの設定をしていないクラス全てを意味するが,マニュアルからはその確証を得られない(Default
Timeとは? の説明が見当たらないため)
これよりも上なら前処理,下なら後処理になるのだろう