示例#1
0
 void IDataFile.Initialize(IDataReadWrapper data, string name, string filename)
 {
     Data     = data;
     Name     = name;
     Filename = filename;
     Load();
 }
示例#2
0
 public static CarDescription FromKn5(IKn5 kn5, string carDirectory, IDataReadWrapper data = null)
 {
     return(new CarDescription(kn5.OriginalFilename ?? "", carDirectory, data)
     {
         _kn5Loaded = kn5
     });
 }
示例#3
0
            public static SuspensionsPack Create([NotNull] IDataReadWrapper data)
            {
                var suspensions   = data.GetIniFile("suspensions.ini");
                var car           = data.GetIniFile("car.ini");
                var carBasic      = car["BASIC"];
                var graphicOffset = Matrix.Translation(-carBasic.GetSlimVector3("GRAPHICS_OFFSET")) *
                                    Matrix.RotationX(-carBasic.GetFloat("GRAPHICS_OFFSET", 0f));

                var tyres = data.GetIniFile("tyres.ini");

                return(new SuspensionsPack(
                           SuspensionsGroupBase.Create(suspensions, true, tyres["FRONT"].GetFloat("RADIUS", 0f)),
                           SuspensionsGroupBase.Create(suspensions, false, tyres["REAR"].GetFloat("RADIUS", 0f)), graphicOffset));
            }
示例#4
0
文件: AcPaths.cs 项目: tankyx/actools
        public static string GetMainCarFilename([NotNull] string carDir, [CanBeNull] IDataReadWrapper data, bool considerHr)
        {
            var iniFile = (data ?? DataWrapper.FromCarDirectory(carDir)).GetIniFile("lods.ini");

            if (!iniFile.IsEmptyOrDamaged())
            {
                var file = (considerHr ? iniFile["LOD_HR"].GetNonEmpty("FILE") : null) ?? iniFile["LOD_0"].GetNonEmpty("FILE");
                if (file != null)
                {
                    return(Path.Combine(carDir, file));
                }
            }

            return(Directory.GetFiles(carDir, "*.kn5").MaxEntryOrDefault(x => new FileInfo(x).Length));
        }
示例#5
0
 public IniFileSection([CanBeNull] IDataReadWrapper wrapper)
 {
     _wrapper = wrapper;
 }
示例#6
0
 public IniFileSection([CanBeNull] IDataReadWrapper wrapper, IniFileSection original) : base(original)
 {
     _wrapper     = wrapper;
     Commentary   = original.Commentary;
     Commentaries = original.Commentaries == null ? null : new Dictionary <string, string>(original.Commentaries);
 }
示例#7
0
 public static CarDescription FromDirectory(string carDirectory, IDataReadWrapper data)
 {
     return(new CarDescription(AcPaths.GetMainCarFilename(carDirectory, data, true) ?? "", carDirectory, data));
 }
示例#8
0
 public CarDescription([NotNull] string mainModelFilename, string carDirectory = null, IDataReadWrapper data = null)
 {
     MainModelFilename = mainModelFilename;
     _carDirectory     = carDirectory;
     Data = data;
 }
示例#9
0
 public CarData([NotNull] IDataReadWrapper data)
 {
     _data        = data;
     CarDirectory = (data as IDataWrapper)?.Location;
 }
示例#10
0
 public CarData([NotNull] string carDirectory)
 {
     _data        = DataWrapper.FromCarDirectory(carDirectory);
     CarDirectory = carDirectory;
 }
示例#11
0
 public static IniFile GetIniFile([NotNull] this IDataReadWrapper data, [NotNull] string name)
 {
     return(data.GetFile <IniFile>(name));
 }
示例#12
0
 public static RawDataFile GetRawFile([NotNull] this IDataReadWrapper data, [NotNull] string name)
 {
     return(data.GetFile <RawDataFile>(name));
 }