예제 #1
0
    protected virtual T onCreate(T prefab, SpawnObjectHolder <T> holder)
    {
        T item = Instantiate(prefab);

        item.setReusable();
        item.transform.parent = holder.parent;
        holder.items++;
        return(item);
    }
예제 #2
0
    protected virtual T onReuse(SpawnObjectHolder <T> holder)
    {
        T item = holder.reusable[0];

        item.transform.position = Vector2.zero;
        holder.reusable.RemoveAt(0);
        item.gameObject.SetActive(true);
        item.resetObject();
        return(item);
    }
예제 #3
0
    protected SpawnObjectHolder <T> createHolder(T prefab)
    {
        Transform parent = new GameObject(getName(prefab)).transform;

        parent.parent           = transform;
        parent.localEulerAngles = Vector2.zero;
        parent.localPosition    = Vector2.right * 1000;

        SpawnObjectHolder <T> holder = new SpawnObjectHolder <T>(prefab, parent);

        holderByPrefab.Add(prefab, holder);
        holderByParent.Add(parent, holder);;
        return(holder);
    }
예제 #4
0
 public void Start()
 {
     cam          = Camera.main;
     meteorHolder = MissleSpawner.instance.getHolder(prefab);
     StartCoroutine(spawnLoop());
 }