示例#1
0
        public static void WriteOutHousingExteriorModels(ARealmReversed realm)
        {
            string inpath = FFXIVHSPaths.GetHousingExteriorJson();

            if (!File.Exists(inpath))
            {
                throw new FileNotFoundException();
            }

            string outpath = FFXIVHSPaths.GetHousingExteriorObjectsDirectory();

            string jsonText = File.ReadAllText(inpath);

            Dictionary <int, HousingExteriorFixture> fixtures =
                JsonConvert.DeserializeObject <Dictionary <int, HousingExteriorFixture> >(jsonText);

            foreach (HousingExteriorFixture fixture in fixtures.Values)
            {
                foreach (HousingExteriorFixtureVariant variant in fixture.variants)
                {
                    foreach (HousingExteriorFixtureModel model in variant.models)
                    {
                        if (realm.Packs.TryGetFile(model.modelPath, out SaintCoinach.IO.File f))
                        {
                            ObjectFileWriter.WriteObjectFile(outpath, (ModelFile)f);
                        }
                    }
                }
            }
        }
示例#2
0
        public static void WriteOutHousingExteriorInfo(ARealmReversed realm)
        {
            string outpath = FFXIVHSPaths.GetHousingExteriorJson();

            if (File.Exists(outpath))
            {
                WriteOutHousingExteriorModels(realm);
                return;
            }

            Dictionary <int, HousingExteriorFixture> fixtures = ReadHousingExteriorSheet(realm);

            AddDefaultFences(realm, ref fixtures);

            string json = JsonConvert.SerializeObject(fixtures, Formatting.Indented);

            File.WriteAllText(outpath, json);
        }
示例#3
0
    private static void LoadExteriorFixtures()
    {
        string jsonText = File.ReadAllText(FFXIVHSPaths.GetHousingExteriorJson());

        _exteriorFixtures = JsonConvert.DeserializeObject <Dictionary <int, HousingExteriorFixture> >(jsonText);
    }