private void ShowAllPlateNumberByState()//function 2 { string CarStatus; eCarState eVehicleStatus = 0; List <string> PlateNumbersToPrint = new List <string>(); System.Console.WriteLine("Whitch Car Status You Want To Search By? [For All(0) /InProcess(1) /Repaired(2) /Paid(3)]"); CarStatus = System.Console.ReadLine(); while (!IV.ValidInputStatusVehicle(CarStatus, ref eVehicleStatus)) { if (CarStatus == "0") { break; } CarStatus = System.Console.ReadLine(); } if (CarStatus == "0") { GM.CreateListOfPlatesNumbers(ref PlateNumbersToPrint); } else { GM.CreatePlatesNumberByStatus(eVehicleStatus, ref PlateNumbersToPrint); } PrintListOfPlatesNumber(ref PlateNumbersToPrint); }
public VehicleDetails(string i_OwnerName, string i_OwnerPhoneNumber, ref Vehicle io_Vehicle) { m_OwnerName = i_OwnerName; m_OwnerPhoneNumber = i_OwnerPhoneNumber; m_Vehicle = io_Vehicle; m_CarState = eCarState.InProcess; }
private List <string> getLicences(eCarState i_State, string i_VehicleType) { List <string> licencses = new List <string>(); foreach (KeyValuePair <string, CustomerCard> currentCostumer in m_CostumerBook) { if (i_VehicleType == "All") { licencses.Add(currentCostumer.Key); } else { if (currentCostumer.Value.CarState == i_State) { licencses.Add(currentCostumer.Key); } } } if (licencses.Count == 0) { licencses = null; } return(licencses); }
public Elevator() { Console.Out.WriteLine($"Creating Elevator -> Floor is {CurrentFloor}, CarNumber is {CarNumber}"); NumTrips = 0; CarState = eCarState.Waiting; }
public CustomerCard(Vehicle i_Vehicle, string i_Name, string i_Phone) { m_Vehicle = i_Vehicle; m_Name = i_Name; m_Phone = i_Phone; m_CarState = eCarState.InRepair; }
public void SetCarState(eCarState state, Action onCompleteCallback = null) { CurrrentCarState = state; switch (state) { case eCarState.IDLE: { CarAnimator.SetBool("bounce", false); CarAnimator.SetBool("moving", false); } break; case eCarState.BOUNCE: { PlaySound(carStart); CarAnimator.SetBool("bounce", true); onAnimCompleteCallback = onCompleteCallback; } break; case eCarState.MOVING: { PlaySound(carRunning, true); CarAnimator.SetBool("moving", true); } break; default: break; } }
public void CreatePlatesNumberByStatus(eCarState eVehicleStatus, ref List <string> io_ListOfPlateNumbers)//function 2. create List Of All the Relevant Plates Numbers by Status Of Vehicle { foreach (string plateNumber in m_DictionaryVehicles.Keys) { if (m_DictionaryVehicles[plateNumber].CarState == eVehicleStatus) { io_ListOfPlateNumbers.Add(plateNumber); } } }
public void ResetCar(bool playCrashSound = true) { if (playCrashSound) { carSpeaker.PlayOneShot(carCrash); } gameObject.transform.position = startPosition; getReadyFlag.SetActive(true); readyCount = 0; currentCarState = eCarState.GETREADY; }
public List <string> GetVehiclesByState(string i_VehicleState) { eCarState state = eCarState.InRepair; List <string> licensesByState = null; if (i_VehicleState != "All") { state = FromStringToCarStateEnum(i_VehicleState); } licensesByState = getLicences(state, i_VehicleState); return(licensesByState); }
void GetNextFloorInQueue() { if (FloorQueue.Any()) { RequestedFloor = FloorQueue.Dequeue(); Direction = CurrentFloor < RequestedFloor ? eDirection.Up : eDirection.Down; CarState = eCarState.Moving; } else { CarState = eCarState.Waiting; } }
private void Move(long ticks) { Console.Out.WriteLine($"Car {CarNumber} Moving from floor {CurrentFloor} to {RequestedFloor}"); MovingTime += ticks; if (MovingTime >= CarSpeedTicksPerFloor) { MovingTime = 0; if (CurrentFloor != RequestedFloor) { CurrentFloor = Direction == eDirection.Up ? CurrentFloor + 1 : CurrentFloor - 1; } if (CurrentFloor == RequestedFloor || (FloorQueue.Any() && FloorQueue.Peek() == CurrentFloor)) { if (FloorQueue.Any() && FloorQueue.Peek() == CurrentFloor) { Console.Out.WriteLine($"Car {CarNumber} Arrived at floor {CurrentFloor}, Waiting "); FloorQueue.Dequeue(); } else { Console.Out.WriteLine($"Car {CarNumber} Arrived at floor {RequestedFloor}, Waiting "); } NumTrips++; if (NumTrips >= 100) { SetService(false); } else { GetNextFloorInQueue(); } } else { Console.Out.WriteLine($"Car {CarNumber} passing floor {CurrentFloor} enroute to floor {RequestedFloor} "); CarState = eCarState.Moving; } } }
public void Think(long tickCounter) { switch (CarState) { case eCarState.OutOfService: DoService(tickCounter); break; case eCarState.Moving: { if (CurrentFloor == RequestedFloor) { CarState = eCarState.Waiting; } Move(tickCounter); break; } case eCarState.Waiting: { break; } } }
private void startRace() { getReadyFlag.SetActive(false); currentCarState = eCarState.MOVING; }
public void WinRace() { carSpeaker.PlayOneShot(winRace); currentCarState = eCarState.WIN; }
public void ChangeStatusOfVehicleByPlateNumber(string i_PlateNumber, eCarState i_Status) //change the status of the vehicle by the new status. function 3 { m_DictionaryVehicles[i_PlateNumber].CarState = i_Status; }
private void SetService(bool inService) { CarState = inService ? eCarState.Waiting : eCarState.OutOfService; Console.Out.WriteLine(inService ? $"Car {CarNumber} coming Into Service at floor {CurrentFloor}": $"Car {CarNumber} going out of service at floor {CurrentFloor} after {NumTrips} runs."); }
public void ChangeCustomerVehicleState(CustomerCard i_Cutomer, string i_StateToChangeTo) { eCarState state = FromStringToCarStateEnum(i_StateToChangeTo); i_Cutomer.CarState = state; }
public CustomerCard(Vehicle i_Vehicle) { m_Vehicle = i_Vehicle; m_CarState = eCarState.InRepair; }