/// <summary> <see cref="SourceObject"/> を割り当てる <para></para> /// 割り当て済みなら、既存のインスタンスを破棄して新しく割り当てなおす </summary> public void Bind() { if (source) { Unbind(); } // 未使用の SourceObject があれば再利用する var existsFreeObject = SourceObjectManager.ExistsFreeObject(); source = existsFreeObject ? SourceObjectManager.GetFreeObject() : SourceObject.Create(isBind ? transform : null); // 未使用のものを割り当てられたとき、管理下に置く設定なら移動させる if (existsFreeObject && isBind) { source.transform.SetParent(transform); } }
// TIPS: Bind() 用、SourceObject 取得メソッド SourceObject GetObject() { var source = table.GetSourceObject(); return((source == null) ? SourceObject.Create() : source); }