Example #1
0
    void CreateTarget(  )
    {
        switch (state)
        {
        case CenterState.RUNNING:

            return;

        case CenterState.LEFT:
            target.x = managerObj.right;
            target.z = Random.Range(managerObj.back, managerObj.front);
            target.y = transform.localPosition.y;

            state = CenterState.RUNNING;
            break;

        case CenterState.RIGHT:
            target.x = managerObj.left;
            target.z = Random.Range(managerObj.back, managerObj.front);
            target.y = transform.localPosition.y;

            state = CenterState.RUNNING;
            break;

        default:
            break;
        }
    }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        switch (state)
        {
        case CenterState.RUNNING:
            if (transform.localPosition.x > managerObj.right)
            {
                // right
                state = CenterState.RIGHT;
            }
            if (transform.localPosition.x < managerObj.left)
            {
                // right
                state = CenterState.LEFT;
            }
            transform.position += speedVector;

            break;

        case CenterState.LEFT:
            if (curTime < maxTime)
            {
                curTime += Time.deltaTime;
            }
            else
            {
                curTime = 0;
                maxTime = Random.Range(limitTime.x, limitTime.y);

                CreateTarget();
                state = CenterState.RUNNING;

                speedVector = (target - transform.localPosition).normalized * speedValue * Time.deltaTime * 50;
            }
            break;

        case CenterState.RIGHT:
            if (curTime < maxTime)
            {
                curTime += Time.deltaTime;
            }
            else
            {
                curTime = 0;
                maxTime = Random.Range(limitTime.x, limitTime.y);

                CreateTarget();
                state = CenterState.RUNNING;

                speedVector = (target - transform.localPosition).normalized * speedValue * Time.deltaTime * 50;
            }
            break;

        default:
            break;
        }
    }