Exemplo n.º 1
0
        //-------------------------------------------------------------------------
        // 初期化関連

        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);
        }
Exemplo n.º 2
0
        /// <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);
        }