static void Main(string[] args) { var listIntellect = new List <TeamIntellectList>(); if (args.Length == 0) { Console.WriteLine("Usage:"); Console.WriteLine("{0} [i-th.dll]", Assembly.GetExecutingAssembly().GetName().Name); return; } foreach (var s in args) { var t = new TeamIntellectList(); t.TeamId = Guid.NewGuid(); var i = ParseIntellect(s); if (i == null) { continue; } t.Members.Add(i); listIntellect.Add(t); } var outFileName = String.Format("replay_{0}.out", DateTime.Now.ToString("yyyy.MM.dd_HH.mm.ss")); var fs = new FileStream(outFileName, FileMode.CreateNew); var computer = new Computer(listIntellect); var sw = new Stopwatch(); Console.WriteLine("Game started: {0}", listIntellect.Count); sw.Start(); var res = computer.Compute(); SerializationHelper.Serialize(res, fs); sw.Stop(); fs.Close(); Console.WriteLine("Done: {0}.", sw.Elapsed); Console.ReadKey(); #if true var list = SerializationHelper.Deserialize(outFileName); #endif }
private static List <TeamIntellectList> GetIntellects(Message msg) { var listIntellect = new List <TeamIntellectList>(); foreach (var team in msg.TeamList) { var teamIntellectList = new TeamIntellectList { TeamId = team.TeamId, Members = new List <Type>() }; foreach (var intellectId in team.Members) { var dll = Warehouse.DownloadIntellect(intellectId); teamIntellectList.Members.Add(ParseIntellect(dll)); } listIntellect.Add(teamIntellectList); } return(listIntellect); }