/// <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();
        }
Beispiel #2
0
        /// <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();
        }
Beispiel #3
0
        /// <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);
        }