void Awake() { // Sort out dep. on players. HandlePosition = HandlePosition.OrderBy(go => go.Position.name).ToList(); for (int i = HandlePosition.Count - 1; i > -1; i--) { if (i > GameManager.playerCount - 1) { CustomerPositionClass nCPC = HandlePosition[i]; HandlePosition.RemoveAt(i); handoverplaces.RemoveAt(i); WaitingPosition.Insert(0, nCPC); } } List <Transform> WP = WaitPosGameObj.GetComponentsInChildren <Transform>().ToList(); WP.Remove(WaitPosGameObj.transform); for (int i = 0; i < WP.Count(); i++) { CustomerPositionClass CPC = new CustomerPositionClass(WP[i].gameObject, null, false); WaitingPosition.Add(CPC); } }
public void LookForNowPosition() { if (CPC.OccupiedBy != null) { CPC.OccupiedBy = null; } CPC = CL.AskForPosition(gameObject); if (CPC != null) { SetPositionTo(CPC); } }
public CustomerPositionClass AskForPosition(GameObject customer) { CustomerPositionClass AssignedPlace = null; for (int i = 0; i < HandlePosition.Count; i++) { if (HandlePosition[i].OccupiedBy == null) { AssignedPlace = HandlePosition[i]; break; } } if (AssignedPlace == null) { for (int i = 0; i < WaitingPosition.Count; i++) { if (WaitingPosition[i].OccupiedBy == null) { AssignedPlace = WaitingPosition[i]; break; } } } if (AssignedPlace != null) { AssignedPlace.OccupiedBy = customer; return(AssignedPlace); } else { EndCondition(); return(null); } }
public void SetPositionTo(CustomerPositionClass nCPC) { TargetTransform = nCPC.Position.transform; NMA.SetDestination(TargetTransform.position); }