概要
var character1 = Instantiate(prefab) as GameObject; var character2 = Instantiate(prefab, position, Quaternion.identity) as GameObject;
Instantiate関数でプレハブからゲームオブジェクトを生成する時に
毎回生成したオブジェクトをGameObject型にキャストしていたことと
位置だけを設定したいので角度の引数にQuaternion.identityを渡していたことが手間だったので
public static partial class GameObjectCommon { public static GameObject Instantiate(Object original) { return GameObject.Instantiate(original) as GameObject; } public static GameObject Instantiate(GameObject original, Vector3 position) { return GameObject.Instantiate(original, position, Quaternion.identity) as GameObject; } public static GameObject Instantiate(GameObject original, Vector3 position, Quaternion rotation) { return GameObject.Instantiate(original, position, rotation) as GameObject; } }
このようなクラスを作成して
var character1 = GameObjectCommon.Instantiate(prefab); var character2 = GameObjectCommon.Instantiate(prefab, position);
このようにシンプルに書けるようにしています