Files

23 lines
920 B
C#

#nullable enable
using System.Collections.Generic;
using ShrinkShared.CodeGen;
using Unity.CompilationPipeline.Common.Diagnostics;
using Unity.CompilationPipeline.Common.ILPostProcessing;
namespace ShrinkNetwork.Integration.CodeGen
{
public sealed class NetworkEventILPostProcessor : ILPostProcessor
{
public override ILPostProcessor GetInstance() => this;
public override bool WillProcess(ICompiledAssembly compiledAssembly) =>
UnityShrinkCodeGenAdapter.ReferencesAny(compiledAssembly, "ShrinkNetwork.Integration.EventBus");
public override ILPostProcessResult Process(ICompiledAssembly compiledAssembly) =>
WillProcess(compiledAssembly)
? UnityShrinkCodeGenAdapter.Process(compiledAssembly, "ShrinkNetwork.EventBus.CodeGen")
: new ILPostProcessResult(compiledAssembly.InMemoryAssembly, new List<DiagnosticMessage>());
}
}