csharp DIできる状态で,动的にオブジェクトを生成する(普通にGameObject.Instantiateすると,生成されたオブジェクトにはDIされない))

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp DIできる状态で,动的にオブジェクトを生成する(普通にGameObject.Instantiateすると,生成されたオブジェクトにはDIされない))相关的知识,希望对你有一定的参考价值。

using UnityEngine;
using Zenject;

/// <summary>
/// DI できる状態で、動的にオブジェクトを生成する
/// (普通にInstantiateすると、生成されたオブジェクトには DI されない)
/// </summary>
public class EnemySpawner : MonoBehaviour
{
    [SerializeField] GameObject enemyPrefab = null;
    [SerializeField] Transform enemiesParentTransform = null;
    [SerializeField] float delay = 3f;
    [SerializeField] float span = 3f;
    [SerializeField] Vector3 offset = Vector3.zero;

    [Inject] DiContainer container = null;

    private void Start ()
        => InvokeRepeating ( nameof ( SpawnEnemy ), delay, span );

    private void SpawnEnemy ()
    {
        container.InstantiatePrefab(
            enemyPrefab, offset, Quaternion.identity,
            enemiesParentTransform);

        Debug.Log ( "Spawn" );
    }
}

以上是关于csharp DIできる状态で,动的にオブジェクトを生成する(普通にGameObject.Instantiateすると,生成されたオブジェクトにはDIされない))的主要内容,如果未能解决你的问题,请参考以下文章

csharp DIが机能するように,オブジェクトを动的生成する

Oracleシノニムについて

javascript D3.jsで分散情节をburshし,スタイル変更と同时に选択したオブジェクトを操作する方法。

markdown SharedPreferenceに単纯なオブジェクト,泛型を使ったオブジェクトを保存

csharp サクッとオブジェクト同士を阶层化させるエディタ拡张.GameObjectは非対応です

python Python的なアプリからJSONを出力する方法はいろいろあると思いますが,SQLAlchemy的利用が前提だとJSONシリアライズの前にオブジェクトの変换を自前で作るケースが多いようで