public void Init(VehicleDirection vehicleDirection, RelativePositionCars relativePositionCars, SignPriorityWay signValue) { _movementAtCrossroad = GetComponent <PointMovement>(); _signValue = signValue; _relativePositionCars = relativePositionCars; _vehicleDirection = vehicleDirection; EnableTurnSignalCar(vehicleDirection); }
private bool IsOncomingTraffic(RelativePositionCars currentCar, RelativePositionCars carAtCrossroad) { if ((currentCar == RelativePositionCars.player && carAtCrossroad == RelativePositionCars.nord) || (currentCar == RelativePositionCars.east && carAtCrossroad == RelativePositionCars.west) || (currentCar == RelativePositionCars.nord && carAtCrossroad == RelativePositionCars.player) || (currentCar == RelativePositionCars.west && carAtCrossroad == RelativePositionCars.east)) { return(true); } else { return(false); } }
private bool IsHindranceOnRight(RelativePositionCars currentCar, RelativePositionCars carAtCrossroad) { if ((currentCar == RelativePositionCars.player && carAtCrossroad == RelativePositionCars.east) || (currentCar == RelativePositionCars.east && carAtCrossroad == RelativePositionCars.nord) || (currentCar == RelativePositionCars.nord && carAtCrossroad == RelativePositionCars.west) || (currentCar == RelativePositionCars.west && carAtCrossroad == RelativePositionCars.player)) { return(true); } else { return(false); } }
private VehicleDirection GetRandomDirection(RelativePositionCars relativePositionCars, SignPriorityWay signValue) { int directionNumber; do { if (signValue == SignPriorityWay.unsigned)//на равнозначных дорогах исключаем поворот на лево { directionNumber = Random.Range(1, 3); } else { directionNumber = Random.Range(0, 3); } } while ((relativePositionCars == RelativePositionCars.east && (VehicleDirection)directionNumber == VehicleDirection.right) ||//В игре машины не должны ехать в направлении игрока (relativePositionCars == RelativePositionCars.west && (VehicleDirection)directionNumber == VehicleDirection.left)); return((VehicleDirection)directionNumber); }