//------------------------------------------------------------------------- // 初期化関連 private void InitPool <T>(Type type) where T : Component, IParticle { // プール生成 var pool = new ObjectPool <IParticle>(); // Generator設定 pool.SetGenerator(() => { return(MyGameObject.Create <T>($"{type}", CacheTransform)); }); // 登録 this.pools.Add((int)type, pool); }
/// <summary> /// 属性スキル用オブジェクトプールの初期設定 /// </summary> /// <typeparam name="T">Componentであり、ISkillを実装している</typeparam> /// <param name="attribute">属性</param> private void InitPoolForSkill <T>(Define.App.Attribute attribute) where T : Component, ISkill { // プール生成 var pool = new ObjectPool <ISkill>(); // Generator設定 pool.SetGenerator(() => { return(MyGameObject .Create <T>($"{attribute}", CacheTransform) .Init(attribute)); }); // 2人分予約 pool.Reserve(2); // 登録 this.skills.Add((int)attribute, pool); }