public void GenerateVehicle()
        {
            int generateVehicles;
            Random Random = new Random();
            int RandomNum;
            PoissonDistribution P = new PoissonDistribution(0);

            foreach (Road road in Simulator.RoadManager.GetGenerateVehicleRoadList())
            {
                if (road.generateLevel_lambda > 0 && DrivingPathList[road.roadID].Count >= 1)
                {
                    generateVehicles = 0;

                    double lambda = road.generateLevel_lambda / (60 / vehicleGenerateInterval) ;

                    P.SetLambda(lambda);

                    RandomNum = Random.Next(999);

                    if (!vehicleWeight)
                    {
                        if (RandomNum >= P.CummulitiveDistributionFunction(0) * 1000)
                        {
                            generateVehicles = 1;
                        }
                    }
                    else if (vehicleWeight)
                    {
                        while (RandomNum >= P.CummulitiveDistributionFunction(generateVehicles) * 1000)
                        {
                            generateVehicles++;
                        }
                    }

                    if (generateVehicles > 0)
                    {
                        if (Simulator.TESTMODE)
                            Simulator.UI.AddMessage("System", "Road : " + road.roadID + " Generate " + generateVehicles + " Vehicles");

                        CreateVehicle(road, generateVehicles);
                    }
                }
            }
        }