Esempio n. 1
0
    void Update()
    {
        switch (mCurState)
        {
        case State.Inactive:
            break;

        case State.Spawn:
            Transform t = EntityManager.instance.Spawn(type, null, null, null, useSpawnFX);
            mPoolController = t.GetComponentInChildren <PoolDataController>();

            Vector3 pos = transform.position;

            t.position = new Vector3(pos.x, pos.y, t.position.z);

            PlanetAttachStatic pa = t.GetComponentInChildren <PlanetAttachStatic>();
            if (pa != null)
            {
                pa.RefreshPos();
            }

            ChangeState(State.SpawnWait);
            break;

        case State.SpawnWait:
            if (mPoolController != null)
            {
                if (mPoolController.claimed)
                {
                    if (mCurTime >= delayRespawn)
                    {
                        ChangeState(State.Spawn);
                    }
                    else
                    {
                        mCurTime += Time.deltaTime;
                    }
                }
            }
            else
            {
                ChangeState(State.Spawn);
            }
            break;
        }
    }