예제 #1
0
    public void CreateObjects(int count)
    {
        instance = this;

        if (instance == null)
        {
            Debug.Log("check");
        }

        ObjectLink <BulletBase> prev = null;

        for (int i = 0; i < count; ++i)
        {
            BulletBase b = GameObject.Instantiate(origin, Vector3.zero, Quaternion.identity).GetComponent <BulletBase>();

            b.Initialize();
            b.gameObject.name = i.ToString();

            ObjectLink <BulletBase> link = new ObjectLink <BulletBase>(b);
            if (i == 0)
            {
                disableFront = link;
            }
            else
            {
                prev.back = link;
            }

            b.gameObject.SetActive(false);
            prev = link;
        }
    }
예제 #2
0
    /// <summary>
    /// 弾を生成する
    /// </summary>
    public void CreateBullet(Transform target = null)
    {
        GameObject bulletObj  = Instantiate(bulletPrefab.gameObject);
        BulletBase bulletBase = bulletObj.GetComponent <BulletBase>();

        bulletBase.transform.position = transform.position;
        bulletBase.Initialize(target, transform.forward);
    }
        public BulletSpawner(BulletConfig config, Transform inactiveBulletParent)
        {
            GameObject bulletBlueprintObject = BulletObjectCreator.Create(config);
            BulletBase bullet = bulletBlueprintObject.GetComponent <BulletBase>();

            bullet.Initialize(config);
            _pool = new PrefabPool(bulletBlueprintObject, inactiveBulletParent, config.poolPrewarm,
                                   config.poolIncreaseStep);

            bulletBlueprintObject.SetActive(false);
        }
예제 #4
0
 public void InitObjects()
 {
     me.Initialize();
 }