using System; using System.IO; ///

/// Used to redirect IronPython output to the Unity debug console. /// public class UnityLogWriter : StreamWriter { private readonly Action logger; private string buffer = ""; public UnityLogWriter(Action logger, Stream s) : base(s) { if (logger == null) { throw new ArgumentNullException("logger"); } this.logger = logger; } public override void Write(string value) { base.Write(value); buffer += value; var lines = buffer.Split('\n'); for (var i = 0; i < lines.Length; ++i) { if (i == lines.Length - 1) { buffer = lines[i]; } else { logger(lines[i]); } } } }