Ejemplo n.º 1
0
    void Update()
    {
        if (zombiePool == null)
        {
            return;
        }
        if (zombieList.Count >= zombieMaxNum)
        {
            return;
        }
        if (startFlag == false)
        {
            return;
        }
        if (target == null)
        {
            return;
        }

        timer += Time.deltaTime;
        //print(string.Format("{0}/{1}", zombieList.Count, zombieMaxNum));
        if (timer >= spwanInterval)
        {
            timer = 0;

            int index = Random.Range(0, spawnPos.transform.childCount);
            ZombieController zombie = zombiePool.Take(spawnPos.GetChild(index).position, Quaternion.identity, container) as ZombieController;
            zombie.SetZombieProperty(zombieSpeed, zombieHP);
            zombie.SetTarget(target);
            zombieList.Add(zombie);
            //StopSpwaning();
        }
    }
Ejemplo n.º 2
0
    void AddConstructionIcon()
    {
        ISubPool     remindPool = ObjectPoolSingleton.Instance.GetPool <ConstructionIcon>();
        FloatingIcon icon       = remindPool.Take() as FloatingIcon;
        GameObject   go         = icon.gameObject;

        go.transform.parent        = floatingIconTrans.transform;
        go.transform.localPosition = Vector3.zero;
    }
Ejemplo n.º 3
0
    GameObject CreateHudInstance(HudInfo info, Vector3 pos, Quaternion quat)
    {
        ISubPool pool = null;

        if (info.type == HudType.Collect)
        {
            pool = ObjectPoolSingleton.Instance.GetPool <HudCollect>();
            HudCollect hud = pool.Take(pos, quat, uirootTrans) as HudCollect;
            return(hud.gameObject);
        }
        else if (info.type == HudType.CountDown)
        {
            pool = ObjectPoolSingleton.Instance.GetPool <HudCountDown>();
            HudCountDown hud = pool.Take(pos, quat, uirootTrans) as HudCountDown;
            if (info.args != null)
            {
                hud.SetTimer(info.args.Value <long>("finishtime"));
            }
            return(hud.gameObject);
        }
        else if (info.type == HudType.NameBoard)
        {
            pool = ObjectPoolSingleton.Instance.GetPool <HudNameBoard>();
            HudNameBoard hud = pool.Take(pos, quat, uirootTrans) as HudNameBoard;
            return(hud.gameObject);
        }
        else if (info.type == HudType.ProduceBar)
        {
            pool = ObjectPoolSingleton.Instance.GetPool <HudProduceBar>();
            HudProduceBar hud = pool.Take(pos, quat, uirootTrans) as HudProduceBar;
            return(hud.gameObject);
        }
        else if (info.type == HudType.Exmind)
        {
            pool = ObjectPoolSingleton.Instance.GetPool <HudExmind>();
            HudExmind hud = pool.Take(pos, quat, uirootTrans) as HudExmind;
            return(hud.gameObject);
        }
        return(null);
    }