void StreamTactic(IO.XmlElementStream s, Phx.BTacticData tactic) { if (s.IsReading && IsNotPreloading) { FixTacticsXml(s, tactic.Name); } tactic.Serialize(s); }
void PreloadTactics() { if (Database.Tactics.Count > 0) { return; } foreach (string tactic_filename in GameEngine.Directories.GetFiles(Engine.ContentStorage.Game, Engine.GameDirectory.Tactics, "*" + Phx.BTacticData.kFileExt)) { string tactic_name = System.IO.Path.GetFileNameWithoutExtension(tactic_filename); var td = new Phx.BTacticData(); td.SourceFileName = tactic_filename; Database.Tactics.DynamicAdd(td, tactic_name); } foreach (string tactic_filename in GameEngine.Directories.GetFiles(Engine.ContentStorage.Game, Engine.GameDirectory.Tactics, "*" + Phx.BTacticData.kFileExt + Xmb.XmbFile.kFileExt)) { // get rid of .xmb, then .tactics string tactic_name = System.IO.Path.GetFileNameWithoutExtension(tactic_filename); tactic_name = System.IO.Path.GetFileNameWithoutExtension(tactic_name); if (Database.Tactics.TryGetId(tactic_name).IsNotNone()) { continue; } var td = new Phx.BTacticData(); td.SourceFileName = tactic_filename; td.SourceXmlFileIsXmb = true; Database.Tactics.DynamicAdd(td, tactic_name); } }