Пример #1
0
    // Update is called once per frame
    void Update()
    {
        if (speed > 0 && !GameManager.instance.GetPaused())
        {
            float moveTime = (10 / (speed + boost)) * Vector3.Distance(track.GetPoint(t), track.GetPoint(t + Time.deltaTime));
            if (moveTime == 0)
            {
                moveTime = 0.001f; //prevent divide by zero
            }
            Vector3 nextPosition;

            t += Time.deltaTime / moveTime;
            if (t >= 1)
            {
                if (loop)
                {
                    t = 0;
                }
                else
                {
                    PooledObjectBehaviour poolObj = GetComponent <PooledObjectBehaviour>();
                    if (poolObj != null)
                    {
                        poolObj.DisableInPool();
                        RemoveFromTrack();
                    }
                    else
                    {
                        Destroy(this.gameObject);
                        RemoveFromTrack();
                    }
                }
            }
            nextPosition  = track.GetPoint(t + Time.deltaTime / moveTime);
            nextPosition += (transform.right * offset);

            Vector3 position = track.GetPoint(t);
            transform.position = position + (transform.right * offset);

            if (rotateWithSpline)
            {
                transform.LookAt(nextPosition, transform.up);
            }
        }
    }
Пример #2
0
    public void Reset()
    {
        spawnTime = Time.time;
        gameMng   = GameManager.instance;
        diffMng   = DifficultyManager.instance;

        screenUpperLeft  = Camera.main.ScreenToWorldPoint(new Vector3(0, Screen.height, 0));
        screenLowerRight = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, 0, 0));

        triggers      = GetComponents <Collider>();
        poolBehaviour = GetComponent <PooledObjectBehaviour>();

        SetStats();
        ActivateWeapons();

        TrailResetter[] trailResetters = GetComponentsInChildren <TrailResetter>();
        foreach (TrailResetter resetter in trailResetters)
        {
            resetter.Reset();
        }
    }
Пример #3
0
 // Use this for initialization
 void Start()
 {
     timer           = timeToLive;
     pooledBehaviour = GetComponent <PooledObjectBehaviour>();
 }
Пример #4
0
 // Use this for initialization
 void Start()
 {
     timer = timeToLive;
     pooledBehaviour = GetComponent<PooledObjectBehaviour>();
 }
Пример #5
0
    public void Reset()
    {
        spawnTime = Time.time;
        gameMng = GameManager.instance;
        diffMng = DifficultyManager.instance;

        screenUpperLeft = Camera.main.ScreenToWorldPoint(new Vector3(0, Screen.height, 0));
        screenLowerRight = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, 0, 0));

        triggers = GetComponents<Collider>();
        poolBehaviour = GetComponent<PooledObjectBehaviour>();

        SetStats();
        ActivateWeapons();

        TrailResetter[] trailResetters = GetComponentsInChildren<TrailResetter>();
        foreach (TrailResetter resetter in trailResetters)
        {
            resetter.Reset();
        }
    }