Ejemplo 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++;
        }
    }//判断运动是否结束
Ejemplo n.º 2
0
    }//从运行状态到结束区域

    public void MoveFromBlokedToReady()
    {
        if (PS == ProcessState.Blocked && (MoveFromTo == ProcessMoveFrom_To.JustStay ||
                                           MoveFromTo == ProcessMoveFrom_To.BlokedToReady))
        {
            MoveFromTo = ProcessMoveFrom_To.BlokedToReady;
            if (IfMoveOver == true)// && IfNewFinal == true)
            {
                //开始移动,设置移动目标以及最终坐标点(只设置一次)

                settingRandomFinalPos();
            }
            if (IfMoveOver == false)
            {
                MoveNavigation();
                MoveOver();
            }
        }
    }//从阻塞状态到就绪状态
Ejemplo n.º 3
0
    }//从运行状态移动到就绪状态

    public void MoveFromRunningToBloked()
    {
        if (PS == ProcessState.Running && (MoveFromTo == ProcessMoveFrom_To.JustStay ||
                                           MoveFromTo == ProcessMoveFrom_To.RunningToBloked))
        {
            MoveFromTo = ProcessMoveFrom_To.RunningToBloked;
            if (IfMoveOver == true)// && IfNewFinal == true)
            {
                //开始移动,设置移动目标以及最终坐标点(只设置一次)

                settingRandomFinalPos();
            }
            if (IfMoveOver == false)
            {
                MoveNavigation();
                MoveOver();
            }
        }
    }//从运行状态移动到到阻塞状态
Ejemplo n.º 4
0
    }//从创建状态移动到就绪状态

    public void MoveFromReadyToRunning()
    {
        if (PS == ProcessState.Ready && (MoveFromTo == ProcessMoveFrom_To.JustStay ||
                                         MoveFromTo == ProcessMoveFrom_To.ReadyToRunning))
        {
            MoveFromTo = ProcessMoveFrom_To.ReadyToRunning;
            if (IfMoveOver == true)// && IfNewFinal == true)
            {
                //开始移动,设置移动目标以及最终坐标点(只设置一次)

                settingRandomFinalPos();
            }
            if (IfMoveOver == false)
            {
                MoveNavigation();
                MoveOver();
            }
        }
    }//从就绪状态移动到运行状态
Ejemplo n.º 5
0
    }//从运行状态移动到到阻塞状态

    public void MoveFromRunningToEnded()
    {
        if (PS == ProcessState.Running && (MoveFromTo == ProcessMoveFrom_To.JustStay ||
                                           MoveFromTo == ProcessMoveFrom_To.RunningToEnded))
        {
            MoveFromTo = ProcessMoveFrom_To.RunningToEnded;
            if (IfMoveOver == true)// && IfNewFinal == true)
            {
                //开始移动,设置移动目标以及最终坐标点(只设置一次)

                settingRandomFinalPos();
            }
            if (IfMoveOver == false)
            {
                MoveNavigation();
                MoveOver();
                if (IfMoveOver == true)
                {
                    ps.GetComponent <ProcessSchedule>().Process_List.RemoveAt(ProcessPos);
                }
            }
        }
    }//从运行状态到结束区域