public override bool CheckProceduralPrecondition(GameObject _agent)
    {
        Carcass[] carcasses = FindObjectsOfType <Carcass>();
        Carcass   closest   = null;
        float     dist      = 0;

        foreach (Carcass a in carcasses)
        {
            if (a.isFound)
            {
                if (closest == null)
                {
                    closest = a;
                    dist    = Vector3.Distance(transform.position, a.transform.position);
                }
                else
                {
                    float dist2 = Vector3.Distance(transform.position, a.transform.position);
                    if (dist > dist2)
                    {
                        closest = a;
                        dist    = dist2;
                    }
                }
            }
        }
        if (closest != null)
        {
            targetCarcass = closest;
            target        = targetCarcass.gameObject;
        }

        //return closest != null;
        return(true);
    }
Esempio n. 2
0
 public void ConstructCar(Brand brand, string model, Carcass carcass, int priceCar, int maxSpeed, int fuelConsumption)
 {
     builder.CreateCar();
     builder.SetBrand(brand);
     builder.SetModel(model);
     builder.SetCarcas(carcass);
     builder.SetPriceCar(priceCar);
     builder.SetMaxSpeed(maxSpeed);
     builder.SetFuelConsumption(fuelConsumption);
     builder.AddAirConditioning();
     builder.AddHeatingSeats();
     builder.AddVentilationSeats();
     builder.AddZonalClimateControl();
 }
 public override void Reset()
 {
     harvested     = false;
     targetCarcass = null;
     startTime     = 0;
 }
