using System;
using System.IO;
using VRage.Plugins;
namespace FixturePlugins
{
public sealed class Plugin : IHandleInputPlugin
{
#if FAIL_INIT
private const string Name = "fails-init";
#elif FAIL_UPDATE
private const string Name = "fails-update";
#elif FAIL_DISPOSE
private const string Name = "fails-dispose";
#elif FAIL_INPUT
private const string Name = "fails-input";
#elif DISABLED
private const string Name = "disabled";
#elif HEALTHY_SECOND
private const string Name = "healthy-second";
#else
private const string Name = "healthy-first";
#endif
private static void Journal(string operation)
{
File.AppendAllText(Environment.GetEnvironmentVariable("XFE_FIXTURE_JOURNAL"), Name + ":" + operation + Environment.NewLine);
}
public void Init(object gameInstance)
{
Journal("init:" + gameInstance.GetType().Name);
Journal(FixtureDependency.Probe.Value);
#if FAIL_INIT
throw new InvalidOperationException("fixture init failure");
#endif
}
public void Update()
{
Journal("update");
#if FAIL_UPDATE
throw new InvalidOperationException("fixture update failure");
#endif
}
public void HandleInput()
{
Journal("input");
#if FAIL_INPUT
throw new InvalidOperationException("fixture input failure");
#endif
}
public void Dispose()
{
Journal("dispose");
#if FAIL_DISPOSE
throw new InvalidOperationException("fixture dispose failure");
#endif
}
}
}
using System;
using System.IO;
using VRage.Plugins;
namespace FixturePlugins
{
public sealed class Plugin : IHandleInputPlugin
{
#if FAIL_INIT
private const string Name = "fails-init";
#elif FAIL_UPDATE
private const string Name = "fails-update";
#elif FAIL_DISPOSE
private const string Name = "fails-dispose";
#elif FAIL_INPUT
private const string Name = "fails-input";
#elif DISABLED
private const string Name = "disabled";
#elif HEALTHY_SECOND
private const string Name = "healthy-second";
#else
private const string Name = "healthy-first";
#endif
private static void Journal(string operation)
{
File.AppendAllText(Environment.GetEnvironmentVariable("XFE_FIXTURE_JOURNAL"), Name + ":" + operation + Environment.NewLine);
}
public void Init(object gameInstance)
{
Journal("init:" + gameInstance.GetType().Name);
Journal(FixtureDependency.Probe.Value);
#if FAIL_INIT
throw new InvalidOperationException("fixture init failure");
#endif
}
public void Update()
{
Journal("update");
#if FAIL_UPDATE
throw new InvalidOperationException("fixture update failure");
#endif
}
public void HandleInput()
{
Journal("input");
#if FAIL_INPUT
throw new InvalidOperationException("fixture input failure");
#endif
}
public void Dispose()
{
Journal("dispose");
#if FAIL_DISPOSE
throw new InvalidOperationException("fixture dispose failure");
#endif
}
}
}