/// <summary> /// Метод обработчика событий /// </summary> /// <param name="args"></param> private void TankEventHandler(TankEventArgs args) { Thread thread = new Thread(() => { using (var writer = Console.Out) { if (Log != null) { Log(writer, tank, args); } } }); thread.Start(); }
/// <summary> /// Метод обработчика событий /// </summary> /// <param name="args"></param> private void TankEventHandler(TankEventArgs args) { Thread thread = new Thread(() => { using (var writer = File.AppendText(filePath)) { if (Log != null) { Log(writer, tank, args); } } }); thread.Start(); }
/// <summary> /// Метод печати лога /// </summary> /// <param name="writer"></param> /// <param name="tank"></param> /// <param name="args"></param> public static void LogOnLog(TextWriter writer, ITank <IComponent> tank, TankEventArgs args) { string message = ""; switch (args.type) { case EventType.Move: message = "Танк " + tank.name + " движется"; break; case EventType.Destroy: message = "Танк " + tank.name + " уничтожен"; break; case EventType.Shot: message = "Танк " + tank.name + " стреляет по " + (args as TankShotEventArgs).target.name; break; } writer.WriteLine(DateTime.Now.ToString("HH:mm:ss") + " " + message); }