Esempio n. 4
0
        /// <summary>
        /// Update information about car.
        /// </summary>
        /// <param name="carDTO">Updated car</param>
        public void UpdateCar(CarDTO carDTO)
        {
            try
            {
                var oldCar = RentUnitOfWork.Cars.Get(carDTO.Id);

                var propert = oldCar.Properties.ToList();
                foreach (var i in propert)
                {
                    RentUnitOfWork.Properties.Delete(i.Id);
                }

                var imag = oldCar.Images.ToList();
                foreach (var i in imag)
                {
                    RentUnitOfWork.Images.Delete(i.Id);
                }

                oldCar.Properties.Clear();
                oldCar.Images.Clear();
                RentUnitOfWork.Save();

                if (carDTO.Brand.Name != oldCar.Brand.Name)
                {
                    Brand brand = RentUnitOfWork.Brands.Find(x => x.Name == carDTO.Brand.Name).FirstOrDefault();
                    if (brand == null)
                    {
                        brand = new Brand()
                        {
                            Name = carDTO.Brand.Name.Trim().ToLower().Replace("  ", " ")
                        };
                    }
                    oldCar.Brand = brand;
                }

                if (carDTO.Carcass.Type != oldCar.Carcass.Type)
                {
                    Carcass carcass = RentUnitOfWork.Carcasses.Find(x => x.Type == carDTO.Carcass.Type).FirstOrDefault();
                    if (carcass == null)
                    {
                        carcass = new Carcass()
                        {
                            Type = carDTO.Carcass.Type.Trim().ToLower().Replace("  ", " ")
                        };
                    }
                    oldCar.Carcass = carcass;
                }

                oldCar.Carrying     = carDTO.Carrying;
                oldCar.DateOfCreate = oldCar.DateOfCreate;
                oldCar.Doors        = carDTO.Doors;
                oldCar.EngineVolume = carDTO.EngineVolume;
                oldCar.Fuel         = carDTO.Fuel.Trim().ToLower().Replace("  ", " ");
                oldCar.Hoursepower  = carDTO.Hoursepower;
                oldCar.Model        = carDTO.Model.Trim().ToLower().Replace("  ", " ");
                oldCar.Number       = carDTO.Number.Trim().ToUpper().Replace("  ", " ");
                oldCar.Price        = carDTO.Price;

                if (carDTO.Quality.Text != oldCar.Quality.Text)
                {
                    Quality quality = RentUnitOfWork.Qualities.Find(x => x.Text == carDTO.Quality.Text).FirstOrDefault();
                    if (quality == null)
                    {
                        quality = new Quality()
                        {
                            Text = carDTO.Quality.Text.Trim().ToLower().Replace("  ", " ")
                        };
                    }
                    oldCar.Quality = quality;
                }

                if (carDTO.Transmission.Category != oldCar.Transmission.Category ||
                    carDTO.Transmission.Count != oldCar.Transmission.Count)
                {
                    Transmission transmission = RentUnitOfWork.Transmissions
                                                .Find(x => carDTO.Transmission.Category == x.Category && carDTO.Transmission.Count == x.Count)
                                                .FirstOrDefault();
                    if (transmission == null)
                    {
                        transmission = new Transmission()
                        {
                            Count    = carDTO.Transmission.Count,
                            Category = carDTO.Transmission.Category.Trim().ToLower().Replace("  ", " ")
                        };
                    }
                    oldCar.Transmission = transmission;
                }
                oldCar.Кoominess = carDTO.Кoominess;

                List <Property> properties = new List <Property>();
                foreach (var i in carDTO.Properties)
                {
                    Property property = new Property()
                    {
                        Name = i.Name.Trim().ToLower().Replace("  ", " "),
                        Text = i.Text.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Properties.Create(property);
                    properties.Add(property);
                }

                oldCar.Properties = properties;

                List <Image> images = new List <Image>();
                foreach (var i in carDTO.Images)
                {
                    Image image = new Image()
                    {
                        Photo = i.Photo,
                        Text  = i.Text.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Images.Create(image);
                    images.Add(image);
                }

                oldCar.Images = images;

                RentUnitOfWork.Cars.Update(oldCar);
                RentUnitOfWork.Save();
            }
            catch (Exception e)
            {
                CreateLog(e, "AdminService", "UpdateCar");
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Create car.
        /// </summary>
        /// <param name="carDTO">New car</param>
        public void CreateCar(CarDTO carDTO)
        {
            try
            {
                Car car = RentMapperDTO.ToCar.Map <CarDTO, Car>(carDTO);
                car.Fuel   = car.Fuel.Trim().ToLower().Replace("  ", " ");
                car.Model  = car.Model.Trim().ToLower().Replace("  ", " ");
                car.Number = car.Number.Trim().ToUpper().Replace("  ", " ");

                Brand brand = RentUnitOfWork.Brands.Find(x => x.Name.ToLower()
                                                         .Replace(" ", "") == carDTO.Brand.Name.ToLower().Replace(" ", ""))?.FirstOrDefault();
                if (brand == null)
                {
                    brand = new Brand()
                    {
                        Name = carDTO.Brand.Name.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Brands.Create(brand);
                }

                car.Brand = brand;

                Transmission transmission = RentUnitOfWork.Transmissions.Find(x => x.Category.ToLower()
                                                                              .Replace(" ", "") == carDTO.Transmission.Category.ToLower().Replace(" ", "") &&
                                                                              x.Count == carDTO.Transmission.Count)?.FirstOrDefault();
                if (transmission == null)
                {
                    transmission = new Transmission()
                    {
                        Category = carDTO.Transmission.Category.Trim()
                                   .ToLower().Replace("  ", " "), Count = carDTO.Transmission.Count
                    };
                    RentUnitOfWork.Transmissions.Create(transmission);
                }

                car.Transmission = transmission;

                Carcass carcass = RentUnitOfWork.Carcasses.Find(x => x.Type.ToLower()
                                                                .Replace(" ", "") == carDTO.Carcass.Type.ToLower().Replace(" ", ""))?.FirstOrDefault();
                if (carcass == null)
                {
                    carcass = new Carcass()
                    {
                        Type = carDTO.Carcass.Type.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Carcasses.Create(carcass);
                }

                car.Carcass = carcass;

                Quality quality = RentUnitOfWork.Qualities.Find(x => x.Text.ToLower()
                                                                .Replace(" ", "") == carDTO.Quality.Text.ToLower().Replace(" ", ""))?.FirstOrDefault();
                if (quality == null)
                {
                    quality = new Quality()
                    {
                        Text = carDTO.Quality.Text.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Qualities.Create(quality);
                }

                car.Quality = quality;

                List <Property> properties = new List <Property>();
                foreach (var i in carDTO.Properties)
                {
                    Property property = new Property()
                    {
                        Name = i.Name.Trim().ToLower()
                               .Replace("  ", " "), Text = i.Text.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Properties.Create(property);
                    properties.Add(property);
                }

                car.Properties = properties;

                List <Image> images = new List <Image>();
                foreach (var i in carDTO.Images)
                {
                    Image image = new Image()
                    {
                        Photo = i.Photo, Text = i.Text.Trim().ToLower().Replace("  ", " ")
                    };
                    RentUnitOfWork.Images.Create(image);
                    images.Add(image);
                }

                car.Images = images;

                RentUnitOfWork.Cars.Create(car);
                RentUnitOfWork.Save();
            }
            catch (Exception e)
            {
                CreateLog(e, "AdminService", "CreateCar");
            }
        }
Esempio n. 6
0
 public void SetCarcas(Carcass carcass)
 {
     vipCar.Carcass = carcass;
 }
 public void SetCarcas(Carcass carcass)
 {
     comfortableEquipmentCar.Carcass = carcass;
 }
 public void SetCarcas(Carcass carcass)
 {
     basicEquipmentCar.Carcass = carcass;
 }