示例#1
0
        public void Test_DownGt2Gt1Calib()
        {
            CalibrationConfig calib = new CalibrationConfig()
            {
                LeftHeightCalibGtPos = new PosXYZ(0, 0, 96.99),

                LeftHeightCalibGt1Pos = new PosXYZ(0, 0, 0),
                LeftHeightCalibGt2Pos = new PosXYZ(0, 0, 0),

                LeftHeightStandard = new PosXYZ(0, 0, 70.5),
            };


            List <PosXYZ> cpuPos = new List <PosXYZ>()
            {
                new PosXYZ(62.69, -64.8, 0.987),
                new PosXYZ(62.69, -96.8, 1.060),
                new PosXYZ(94.69, -96.8, 1.108),
                new PosXYZ(94.69, -64.8, 1.009),
                new PosXYZ(78.69, -80.8, 1.058),
            };


            List <PosXYZ> pins = new List <PosXYZ>()
            {
                new PosXYZ(46.69, -48.8, 2.117),
                new PosXYZ(46.69, -112.8, 2.131),
                new PosXYZ(110.69, -112.8, 2.179),
                new PosXYZ(110.69, -48.8, 2.051),
            };

            var plane = PlaneFitHelper.FitPlane(cpuPos.Select(p => p.X).ToArray(), cpuPos.Select(p => p.Y).ToArray(), cpuPos.Select(p => p.Z).ToArray());
        }
        private void StartCalibration(CalibrationConfig config)
        {
            var libraPath = System.IO.Path.Combine(Config.SupplementalPath, "app_data.sqlite");
            var realm     = new SaintCoinach.ARealmReversed(Config.GamePath, "SaintCoinach.History.zip", SaintCoinach.Ex.Language.English, libraPath);

            DatabaseBuilder.PrintLine($"Game version: {realm.GameVersion}");
            DatabaseBuilder.PrintLine($"Definition version: {realm.DefinitionVersion}");
            var processing = Stopwatch.StartNew();

            ItemIconCalibrator itemIconCalibrator = new ItemIconCalibrator(config, realm);

            itemIconCalibrator.Calibrate();

            processing.Stop();
            DatabaseBuilder.PrintLine($"Processing elapsed: {processing.Elapsed}");
        }
        private void StartCalibration_Click(object sender, RoutedEventArgs e)
        {
            CalibrationConfig config = GatherConfig();

            Task.Run(() =>
            {
                try
                {
                    StartCalibration(config);
                }
                catch (Exception ex)
                {
                    DatabaseBuilder.PrintLine($"Unhandled exception {ex}");
                }
            });
            this.Close();
        }
 public ItemIconCalibrator(CalibrationConfig config, SaintCoinach.ARealmReversed realm)
 {
     _config = config;
     _realm  = realm;
 }