public CarSettingsWindow(CarEntity source)
            : this()
        {
            Car = source;

            if (!string.IsNullOrEmpty(Car.DisplayName))
            {
                Title = String.Format("Редактирование {0} ({1})", Car.DisplayName, Car.Name);
            }
            else
            {
                Title = String.Format("Редактирование ({0})", Car.Name);
            }
        }
Example #2
0
 private void TrackCarChanges(CarEntity car)
 {
     car.PropertyChanged += (s, a) => _worklog.EditCar(car);
 }
Example #3
0
        public static CarEntity FromXml(XElement carNode, bool trackChanges = true)
        {
            var currentCar = new CarEntity()
            {
                Name = carNode.Attribute("Name").Value,
                DisplayName = carNode.Element("DisplayName").Value,
                ABS = carNode.Attribute("ABS") != null ? bool.Parse(carNode.Attribute("ABS").Value) : false,
                AT = carNode.Attribute("AT") != null ? bool.Parse(carNode.Attribute("AT").Value) : false,
                Description = carNode.Element("Description") != null ? carNode.Element("Description").Value : string.Empty,
                Author = carNode.Element("Author") != null ? carNode.Element("Author").Value : "Неизвестен",
                IsIngame = carNode.Name.LocalName == "Car" ? true : false,
                Version = CarVersion.Unknown
            };

            //determine version
            try
            {
                var targetDir = Path.Combine(App.Current.Properties["GamePath"].ToString(), @"data\physics\cars\", currentCar.Name);
                var settings = Directory.GetFiles(targetDir, "*.ini");

                foreach (var file in settings)
                {
                    var text = File.ReadAllText(file);
                    if (text.Contains("PhysicsFilenames"))
                    {
                        currentCar.Version = CarVersion.Ver227;
                        break;
                    }
                    if (text.Contains("PhysicsFiles"))
                    {
                        currentCar.Version = CarVersion.Ver228;
                        break;
                    }
                }
            }
            catch
            {
                //don't give a f**k
            }

            return currentCar;
        }
Example #4
0
 public void EditCar(CarEntity car)
 {
     _worklog.EditCar(car);
 }