/// <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);
        }
    }
Exemple #2
0
    // TIPS: Bind() 用、SourceObject 取得メソッド
    SourceObject GetObject()
    {
        var source = table.GetSourceObject();

        return((source == null) ? SourceObject.Create() : source);
    }