}//设置最后到达的随机点 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++; } }//判断运动是否结束
}//从运行状态到结束区域 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(); } } }//从阻塞状态到就绪状态
}//从运行状态移动到就绪状态 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(); } } }//从运行状态移动到到阻塞状态
}//从创建状态移动到就绪状态 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(); } } }//从就绪状态移动到运行状态
}//从运行状态移动到到阻塞状态 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); } } } }//从运行状态到结束区域