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されない))的主要内容,如果未能解决你的问题,请参考以下文章