public override async Task <bool> InvokeAsync(string paramList) { const string CsvFileFormat = "collision/{0}.pcb"; var c = 0; var allMaps = _Realm.GameData.GetSheet <SaintCoinach.Xiv.TerritoryType>().Where(i => i.PlaceName.ToString().Contains("The Palace of the Dead")).GroupBy(i => i.Bg).Select(i => i.First()); foreach (var map in allMaps) { var territory = new Graphics.Territory(map); //if (territory.Collision == null) continue; OutputInformation(territory.Name); var target = new FileInfo(Path.Combine(_Realm.GameVersion, string.Format(CsvFileFormat, map.Key))); if (!target.Directory.Exists) { target.Directory.Create(); } //System.IO.File.WriteAllBytes(target.FullName, territory.Collision.GetData()); c++; } OutputInformation("{0} collisions saved", c); return(true); }
public Graphics.Territory GetTerritory() { if (TerritoryType == null || TerritoryType.Key == 0) { return(null); } Graphics.Territory t = new Graphics.Territory(this.TerritoryType); if (t.Terrain == null && t.LgbFiles.Length == 0) { return(null); } return(t); }
public override async Task <bool> InvokeAsync(string paramList) { var c = 1; var allMaps = _Realm.GameData.GetSheet <SaintCoinach.Xiv.TerritoryType>().Where(i => i.PlaceName.ToString().Contains("Heaven-on-High")).GroupBy(i => i.Bg).Select(i => i.First()); //var allMaps = _Realm.GameData.GetSheet<SaintCoinach.Xiv.TerritoryType>().Where(i => i.PlaceName.ToString().Contains("The Palace of the Dead")).GroupBy(i => i.Bg).Select(i => i.First()); const string FilePath = @".\maps\"; if (!Directory.Exists(FilePath)) { Directory.CreateDirectory(FilePath); } try { foreach (var map in allMaps) { var territory = new Graphics.Territory(map); OutputInformation(territory.Name); //var _LgbPartsContainer = new ComponentContainer(); if (territory.Collider != null) { OutputInformation("PCB FILE FOUND"); } var fp = Path.Combine(FilePath, $"{territory.Name}."); if (!Directory.Exists(FilePath)) { Directory.CreateDirectory(FilePath); } await DumpMap(fp + "obj", territory); c++; } } catch (Exception ex) { OutputError(ex.ToString()); } OutputInformation("{0} maps saved", c); return(true); }
public Graphics.Territory GetTerritory() { if (TerritoryType == null || TerritoryType.Key == 0) return null; var t = new Graphics.Territory(this.TerritoryType); if (t.Terrain == null && t.LgbFiles.Length == 0) return null; return t; }