public void ParseLocalData()
        {                                           // extract data from local FFXIV installation
            int itemCount = 0;
            var realm = new SaintCoinach.ARealmReversed(gameDir, SaintCoinach.Ex.Language.English);
            if (!realm.IsCurrentVersion)
            {
                const bool IncludeDataChanges = true;
                var updateReport = realm.Update(IncludeDataChanges);
                Console.WriteLine(updateReport.Changes.Count + " files updated.");
                if (File.Exists(dataBuilt))
                {
                    File.Delete(dataBuilt);
                }
            }

            //// DELETE THIS BEFORE PRODUCTION
            if (File.Exists(dataBuilt))          
            {
                File.Delete(dataBuilt);
            }   //// DELETE THIS BEFORE PRODUCTION

            if (!File.Exists(dataBuilt))
            {
                CreateOrEmptyDirectories();
                List<string> itemData = new List<string>();
                itemCount = realm.GameData.GetSheet<SaintCoinach.Xiv.Item>().Count;
                var itemList = realm.GameData.GetSheet<SaintCoinach.Xiv.Item>();

                //for (int ix = 1; ix <= 10; ix++)
                foreach (var item in itemList)
                {
                    string itemName = item.Name;
                    itemName = RemovePathUnfriendlyCharacters(itemName);
                    string path = itemPath + itemName + itemExt;
                    //string path = itemPath + item.Name + itemExt;
                    if (!File.Exists(path))
                    {
                        CreateEntry(File.CreateText(path), item);
                    }
                }
                File.Create(dataBuilt);
            }
        }
Beispiel #2
0
        public MainWindow()
        {
            InitializeComponent();

            realm = new ARealmReversed(FFXIVHSPaths.GetGameDirectory(), SaintCoinach.Ex.Language.English);

            if (!realm.IsCurrentVersion)
            {
                /*
                 * MessageBox.Show("Game ver: " + realm.GameVersion + Environment.NewLine +
                 *              "Def ver: " + realm.DefinitionVersion + Environment.NewLine +
                 *              "Updating...");
                 * //realm.Update(true);
                 * realm.Update(false);
                 */
            }

            TerritoryType[] territoryTypes = realm.GameData.GetSheet <TerritoryType>().ToArray();

            foreach (TerritoryType t in territoryTypes)
            {
                if (!String.IsNullOrEmpty(t.PlaceName.ToString()))
                {
                    byte intendedUse = (byte)t.GetRaw("TerritoryIntendedUse");

                    //Housing intended use column value is 13
                    //if (intendedUse == 13)// || intendedUse == 16 || intendedUse == 17)
                    {
                        relevantTerritories.Add(t);
                    }
                    //else if (intendedUse == 14)
                    {
                        //if (t.PlaceName.ToString().Contains("Private") || t.PlaceName.ToString().Contains("Apartment"))
                        //    relevantTerritories.Add(t);
                    }
                }
            }
            amountLabel.Content = (String)amountLabel.Content + relevantTerritories.Count;

            placeBox.ItemsSource       = relevantTerritories;
            placeBox.DisplayMemberPath = "PlaceName";
            placeBox.SelectedValuePath = ".";
        }
 public AllExdCommand(ARealmReversed realm)
     : base("allexd", "Export all data (default), or only specific data files, seperated by spaces; including all languages.") {
     _Realm = realm;
 }