csharp 动的に生成したオブジェクトで机能DI DI

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 动的に生成したオブジェクトで机能DI DI相关的知识,希望对你有一定的参考价值。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Zenject;

public class GameController : MonoBehaviour
{
    [Inject] List<IPlayerStamp> iStamps = null;
    [Inject] List<IGetScore> iGetScores = null;
    [Inject] List<IGameOver> iGameOvers = null;


    // 動的に生成されるEnemyへのInjectがうまくできていない
    // とりあえず動的に生成されるEnemyからは、GameController経由で処理を行う

    public static GameController GetGameController ()
    => GameObject.FindWithTag ( TagName.GameController )
        .GetComponent<GameController> ();

    public void Stamp ( Vector3 pos )
        => iStamps.ForEach ( x => x.OnStamp ( pos ) );

    public void GetScore ( int scorePoint )
        => iGetScores.ForEach ( x => x.OnGetScore ( scorePoint ) );

    public void GameOver ()
        => iGameOvers.ForEach ( x => x.OnGameOver () );

}

以上是关于csharp 动的に生成したオブジェクトで机能DI DI的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

csharp 大量のオブジェクトを何度も吐温させる场合はSetRecyclable(真)にした方がよいかもと検证したサンプルコード

markdown 红宝石オブジェクトに加载ActiveModelの机能を追加する

markdown 红宝石オブジェクトに加载ActiveModelの机能を追加する