Esempio n. 1
0
    }//设置最后到达的随机点

    public void MoveOver()
    {
        if (transform.position.x >= FinalPosition.x - 0.05 && transform.position.x <= FinalPosition.x + 0.05 &&
            transform.position.y >= FinalPosition.y - 0.05 && transform.position.y <= FinalPosition.y + 0.05)
        {
            IfMoveOver = true;
            switch (MoveFromTo)
            {
            case ProcessMoveFrom_To.CreateToReady: PS = ProcessState.Ready; break;

            case ProcessMoveFrom_To.ReadyToRunning: PS = ProcessState.Running; break;

            case ProcessMoveFrom_To.RunningToEnded: PS = ProcessState.Ended; break;

            case ProcessMoveFrom_To.RunningToBloked: PS = ProcessState.Blocked; break;

            case ProcessMoveFrom_To.RunningToReady: PS = ProcessState.Ready; break;

            case ProcessMoveFrom_To.BlokedToReady: PS = ProcessState.Ready; break;
            }
            MoveFromTo = ProcessMoveFrom_To.JustStay;
            MoveTo     = ProcessMoveTo.ToEntrance;
            //FunctionsCount++;
        }
    }//判断运动是否结束
Esempio n. 2
0
    }//判断运动是否结束

    public void MoveNavigation()
    {
        double  Precision = 0.025;
        Vector3 Entrance  = Vector3.zero;
        Vector3 Exit      = Vector3.zero;

        switch (MoveFromTo)
        {
        case ProcessMoveFrom_To.CreateToReady:
        {
            Entrance = new Vector3(-5, -1, 0);
            Exit     = new Vector3(-4, 1, 0);
        }
        break;

        case ProcessMoveFrom_To.ReadyToRunning:
        {
            Entrance = new Vector3(-1, 3, 0);
            Exit     = new Vector3(1, 3, 0);
        }
        break;

        case ProcessMoveFrom_To.RunningToEnded:
        {
            Entrance = new Vector3(4, 1, 0);
            Exit     = new Vector3(5, -1, 0);
        }
        break;

        case ProcessMoveFrom_To.RunningToReady:
        {
            Entrance = new Vector3(1, 2.2f, 0);
            Exit     = new Vector3(-1, 2.2f, 0);
        }
        break;

        case ProcessMoveFrom_To.RunningToBloked:
        {
            Entrance = new Vector3(2, 1, 0);
            Exit     = new Vector3(1, -1, 0);
        }
        break;

        case ProcessMoveFrom_To.BlokedToReady:
        {
            Entrance = new Vector3(-1, -1, 0);
            Exit     = new Vector3(-2, 1, 0);
        }
        break;
        }
        if (transform.position.x >= Begin.x - Precision && transform.position.x <= Begin.x + Precision &&
            transform.position.y >= Begin.y - Precision && transform.position.y <= Begin.y + Precision)
        {
            MoveTo = ProcessMoveTo.ToEntrance;
        }
        if (transform.position.x >= Entrance.x - Precision && transform.position.x <= Entrance.x + Precision &&
            transform.position.y >= Entrance.y - Precision && transform.position.y <= Entrance.y + Precision)
        {
            MoveTo = ProcessMoveTo.ToExit;
        }
        if (transform.position.x >= Exit.x - Precision && transform.position.x <= Exit.x + Precision &&
            transform.position.y >= Exit.y - Precision && transform.position.y <= Exit.y + Precision)
        {
            MoveTo = ProcessMoveTo.ToTarget;
        }

        switch (MoveTo)
        {
        case ProcessMoveTo.ToEntrance:
            transform.position = Vector3.MoveTowards(transform.position, Entrance, Time.deltaTime * 1.0f);
            break;

        case ProcessMoveTo.ToExit:
            transform.position = Vector3.MoveTowards(transform.position, Exit, Time.deltaTime * 1.0f);
            break;

        case ProcessMoveTo.ToTarget:
            transform.position = Vector3.MoveTowards(transform.position, FinalPosition, Time.deltaTime * 1.0f);
            break;
        }
    }//保证过桥运动