Example #1
0
 private void manageEvent()
 {
     if (EvenObject is Rain)
     {
     }
     if (EvenObject is Fire)
     {
         int       ambulanceStreet;
         Ambulance amb = new Ambulance();
         ambulanceStreet = amb.search();
         Vehicle ambulance = new Vehicle(MapClass.Streets[ambulanceStreet].GetStartPoint(), amb);
         ambulance.navigation(MapClass.Streets[ambulanceStreet].GetStartPoint(), this.EvenObject.Point); //sina will add
         ambulance.movement();
     }
 }
Example #2
0
    // Update is called once per frame
    void Update()
    {
        Point destPoint;

        for (int i = 0; i < Vehicles.Count; i++)
        {
            if (Vehicles[i].NavIsfinish)
            {
                Vehicles[i].NavIsfinish = false;
                destPoint = randomPointGenerator();
                if (Vehicles[i].Car.transform.position.x == destPoint.X && Vehicles[i].Car.transform.position.y == destPoint.Y)
                {
                    Vehicles[i].NavIsfinish = true;
                    continue;
                }

                Vehicles[i].navigation(new Point((int)Vehicles[i].Car.transform.position.x, (int)Vehicles[i].Car.transform.position.y)
                                       , destPoint);
                Vehicles[i].movement(Vehicles[i].Route);
            }
        }

        if (isEventOccured || isTrafficChanged)
        {
            // when accident happens
            if (isEventOccured)
            {
                int       ambulanceStreet;
                Ambulance amb = new Ambulance();
                ambulanceStreet = amb.search();
                Vehicle ambulance = new Vehicle(MapClass.Streets[ambulanceStreet].GetStartPoint(), amb);
                isEventOccured = false;
            }

            //when traffic is changed
            if (isTrafficChanged)
            {
                isTrafficChanged = false;
            }
        }
    }