using System; using System.CodeDom.Compiler; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; using AOT; using Drawing; using Drawing.Text; using Microsoft.CodeAnalysis; using Unity.Burst; using Unity.Burst.CompilerServices; using Unity.Burst.Intrinsics; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; using Unity.Jobs.LowLevel.Unsafe; using Unity.Mathematics; using Unity.Profiling; using UnityEngine; using UnityEngine.Rendering; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: StaticTypeReinit(typeof(CommandBuilder.JobWireMesh.WireMesh_000000FE$BurstDirectCall))] [assembly: StaticTypeReinit(typeof(CommandBuilder.JobWireMesh.Execute_000000FF$BurstDirectCall))] [assembly: StaticTypeReinit(typeof(DrawingData.BuilderData.AnyBuffersWrittenTo_000002F4$BurstDirectCall))] [assembly: StaticTypeReinit(typeof(DrawingData.BuilderData.ResetAllBuffers_000002F5$BurstDirectCall))] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Embedded] internal sealed class IsUnmanagedAttribute : Attribute { } } [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { return new MonoScriptData { FilePathsData = new byte[728] { 0, 0, 0, 22, 0, 0, 0, 40, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 42, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 50, 68, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 52, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 50, 68, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 50, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 69, 120, 116, 101, 110, 115, 105, 111, 110, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 30, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 68, 114, 97, 119, 46, 99, 115, 0, 0, 0, 19, 0, 0, 0, 37, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 40, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 68, 114, 97, 119, 105, 110, 103, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 2, 0, 0, 0, 41, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 68, 114, 97, 119, 105, 110, 103, 83, 101, 116, 116, 105, 110, 103, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 42, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 68, 114, 97, 119, 105, 110, 103, 85, 116, 105, 108, 105, 116, 105, 101, 115, 46, 99, 115, 0, 0, 0, 6, 0, 0, 0, 41, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 71, 101, 111, 109, 101, 116, 114, 121, 66, 117, 105, 108, 100, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 45, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 71, 105, 122, 109, 111, 115, 46, 99, 115, 0, 0, 0, 5, 0, 0, 0, 33, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 80, 97, 108, 101, 116, 116, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 42, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 80, 101, 114, 115, 105, 115, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 46, 99, 115, 0, 0, 0, 4, 0, 0, 0, 33, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 83, 68, 70, 70, 111, 110, 116, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 40, 92, 65, 115, 115, 101, 116, 115, 92, 69, 120, 116, 101, 114, 110, 97, 108, 92, 65, 76, 73, 78, 69, 92, 83, 116, 114, 101, 97, 109, 83, 112, 108, 105, 116, 116, 101, 114, 46, 99, 115 }, TypesData = new byte[2124] { 0, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 124, 76, 97, 98, 101, 108, 65, 108, 105, 103, 110, 109, 101, 110, 116, 0, 0, 0, 0, 30, 68, 114, 97, 119, 105, 110, 103, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 83, 97, 109, 112, 108, 101, 114, 115, 1, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 0, 0, 0, 0, 21, 68, 114, 97, 119, 105, 110, 103, 46, 124, 84, 114, 105, 97, 110, 103, 108, 101, 68, 97, 116, 97, 0, 0, 0, 0, 17, 68, 114, 97, 119, 105, 110, 103, 46, 124, 76, 105, 110, 101, 68, 97, 116, 97, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 76, 105, 110, 101, 68, 97, 116, 97, 86, 51, 0, 0, 0, 0, 21, 68, 114, 97, 119, 105, 110, 103, 46, 124, 67, 105, 114, 99, 108, 101, 88, 90, 68, 97, 116, 97, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 67, 105, 114, 99, 108, 101, 68, 97, 116, 97, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 112, 104, 101, 114, 101, 68, 97, 116, 97, 0, 0, 0, 0, 16, 68, 114, 97, 119, 105, 110, 103, 46, 124, 66, 111, 120, 68, 97, 116, 97, 0, 0, 0, 0, 18, 68, 114, 97, 119, 105, 110, 103, 46, 124, 80, 108, 97, 110, 101, 68, 97, 116, 97, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 46, 124, 80, 101, 114, 115, 105, 115, 116, 68, 97, 116, 97, 0, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 46, 124, 76, 105, 110, 101, 87, 105, 100, 116, 104, 68, 97, 116, 97, 0, 0, 0, 0, 17, 68, 114, 97, 119, 105, 110, 103, 46, 124, 84, 101, 120, 116, 68, 97, 116, 97, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 84, 101, 120, 116, 68, 97, 116, 97, 51, 68, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 99, 111, 112, 101, 77, 97, 116, 114, 105, 120, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 99, 111, 112, 101, 67, 111, 108, 111, 114, 0, 0, 0, 0, 21, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 99, 111, 112, 101, 80, 101, 114, 115, 105, 115, 116, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 99, 111, 112, 101, 69, 109, 112, 116, 121, 0, 0, 0, 0, 23, 68, 114, 97, 119, 105, 110, 103, 46, 124, 83, 99, 111, 112, 101, 76, 105, 110, 101, 87, 105, 100, 116, 104, 0, 0, 0, 0, 27, 68, 114, 97, 119, 105, 110, 103, 46, 124, 80, 111, 108, 121, 108, 105, 110, 101, 87, 105, 116, 104, 83, 121, 109, 98, 111, 108, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 46, 124, 74, 111, 98, 87, 105, 114, 101, 77, 101, 115, 104, 1, 0, 0, 0, 24, 68, 114, 97, 119, 105, 110, 103, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 50, 68, 1, 0, 0, 0, 24, 68, 114, 97, 119, 105, 110, 103, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 50, 68, 1, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 105, 108, 100, 101, 114, 0, 0, 0, 0, 12, 68, 114, 97, 119, 105, 110, 103, 124, 68, 114, 97, 119, 0, 0, 0, 0, 25, 68, 114, 97, 119, 105, 110, 103, 124, 83, 104, 97, 114, 101, 100, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 0, 0, 0, 0, 38, 68, 114, 97, 119, 105, 110, 103, 46, 83, 104, 97, 114, 101, 100, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 66, 117, 114, 115, 116, 84, 105, 109, 101, 75, 101, 121, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 124, 82, 101, 100, 114, 97, 119, 83, 99, 111, 112, 101, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 124, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 0, 0, 0, 0, 26, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 72, 97, 115, 104, 101, 114, 0, 0, 0, 0, 40, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 80, 114, 111, 99, 101, 115, 115, 101, 100, 66, 117, 105, 108, 100, 101, 114, 68, 97, 116, 97, 0, 0, 0, 0, 34, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 43, 124, 67, 97, 112, 116, 117, 114, 101, 100, 83, 116, 97, 116, 101, 0, 0, 0, 0, 32, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 43, 124, 77, 101, 115, 104, 66, 117, 102, 102, 101, 114, 115, 0, 0, 0, 0, 33, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 83, 117, 98, 109, 105, 116, 116, 101, 100, 77, 101, 115, 104, 0, 0, 0, 0, 31, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 66, 117, 105, 108, 100, 101, 114, 68, 97, 116, 97, 0, 0, 0, 0, 25, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 43, 124, 77, 101, 116, 97, 0, 0, 0, 0, 34, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 43, 124, 66, 105, 116, 80, 97, 99, 107, 101, 100, 77, 101, 116, 97, 0, 0, 0, 0, 40, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 66, 117, 105, 108, 100, 101, 114, 68, 97, 116, 97, 67, 111, 110, 116, 97, 105, 110, 101, 114, 0, 0, 0, 0, 49, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 80, 114, 111, 99, 101, 115, 115, 101, 100, 66, 117, 105, 108, 100, 101, 114, 68, 97, 116, 97, 67, 111, 110, 116, 97, 105, 110, 101, 114, 0, 0, 0, 0, 32, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 77, 101, 115, 104, 87, 105, 116, 104, 84, 121, 112, 101, 0, 0, 0, 0, 40, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 82, 101, 110, 100, 101, 114, 101, 100, 77, 101, 115, 104, 87, 105, 116, 104, 84, 121, 112, 101, 0, 0, 0, 0, 25, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 82, 97, 110, 103, 101, 0, 0, 0, 0, 45, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 77, 101, 115, 104, 67, 111, 109, 112, 97, 114, 101, 66, 121, 68, 114, 97, 119, 105, 110, 103, 79, 114, 100, 101, 114, 0, 0, 0, 0, 40, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 68, 97, 116, 97, 124, 67, 111, 109, 109, 97, 110, 100, 66, 117, 102, 102, 101, 114, 87, 114, 97, 112, 112, 101, 114, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 124, 71, 105, 122, 109, 111, 67, 111, 110, 116, 101, 120, 116, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 124, 73, 68, 114, 97, 119, 71, 105, 122, 109, 111, 115, 0, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 124, 68, 114, 97, 119, 105, 110, 103, 77, 97, 110, 97, 103, 101, 114, 0, 0, 0, 0, 39, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 77, 97, 110, 97, 103, 101, 114, 124, 71, 105, 122, 109, 111, 68, 114, 97, 119, 101, 114, 71, 114, 111, 117, 112, 0, 0, 0, 0, 23, 68, 114, 97, 119, 105, 110, 103, 124, 68, 114, 97, 119, 105, 110, 103, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 32, 68, 114, 97, 119, 105, 110, 103, 46, 68, 114, 97, 119, 105, 110, 103, 83, 101, 116, 116, 105, 110, 103, 115, 124, 83, 101, 116, 116, 105, 110, 103, 115, 0, 0, 0, 0, 24, 68, 114, 97, 119, 105, 110, 103, 124, 68, 114, 97, 119, 105, 110, 103, 85, 116, 105, 108, 105, 116, 105, 101, 115, 0, 0, 0, 0, 23, 68, 114, 97, 119, 105, 110, 103, 124, 71, 101, 111, 109, 101, 116, 114, 121, 66, 117, 105, 108, 100, 101, 114, 0, 0, 0, 0, 34, 68, 114, 97, 119, 105, 110, 103, 46, 71, 101, 111, 109, 101, 116, 114, 121, 66, 117, 105, 108, 100, 101, 114, 124, 67, 97, 109, 101, 114, 97, 73, 110, 102, 111, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 124, 77, 101, 115, 104, 76, 97, 121, 111, 117, 116, 115, 0, 0, 0, 0, 26, 68, 114, 97, 119, 105, 110, 103, 124, 71, 101, 111, 109, 101, 116, 114, 121, 66, 117, 105, 108, 100, 101, 114, 74, 111, 98, 0, 0, 0, 0, 15, 68, 114, 97, 119, 105, 110, 103, 46, 124, 86, 101, 114, 116, 101, 120, 0, 0, 0, 0, 19, 68, 114, 97, 119, 105, 110, 103, 46, 124, 84, 101, 120, 116, 86, 101, 114, 116, 101, 120, 0, 0, 0, 0, 27, 68, 114, 97, 119, 105, 110, 103, 124, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 71, 105, 122, 109, 111, 115, 0, 0, 0, 0, 15, 68, 114, 97, 119, 105, 110, 103, 124, 80, 97, 108, 101, 116, 116, 101, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 46, 80, 97, 108, 101, 116, 116, 101, 124, 80, 117, 114, 101, 0, 0, 0, 0, 27, 68, 114, 97, 119, 105, 110, 103, 46, 80, 97, 108, 101, 116, 116, 101, 124, 67, 111, 108, 111, 114, 98, 114, 101, 119, 101, 114, 0, 0, 0, 0, 32, 68, 114, 97, 119, 105, 110, 103, 46, 80, 97, 108, 101, 116, 116, 101, 43, 67, 111, 108, 111, 114, 98, 114, 101, 119, 101, 114, 124, 83, 101, 116, 49, 0, 0, 0, 0, 33, 68, 114, 97, 119, 105, 110, 103, 46, 80, 97, 108, 101, 116, 116, 101, 43, 67, 111, 108, 111, 114, 98, 114, 101, 119, 101, 114, 124, 66, 108, 117, 101, 115, 0, 0, 0, 0, 27, 68, 114, 97, 119, 105, 110, 103, 124, 80, 101, 114, 115, 105, 115, 116, 101, 110, 116, 70, 105, 108, 116, 101, 114, 74, 111, 98, 0, 0, 0, 0, 25, 68, 114, 97, 119, 105, 110, 103, 46, 84, 101, 120, 116, 124, 83, 68, 70, 67, 104, 97, 114, 97, 99, 116, 101, 114, 0, 0, 0, 0, 20, 68, 114, 97, 119, 105, 110, 103, 46, 84, 101, 120, 116, 124, 83, 68, 70, 70, 111, 110, 116, 0, 0, 0, 0, 26, 68, 114, 97, 119, 105, 110, 103, 46, 84, 101, 120, 116, 124, 83, 68, 70, 76, 111, 111, 107, 117, 112, 68, 97, 116, 97, 0, 0, 0, 0, 25, 68, 114, 97, 119, 105, 110, 103, 46, 84, 101, 120, 116, 124, 68, 101, 102, 97, 117, 108, 116, 70, 111, 110, 116, 115, 0, 0, 0, 0, 22, 68, 114, 97, 119, 105, 110, 103, 124, 83, 116, 114, 101, 97, 109, 83, 112, 108, 105, 116, 116, 101, 114 }, TotalFiles = 15, TotalTypes = 70, IsEditorOnly = false }; } } namespace Drawing { public struct LabelAlignment { public float2 relativePivot; public float2 pixelOffset; public static readonly LabelAlignment TopLeft = new LabelAlignment { relativePivot = new float2(0f, 1f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment MiddleLeft = new LabelAlignment { relativePivot = new float2(0f, 0.5f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment BottomLeft = new LabelAlignment { relativePivot = new float2(0f, 0f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment BottomCenter = new LabelAlignment { relativePivot = new float2(0.5f, 0f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment BottomRight = new LabelAlignment { relativePivot = new float2(1f, 0f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment MiddleRight = new LabelAlignment { relativePivot = new float2(1f, 0.5f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment TopRight = new LabelAlignment { relativePivot = new float2(1f, 1f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment TopCenter = new LabelAlignment { relativePivot = new float2(0.5f, 1f), pixelOffset = new float2(0f, 0f) }; public static readonly LabelAlignment Center = new LabelAlignment { relativePivot = new float2(0.5f, 0.5f), pixelOffset = new float2(0f, 0f) }; public LabelAlignment withPixelOffset(float x, float y) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) return new LabelAlignment { relativePivot = relativePivot, pixelOffset = new float2(x, y) }; } } public enum AllowedDelay { EndOfFrame, Infinite } internal static class CommandBuilderSamplers { internal static readonly ProfilerMarker MarkerConvert = new ProfilerMarker("Convert"); internal static readonly ProfilerMarker MarkerSetLayout = new ProfilerMarker("SetLayout"); internal static readonly ProfilerMarker MarkerUpdateVertices = new ProfilerMarker("UpdateVertices"); internal static readonly ProfilerMarker MarkerUpdateIndices = new ProfilerMarker("UpdateIndices"); internal static readonly ProfilerMarker MarkerSubmesh = new ProfilerMarker("Submesh"); internal static readonly ProfilerMarker MarkerUpdateBuffer = new ProfilerMarker("UpdateComputeBuffer"); internal static readonly ProfilerMarker MarkerProcessCommands = new ProfilerMarker("Commands"); internal static readonly ProfilerMarker MarkerCreateTriangles = new ProfilerMarker("CreateTriangles"); } [BurstCompile] public struct CommandBuilder : IDisposable { [Flags] internal enum Command { PushColorInline = 0x100, PushColor = 0, PopColor = 1, PushMatrix = 2, PushSetMatrix = 3, PopMatrix = 4, Line = 5, Circle = 6, CircleXZ = 7, Disc = 8, DiscXZ = 9, SphereOutline = 0xA, Box = 0xB, WirePlane = 0xC, WireBox = 0xD, SolidTriangle = 0xE, PushPersist = 0xF, PopPersist = 0x10, Text = 0x11, Text3D = 0x12, PushLineWidth = 0x13, PopLineWidth = 0x14, CaptureState = 0x15 } internal struct TriangleData { public float3 a; public float3 b; public float3 c; } internal struct LineData { public float3 a; public float3 b; } internal struct LineDataV3 { public Vector3 a; public Vector3 b; } internal struct CircleXZData { public float3 center; public float radius; public float startAngle; public float endAngle; } internal struct CircleData { public float3 center; public float3 normal; public float radius; } internal struct SphereData { public float3 center; public float radius; } internal struct BoxData { public float3 center; public float3 size; } internal struct PlaneData { public float3 center; public quaternion rotation; public float2 size; } internal struct PersistData { public float endTime; } internal struct LineWidthData { public float pixels; public bool automaticJoins; } internal struct TextData { public float3 center; public LabelAlignment alignment; public float sizeInPixels; public int numCharacters; } internal struct TextData3D { public float3 center; public quaternion rotation; public LabelAlignment alignment; public float size; public int numCharacters; } public struct ScopeMatrix : IDisposable { internal CommandBuilder builder; public unsafe void Dispose() { builder.PopMatrix(); builder.buffer = null; } } public struct ScopeColor : IDisposable { internal CommandBuilder builder; public unsafe void Dispose() { builder.PopColor(); builder.buffer = null; } } public struct ScopePersist : IDisposable { internal CommandBuilder builder; public unsafe void Dispose() { builder.PopDuration(); builder.buffer = null; } } [StructLayout(LayoutKind.Sequential, Size = 1)] public struct ScopeEmpty : IDisposable { public void Dispose() { } } public struct ScopeLineWidth : IDisposable { internal CommandBuilder builder; public unsafe void Dispose() { builder.PopLineWidth(); builder.buffer = null; } } public enum SymbolDecoration { None, ArrowHead, Circle } public struct PolylineWithSymbol { private float3 prev; private float offset; private readonly float symbolSize; private readonly float symbolSpacing; private readonly float symbolPadding; private readonly float symbolOffset; private readonly SymbolDecoration symbol; private readonly bool reverseSymbols; private bool odd; public PolylineWithSymbol(SymbolDecoration symbol, float symbolSize, float symbolPadding, float symbolSpacing, bool reverseSymbols = false) { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) if (symbolSpacing <= 1.1754944E-38f) { throw new ArgumentOutOfRangeException("symbolSpacing", "Symbol spacing must be greater than zero"); } if (symbolSize <= 1.1754944E-38f) { throw new ArgumentOutOfRangeException("symbolSize", "Symbol size must be greater than zero"); } if (symbolPadding < 0f) { throw new ArgumentOutOfRangeException("symbolPadding", "Symbol padding must non-negative"); } prev = float3.zero; this.symbol = symbol; this.symbolSize = symbolSize; this.symbolPadding = symbolPadding; this.symbolSpacing = math.max(0f, symbolSpacing - symbolPadding * 2f - symbolSize); this.reverseSymbols = reverseSymbols; symbolOffset = ((symbol == SymbolDecoration.ArrowHead) ? (-0.25f * symbolSize) : 0f); if (reverseSymbols) { symbolOffset = 0f - symbolOffset; } symbolOffset += 0.5f * symbolSize; offset = -1f; odd = false; } public void MoveTo(ref CommandBuilder draw, float3 next) { //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) if (offset == -1f) { offset = symbolSpacing * 0.5f; prev = next; return; } float num = math.length(next - prev); float num2 = math.rcp(num); float3 val = next - prev; float3 val2 = default(float3); if (symbol != SymbolDecoration.None) { val2 = math.normalizesafe(math.cross(val, math.cross(val, new float3(0f, 1f, 0f))), default(float3)); if (math.all(val2 == 0f)) { ((float3)(ref val2))..ctor(0f, 0f, 1f); } } if (reverseSymbols) { val = -val; } if (offset > 0f && !odd) { draw.Line(prev, math.lerp(prev, next, math.min(offset * num2, 1f))); } while (offset < num) { if (odd) { float3 a = math.lerp(prev, next, offset * num2); offset += symbolSpacing; float3 b = math.lerp(prev, next, math.min(offset * num2, 1f)); draw.Line(a, b); offset += symbolPadding; } else { float3 center = math.lerp(prev, next, (offset + symbolOffset) * num2); switch (symbol) { case SymbolDecoration.ArrowHead: draw.Arrowhead(center, val, val2, symbolSize); break; default: draw.Circle(center, val2, symbolSize * 0.5f); break; case SymbolDecoration.None: break; } offset += symbolSize + symbolPadding; } odd = !odd; } offset -= num; prev = next; } } [BurstCompile] private class JobWireMesh { [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void JobWireMeshDelegate(ref MeshData rawMeshData, ref CommandBuilder draw); internal unsafe delegate void WireMesh_000000FE$PostfixBurstDelegate(float3* verts, int* indices, int vertexCount, int indexCount, ref CommandBuilder draw); internal static class WireMesh_000000FE$BurstDirectCall { private static IntPtr Pointer; private static IntPtr DeferredCompilation; [BurstDiscard] private unsafe static void GetFunctionPointerDiscard(ref IntPtr P_0) { if (Pointer == (IntPtr)0) { Pointer = (nint)BurstCompiler.GetILPPMethodFunctionPointer2(DeferredCompilation, (RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/, typeof(WireMesh_000000FE$PostfixBurstDelegate).TypeHandle); } P_0 = Pointer; } private static IntPtr GetFunctionPointer() { nint result = 0; GetFunctionPointerDiscard(ref result); return result; } public static void Constructor() { DeferredCompilation = BurstCompiler.CompileILPPMethod2((RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/); } public static void Initialize() { } static WireMesh_000000FE$BurstDirectCall() { Constructor(); } public unsafe static void Invoke(float3* verts, int* indices, int vertexCount, int indexCount, ref CommandBuilder draw) { if (BurstCompiler.IsEnabled) { IntPtr functionPointer = GetFunctionPointer(); if (functionPointer != (IntPtr)0) { ((delegate* unmanaged[Cdecl])functionPointer)(verts, indices, vertexCount, indexCount, ref draw); return; } } WireMesh$BurstManaged(verts, indices, vertexCount, indexCount, ref draw); } } internal delegate void Execute_000000FF$PostfixBurstDelegate(ref MeshData rawMeshData, ref CommandBuilder draw); internal static class Execute_000000FF$BurstDirectCall { private static IntPtr Pointer; private static IntPtr DeferredCompilation; [BurstDiscard] private unsafe static void GetFunctionPointerDiscard(ref IntPtr P_0) { if (Pointer == (IntPtr)0) { Pointer = (nint)BurstCompiler.GetILPPMethodFunctionPointer2(DeferredCompilation, (RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/, typeof(Execute_000000FF$PostfixBurstDelegate).TypeHandle); } P_0 = Pointer; } private static IntPtr GetFunctionPointer() { nint result = 0; GetFunctionPointerDiscard(ref result); return result; } public static void Constructor() { DeferredCompilation = BurstCompiler.CompileILPPMethod2((RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/); } public static void Initialize() { } static Execute_000000FF$BurstDirectCall() { Constructor(); } public unsafe static void Invoke(ref MeshData rawMeshData, ref CommandBuilder draw) { if (BurstCompiler.IsEnabled) { IntPtr functionPointer = GetFunctionPointer(); if (functionPointer != (IntPtr)0) { ((delegate* unmanaged[Cdecl])functionPointer)(ref rawMeshData, ref draw); return; } } Execute$BurstManaged(ref rawMeshData, ref draw); } } public static readonly JobWireMeshDelegate JobWireMeshFunctionPointer = BurstCompiler.CompileFunctionPointer((JobWireMeshDelegate)Execute).Invoke; [BurstCompile] public unsafe static void WireMesh(float3* verts, int* indices, int vertexCount, int indexCount, ref CommandBuilder draw) { WireMesh_000000FE$BurstDirectCall.Invoke(verts, indices, vertexCount, indexCount, ref draw); } [BurstCompile] [MonoPInvokeCallback(typeof(JobWireMeshDelegate))] private static void Execute(ref MeshData rawMeshData, ref CommandBuilder draw) { Execute_000000FF$BurstDirectCall.Invoke(ref rawMeshData, ref draw); } [MethodImpl(MethodImplOptions.AggressiveInlining)] [BurstCompile] internal unsafe static void WireMesh$BurstManaged(float3* verts, int* indices, int vertexCount, int indexCount, ref CommandBuilder draw) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) if (indexCount % 3 != 0) { throw new ArgumentException("Invalid index count. Must be a multiple of 3"); } NativeHashMap val = default(NativeHashMap); val..ctor(indexCount, AllocatorHandle.op_Implicit((Allocator)2)); for (int i = 0; i < indexCount; i += 3) { int num = indices[i]; int num2 = indices[i + 1]; int num3 = indices[i + 2]; if (num < 0 || num2 < 0 || num3 < 0 || num >= vertexCount || num2 >= vertexCount || num3 >= vertexCount) { throw new Exception("Invalid vertex index. Index out of bounds"); } int num4 = math.min(num, num2); int num5 = math.max(num, num2); if (!val.ContainsKey(new int2(num4, num5))) { val.Add(new int2(num4, num5), true); draw.Line(((float3*)verts)[num4], ((float3*)verts)[num5]); } num4 = math.min(num2, num3); num5 = math.max(num2, num3); if (!val.ContainsKey(new int2(num4, num5))) { val.Add(new int2(num4, num5), true); draw.Line(((float3*)verts)[num4], ((float3*)verts)[num5]); } num4 = math.min(num3, num); num5 = math.max(num3, num); if (!val.ContainsKey(new int2(num4, num5))) { val.Add(new int2(num4, num5), true); draw.Line(((float3*)verts)[num4], ((float3*)verts)[num5]); } } } [MethodImpl(MethodImplOptions.AggressiveInlining)] [BurstCompile] [MonoPInvokeCallback(typeof(JobWireMeshDelegate))] internal unsafe static void Execute$BurstManaged(ref MeshData rawMeshData, ref CommandBuilder draw) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) int num = 0; for (int i = 0; i < ((MeshData)(ref rawMeshData)).subMeshCount; i++) { int num2 = num; SubMeshDescriptor subMesh = ((MeshData)(ref rawMeshData)).GetSubMesh(i); num = math.max(num2, ((SubMeshDescriptor)(ref subMesh)).indexCount); } NativeArray val = default(NativeArray); val..ctor(num, (Allocator)2, (NativeArrayOptions)0); NativeArray val2 = default(NativeArray); val2..ctor(((MeshData)(ref rawMeshData)).vertexCount, (Allocator)2, (NativeArrayOptions)0); ((MeshData)(ref rawMeshData)).GetVertices(val2); for (int j = 0; j < ((MeshData)(ref rawMeshData)).subMeshCount; j++) { SubMeshDescriptor subMesh2 = ((MeshData)(ref rawMeshData)).GetSubMesh(j); ((MeshData)(ref rawMeshData)).GetIndices(val, j, true); WireMesh((float3*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(val2), (int*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(val), val2.Length, ((SubMeshDescriptor)(ref subMesh2)).indexCount, ref draw); } } } [NativeDisableUnsafePtrRestriction] internal unsafe UnsafeAppendBuffer* buffer; private GCHandle gizmos; [NativeSetThreadIndex] private int threadIndex; private DrawingData.BuilderData.BitPackedMeta uniqueID; private static readonly float3 DEFAULT_UP = new float3(0f, 1f, 0f); internal static readonly float4x4 XZtoXYPlaneMatrix = float4x4.RotateX(-MathF.PI / 2f); internal static readonly float4x4 XZtoYZPlaneMatrix = float4x4.RotateZ(MathF.PI / 2f); internal unsafe int BufferSize { get { return ((UnsafeAppendBuffer)buffer).Length; } set { ((UnsafeAppendBuffer)buffer).Length = value; } } public CommandBuilder2D xy => new CommandBuilder2D(this, xy: true); public CommandBuilder2D xz => new CommandBuilder2D(this, xy: false); public Camera[] cameraTargets { get { if (gizmos.IsAllocated && gizmos.Target != null) { DrawingData drawingData = gizmos.Target as DrawingData; if (drawingData.data.StillExists(uniqueID)) { return drawingData.data.Get(uniqueID).meta.cameraTargets; } } throw new Exception("Cannot get cameraTargets because the command builder has already been disposed or does not exist."); } set { if (uniqueID.isBuiltInCommandBuilder) { throw new Exception("You cannot set the camera targets for a built-in command builder. Create a custom command builder instead."); } if (gizmos.IsAllocated && gizmos.Target != null) { DrawingData obj = gizmos.Target as DrawingData; if (!obj.data.StillExists(uniqueID)) { throw new Exception("Cannot set cameraTargets because the command builder has already been disposed or does not exist."); } obj.data.Get(uniqueID).meta.cameraTargets = value; } } } internal unsafe CommandBuilder(UnsafeAppendBuffer* buffer, GCHandle gizmos, int threadIndex, DrawingData.BuilderData.BitPackedMeta uniqueID) { this.buffer = buffer; this.gizmos = gizmos; this.threadIndex = threadIndex; this.uniqueID = uniqueID; } internal unsafe CommandBuilder(DrawingData gizmos, DrawingData.Hasher hasher, RedrawScope frameRedrawScope, RedrawScope customRedrawScope, bool isGizmos, bool isBuiltInCommandBuilder, int sceneModeVersion) { this.gizmos = GCHandle.Alloc(gizmos, GCHandleType.Normal); threadIndex = 0; uniqueID = gizmos.data.Reserve(isBuiltInCommandBuilder); gizmos.data.Get(uniqueID).Init(hasher, frameRedrawScope, customRedrawScope, isGizmos, gizmos.GetNextDrawOrderIndex(), sceneModeVersion); buffer = gizmos.data.Get(uniqueID).bufferPtr; } public void Dispose() { if (uniqueID.isBuiltInCommandBuilder) { throw new Exception("You cannot dispose a built-in command builder"); } DisposeInternal(); } public void DisposeAfter(JobHandle dependency, AllowedDelay allowedDelay = AllowedDelay.EndOfFrame) { //IL_0077: Unknown result type (might be due to invalid IL or missing references) if (!gizmos.IsAllocated) { throw new Exception("You cannot dispose an invalid command builder. Are you trying to dispose it twice?"); } try { if (gizmos.IsAllocated && gizmos.Target != null) { DrawingData obj = gizmos.Target as DrawingData; if (!obj.data.StillExists(uniqueID)) { throw new Exception("Cannot dispose the command builder because the drawing manager has been destroyed"); } obj.data.Get(uniqueID).SubmitWithDependency(gizmos, dependency, allowedDelay); } } finally { this = default(CommandBuilder); } } internal void DisposeInternal() { if (!gizmos.IsAllocated) { throw new Exception("You cannot dispose an invalid command builder. Are you trying to dispose it twice?"); } try { if (gizmos.IsAllocated && gizmos.Target != null) { DrawingData obj = gizmos.Target as DrawingData; if (!obj.data.StillExists(uniqueID)) { throw new Exception("Cannot dispose the command builder because the drawing manager has been destroyed"); } obj.data.Get(uniqueID).Submit(gizmos.Target as DrawingData); } } finally { gizmos.Free(); this = default(CommandBuilder); } } public void DiscardAndDispose() { if (uniqueID.isBuiltInCommandBuilder) { throw new Exception("You cannot dispose a built-in command builder"); } DiscardAndDisposeInternal(); } internal void DiscardAndDisposeInternal() { try { if (gizmos.IsAllocated && gizmos.Target != null) { DrawingData obj = gizmos.Target as DrawingData; if (!obj.data.StillExists(uniqueID)) { throw new Exception("Cannot dispose the command builder because the drawing manager has been destroyed"); } obj.data.Release(uniqueID); } } finally { if (gizmos.IsAllocated) { gizmos.Free(); } this = default(CommandBuilder); } } public void Preallocate(int size) { Reserve(size); } [MethodImpl(MethodImplOptions.AggressiveInlining)] private unsafe void Reserve(int additionalSpace) { if (Hint.Unlikely(threadIndex >= 0)) { buffer = (UnsafeAppendBuffer*)((byte*)buffer + (nint)threadIndex * (nint)Unsafe.SizeOf()); threadIndex = -1; } int num = ((UnsafeAppendBuffer)buffer).Length + additionalSpace; if (num > ((UnsafeAppendBuffer)buffer).Capacity) { ((UnsafeAppendBuffer)buffer).SetCapacity(math.max(num, ((UnsafeAppendBuffer)buffer).Length * 2)); } } [BurstDiscard] private void AssertBufferExists() { if (!gizmos.IsAllocated || gizmos.Target == null || !(gizmos.Target as DrawingData).data.StillExists(uniqueID)) { this = default(CommandBuilder); throw new Exception("This command builder no longer exists. Are you trying to draw to a command builder which has already been disposed?"); } } [BurstDiscard] private static void AssertNotRendering() { if (!GizmoContext.drawingGizmos && !JobsUtility.IsExecutingJob && (Time.renderedFrameCount & 0x7F) == 0 && StackTraceUtility.ExtractStackTrace().Contains("OnDrawGizmos")) { throw new Exception("You are trying to use Draw.* functions from within Unity's OnDrawGizmos function. Use this package's gizmo callbacks instead (see the documentation)."); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal void Reserve() where A : struct { Reserve(UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf()); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal void Reserve() where A : struct where B : struct { Reserve(UnsafeUtility.SizeOf() * 2 + UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf()); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal void Reserve() where A : struct where B : struct where C : struct { Reserve(UnsafeUtility.SizeOf() * 3 + UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf()); } [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static uint ConvertColor(Color color) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) if (Sse2.IsSse2Supported) { int4 val = (int4)(255f * new float4(color.r, color.g, color.b, color.a) + 0.5f); v128 val2 = new v128(val.x, val.y, val.z, val.w); v128 val3 = Sse2.packs_epi32(val2, val2); return Sse2.packus_epi16(val3, val3).UInt0; } uint num = (uint)Mathf.Clamp((int)(color.r * 255f + 0.5f), 0, 255); uint num2 = (uint)Mathf.Clamp((int)(color.g * 255f + 0.5f), 0, 255); uint num3 = (uint)Mathf.Clamp((int)(color.b * 255f + 0.5f), 0, 255); return (uint)(Mathf.Clamp((int)(color.a * 255f + 0.5f), 0, 255) << 24) | (num3 << 16) | (num2 << 8) | num; } internal unsafe void Add(T value) where T : struct { int num = UnsafeUtility.SizeOf(); UnsafeAppendBuffer* ptr = buffer; int length = ((UnsafeAppendBuffer)ptr).Length; Hint.Assume(((UnsafeAppendBuffer)ptr).Ptr != null); Hint.Assume(((UnsafeAppendBuffer)ptr).Ptr + length != null); UnsafeUtility.CopyStructureToPtr(ref value, (void*)(((UnsafeAppendBuffer)ptr).Ptr + length)); ((UnsafeAppendBuffer)ptr).Length = length + num; } [BurstDiscard] public ScopeMatrix WithMatrix(Matrix4x4 matrix) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) PushMatrix(matrix); return new ScopeMatrix { builder = this }; } [BurstDiscard] public ScopeMatrix WithMatrix(float3x3 matrix) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) this.PushMatrix(new float4x4(matrix, float3.zero)); return new ScopeMatrix { builder = this }; } [BurstDiscard] public ScopeColor WithColor(Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) PushColor(color); return new ScopeColor { builder = this }; } [BurstDiscard] public ScopePersist WithDuration(float duration) { PushDuration(duration); return new ScopePersist { builder = this }; } [BurstDiscard] public ScopeLineWidth WithLineWidth(float pixels, bool automaticJoins = true) { PushLineWidth(pixels, automaticJoins); return new ScopeLineWidth { builder = this }; } [BurstDiscard] public ScopeMatrix InLocalSpace(Transform transform) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return WithMatrix(transform.localToWorldMatrix); } [BurstDiscard] public ScopeMatrix InScreenSpace(Camera camera) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) Matrix4x4 cameraToWorldMatrix = camera.cameraToWorldMatrix; Matrix4x4 nonJitteredProjectionMatrix = camera.nonJitteredProjectionMatrix; return WithMatrix(cameraToWorldMatrix * ((Matrix4x4)(ref nonJitteredProjectionMatrix)).inverse * Matrix4x4.TRS(new Vector3(-1f, -1f, 0f), Quaternion.identity, new Vector3(2f / (float)camera.pixelWidth, 2f / (float)camera.pixelHeight, 1f))); } public void PushMatrix(Matrix4x4 matrix) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushMatrix); this.Add(matrix); } public void PushMatrix(float4x4 matrix) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushMatrix); this.Add(matrix); } public void PushSetMatrix(Matrix4x4 matrix) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushSetMatrix); this.Add(float4x4.op_Implicit(matrix)); } public void PushSetMatrix(float4x4 matrix) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushSetMatrix); this.Add(matrix); } public void PopMatrix() { Reserve(4); Add(Command.PopMatrix); } public void PushColor(Color color) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushColor); Add(ConvertColor(color)); } public void PopColor() { Reserve(4); Add(Command.PopColor); } public void PushDuration(float duration) { Reserve(); Add(Command.PushPersist); Add(new PersistData { endTime = SharedDrawingData.BurstTime.Data + duration }); } public void PopDuration() { Reserve(4); Add(Command.PopPersist); } [Obsolete("Renamed to PushDuration for consistency")] public void PushPersist(float duration) { PushDuration(duration); } [Obsolete("Renamed to PopDuration for consistency")] public void PopPersist() { PopDuration(); } public void PushLineWidth(float pixels, bool automaticJoins = true) { if (pixels < 0f) { throw new ArgumentOutOfRangeException("pixels", "Line width must be positive"); } Reserve(); Add(Command.PushLineWidth); Add(new LineWidthData { pixels = pixels, automaticJoins = automaticJoins }); } public void PopLineWidth() { Reserve(4); Add(Command.PopLineWidth); } public void Line(float3 a, float3 b) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.Line); Add(new LineData { a = a, b = b }); } public unsafe void Line(Vector3 a, Vector3 b) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) Reserve(); int bufferSize = BufferSize; int length = bufferSize + 4 + 24; byte* num = ((UnsafeAppendBuffer)buffer).Ptr + bufferSize; *(int*)num = 5; LineDataV3* ptr = (LineDataV3*)(num + 4); Unsafe.Write(&ptr->a, a); Unsafe.Write(&ptr->b, b); ((UnsafeAppendBuffer)buffer).Length = length; } public unsafe void Line(Vector3 a, Vector3 b, Color color) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); int bufferSize = BufferSize; int length = bufferSize + 4 + 24 + 4; byte* num = ((UnsafeAppendBuffer)buffer).Ptr + bufferSize; *(int*)num = 261; ((int*)num)[1] = (int)ConvertColor(color); LineDataV3* ptr = (LineDataV3*)(num + 8); Unsafe.Write(&ptr->a, a); Unsafe.Write(&ptr->b, b); ((UnsafeAppendBuffer)buffer).Length = length; } public void Ray(float3 origin, float3 direction) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) Line(origin, origin + direction); } public void Ray(Ray ray, float length) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) Line(((Ray)(ref ray)).origin, ((Ray)(ref ray)).origin + ((Ray)(ref ray)).direction * length); } public void Arc(float3 center, float3 start, float3 end) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) float3 val = start - center; float3 val2 = end - center; float3 val3 = math.cross(val2, val); if (math.any(val3 != 0f) && math.all(math.isfinite(val3))) { Matrix4x4 matrix = Matrix4x4.TRS(float3.op_Implicit(center), Quaternion.LookRotation(float3.op_Implicit(val), float3.op_Implicit(val3)), Vector3.one); float num = Vector3.SignedAngle(float3.op_Implicit(val), float3.op_Implicit(val2), float3.op_Implicit(val3)) * (MathF.PI / 180f); PushMatrix(matrix); CircleXZInternal(float3.zero, math.length(val), MathF.PI / 2f, MathF.PI / 2f - num); PopMatrix(); } } [Obsolete("Use Draw.xz.Circle instead")] public void CircleXZ(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) CircleXZInternal(center, radius, startAngle, endAngle); } internal void CircleXZInternal(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.CircleXZ); Add(new CircleXZData { center = center, radius = radius, startAngle = startAngle, endAngle = endAngle }); } internal void CircleXZInternal(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.CircleXZ | Command.PushColorInline); Add(ConvertColor(color)); Add(new CircleXZData { center = center, radius = radius, startAngle = startAngle, endAngle = endAngle }); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) PushMatrix(XZtoXYPlaneMatrix); CircleXZ(new float3(center.x, 0f - center.z, center.y), radius, startAngle, endAngle); PopMatrix(); } public void Circle(float3 center, float3 normal, float radius) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.Circle); Add(new CircleData { center = center, normal = normal, radius = radius }); } public void SolidArc(float3 center, float3 start, float3 end) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) float3 val = start - center; float3 val2 = end - center; float3 val3 = math.cross(val2, val); if (math.any(val3)) { Matrix4x4 matrix = Matrix4x4.TRS(float3.op_Implicit(center), Quaternion.LookRotation(float3.op_Implicit(val), float3.op_Implicit(val3)), Vector3.one); float num = Vector3.SignedAngle(float3.op_Implicit(val), float3.op_Implicit(val2), float3.op_Implicit(val3)) * (MathF.PI / 180f); PushMatrix(matrix); SolidCircleXZInternal(float3.zero, math.length(val), MathF.PI / 2f, MathF.PI / 2f - num); PopMatrix(); } } [Obsolete("Use Draw.xz.SolidCircle instead")] public void SolidCircleXZ(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) SolidCircleXZInternal(center, radius, startAngle, endAngle); } internal void SolidCircleXZInternal(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.DiscXZ); Add(new CircleXZData { center = center, radius = radius, startAngle = startAngle, endAngle = endAngle }); } internal void SolidCircleXZInternal(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.DiscXZ | Command.PushColorInline); Add(ConvertColor(color)); Add(new CircleXZData { center = center, radius = radius, startAngle = startAngle, endAngle = endAngle }); } [Obsolete("Use Draw.xy.SolidCircle instead")] public void SolidCircleXY(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) PushMatrix(XZtoXYPlaneMatrix); SolidCircleXZInternal(new float3(center.x, 0f - center.z, center.y), radius, startAngle, endAngle); PopMatrix(); } public void SolidCircle(float3 center, float3 normal, float radius) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.Disc); Add(new CircleData { center = center, normal = normal, radius = radius }); } public void SphereOutline(float3 center, float radius) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.SphereOutline); Add(new SphereData { center = center, radius = radius }); } public void WireCylinder(float3 bottom, float3 top, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) WireCylinder(bottom, top - bottom, math.length(top - bottom), radius); } public void WireCylinder(float3 position, float3 up, float height, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) up = math.normalizesafe(up, default(float3)); if (!math.all(up == 0f) && !math.any(math.isnan(up)) && !math.isnan(height) && !math.isnan(radius)) { OrthonormalBasis(up, out var basis, out var basis2); this.PushMatrix(new float4x4(new float4(basis * radius, 0f), new float4(up * height, 0f), new float4(basis2 * radius, 0f), new float4(position, 1f))); CircleXZInternal(float3.zero, 1f); if (height > 0f) { CircleXZInternal(new float3(0f, 1f, 0f), 1f); this.Line(new float3(1f, 0f, 0f), new float3(1f, 1f, 0f)); this.Line(new float3(-1f, 0f, 0f), new float3(-1f, 1f, 0f)); this.Line(new float3(0f, 0f, 1f), new float3(0f, 1f, 1f)); this.Line(new float3(0f, 0f, -1f), new float3(0f, 1f, -1f)); } PopMatrix(); } } private static void OrthonormalBasis(float3 normal, out float3 basis1, out float3 basis2) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) basis1 = math.cross(normal, new float3(1f, 1f, 1f)); if (math.all(basis1 == 0f)) { basis1 = math.cross(normal, new float3(-1f, 1f, 1f)); } basis1 = math.normalizesafe(basis1, default(float3)); basis2 = math.cross(normal, basis1); } public void WireCapsule(float3 start, float3 end, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) float3 val = end - start; float num = math.length(val); if ((double)num < 0.0001) { WireSphere(start, radius); return; } float3 val2 = val / num; WireCapsule(start - val2 * radius, val2, num + 2f * radius, radius); } public void WireCapsule(float3 position, float3 direction, float length, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) direction = math.normalizesafe(direction, default(float3)); if (math.all(direction == 0f) || math.any(math.isnan(direction)) || math.isnan(length) || math.isnan(radius)) { return; } if (radius <= 0f) { Line(position, position + direction * length); return; } length = math.max(length, radius * 2f); OrthonormalBasis(direction, out var basis, out var basis2); this.PushMatrix(new float4x4(new float4(basis, 0f), new float4(direction, 0f), new float4(basis2, 0f), new float4(position, 1f))); CircleXZInternal(new float3(0f, radius, 0f), radius); PushMatrix(XZtoXYPlaneMatrix); CircleXZInternal(new float3(0f, 0f, radius), radius, MathF.PI); PopMatrix(); PushMatrix(XZtoYZPlaneMatrix); CircleXZInternal(new float3(radius, 0f, 0f), radius, MathF.PI / 2f, 4.712389f); PopMatrix(); if (length > 0f) { float num = length - radius; CircleXZInternal(new float3(0f, num, 0f), radius); PushMatrix(XZtoXYPlaneMatrix); CircleXZInternal(new float3(0f, 0f, num), radius, 0f, MathF.PI); PopMatrix(); PushMatrix(XZtoYZPlaneMatrix); CircleXZInternal(new float3(num, 0f, 0f), radius, -MathF.PI / 2f, MathF.PI / 2f); PopMatrix(); this.Line(new float3(radius, radius, 0f), new float3(radius, num, 0f)); this.Line(new float3(0f - radius, radius, 0f), new float3(0f - radius, num, 0f)); this.Line(new float3(0f, radius, radius), new float3(0f, num, radius)); this.Line(new float3(0f, radius, 0f - radius), new float3(0f, num, 0f - radius)); } PopMatrix(); } public void WireSphere(float3 position, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) SphereOutline(position, radius); Circle(position, new float3(1f, 0f, 0f), radius); Circle(position, new float3(0f, 1f, 0f), radius); Circle(position, new float3(0f, 0f, 1f), radius); } [BurstDiscard] public void Polyline(List points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Count - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Count > 1) { Line(points[points.Count - 1], points[0]); } } public void Polyline(T points, bool cycle = false) where T : IReadOnlyList { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Count - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Count > 1) { int index = points.Count - 1; Line(points[index], points[0]); } } [BurstDiscard] public void Polyline(Vector3[] points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } } [BurstDiscard] public void Polyline(float3[] points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } } public void Polyline(NativeArray points, bool cycle = false) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[points.Length - 1], points[0]); } } public void DashedLine(float3 a, float3 b, float dash, float gap) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) PolylineWithSymbol polylineWithSymbol = new PolylineWithSymbol(SymbolDecoration.None, gap, 0f, dash + gap); polylineWithSymbol.MoveTo(ref this, a); polylineWithSymbol.MoveTo(ref this, b); } public void DashedPolyline(List points, float dash, float gap) { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) PolylineWithSymbol polylineWithSymbol = new PolylineWithSymbol(SymbolDecoration.None, gap, 0f, dash + gap); for (int i = 0; i < points.Count; i++) { polylineWithSymbol.MoveTo(ref this, float3.op_Implicit(points[i])); } } public void WireBox(float3 center, float3 size) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.WireBox); Add(new BoxData { center = center, size = size }); } public void WireBox(float3 center, quaternion rotation, float3 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) PushMatrix(float4x4.TRS(center, rotation, size)); WireBox(float3.zero, new float3(1f, 1f, 1f)); PopMatrix(); } public void WireBox(Bounds bounds) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) WireBox(float3.op_Implicit(((Bounds)(ref bounds)).center), float3.op_Implicit(((Bounds)(ref bounds)).size)); } public void WireMesh(Mesh mesh) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)mesh == (Object)null) { throw new ArgumentNullException(); } MeshDataArray val = Mesh.AcquireReadOnlyMeshData(mesh); MeshData rawMeshData = ((MeshDataArray)(ref val))[0]; JobWireMesh.JobWireMeshFunctionPointer(ref rawMeshData, ref this); ((MeshDataArray)(ref val)).Dispose(); } public unsafe void WireMesh(NativeArray vertices, NativeArray triangles) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) JobWireMesh.WireMesh((float3*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(vertices), (int*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(triangles), vertices.Length, triangles.Length, ref this); } public void SolidMesh(Mesh mesh) { SolidMeshInternal(mesh, temporary: false); } private void SolidMeshInternal(Mesh mesh, bool temporary, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) PushColor(color); SolidMeshInternal(mesh, temporary); PopColor(); } private void SolidMeshInternal(Mesh mesh, bool temporary) { (gizmos.Target as DrawingData).data.Get(uniqueID).meshes.Add(new DrawingData.SubmittedMesh { mesh = mesh, temporary = temporary }); Reserve(4); Add(Command.CaptureState); } [BurstDiscard] public void SolidMesh(List vertices, List triangles, List colors) { if (vertices.Count != colors.Count) { throw new ArgumentException("Number of colors must be the same as the number of vertices"); } Mesh mesh = (gizmos.Target as DrawingData).GetMesh(vertices.Count); mesh.Clear(); mesh.SetVertices(vertices); mesh.SetTriangles(triangles, 0); mesh.SetColors(colors); mesh.UploadMeshData(false); SolidMeshInternal(mesh, temporary: true); } [BurstDiscard] public void SolidMesh(Vector3[] vertices, int[] triangles, Color[] colors, int vertexCount, int indexCount) { if (vertices.Length != colors.Length) { throw new ArgumentException("Number of colors must be the same as the number of vertices"); } Mesh mesh = (gizmos.Target as DrawingData).GetMesh(vertices.Length); mesh.Clear(); mesh.SetVertices(vertices, 0, vertexCount); mesh.SetTriangles(triangles, 0, indexCount, 0, true, 0); mesh.SetColors(colors, 0, vertexCount); mesh.UploadMeshData(false); SolidMeshInternal(mesh, temporary: true); } public void Cross(float3 position, float size = 1f) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, size, 0f), position + new float3(0f, size, 0f)); Line(position - new float3(0f, 0f, size), position + new float3(0f, 0f, size)); } [Obsolete("Use Draw.xz.Cross instead")] public void CrossXZ(float3 position, float size = 1f) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, 0f, size), position + new float3(0f, 0f, size)); } [Obsolete("Use Draw.xy.Cross instead")] public void CrossXY(float3 position, float size = 1f) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, size, 0f), position + new float3(0f, size, 0f)); } public static float3 EvaluateCubicBezier(float3 p0, float3 p1, float3 p2, float3 p3, float t) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) t = math.clamp(t, 0f, 1f); float num = 1f - t; return num * num * num * p0 + 3f * num * num * t * p1 + 3f * num * t * t * p2 + t * t * t * p3; } public void Bezier(float3 p0, float3 p1, float3 p2, float3 p3) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) float3 a = p0; for (int i = 1; i <= 20; i++) { float t = (float)i / 20f; float3 val = EvaluateCubicBezier(p0, p1, p2, p3, t); Line(a, val); a = val; } } public void CatmullRom(List points) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) if (points.Count < 2) { return; } if (points.Count == 2) { Line(points[0], points[1]); return; } int count = points.Count; CatmullRom(float3.op_Implicit(points[0]), float3.op_Implicit(points[0]), float3.op_Implicit(points[1]), float3.op_Implicit(points[2])); for (int i = 0; i + 3 < count; i++) { CatmullRom(float3.op_Implicit(points[i]), float3.op_Implicit(points[i + 1]), float3.op_Implicit(points[i + 2]), float3.op_Implicit(points[i + 3])); } CatmullRom(float3.op_Implicit(points[count - 3]), float3.op_Implicit(points[count - 2]), float3.op_Implicit(points[count - 1]), float3.op_Implicit(points[count - 1])); } public void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) float3 p4 = (-p0 + 6f * p1 + 1f * p2) * (1f / 6f); float3 p5 = (p1 + 6f * p2 - p3) * (1f / 6f); Bezier(p1, p4, p5, p2); } public void Arrow(float3 from, float3 to) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) ArrowRelativeSizeHead(from, to, DEFAULT_UP, 0.2f); } public void Arrow(float3 from, float3 to, float3 up, float headSize) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) float num = math.lengthsq(to - from); if (num > 1E-06f) { ArrowRelativeSizeHead(from, to, up, headSize * math.rsqrt(num)); } } public void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) Line(from, to); float3 val = to - from; float3 val2 = math.cross(val, up); if (math.all(val2 == 0f)) { val2 = math.cross(new float3(1f, 0f, 0f), val); } if (math.all(val2 == 0f)) { val2 = math.cross(new float3(0f, 1f, 0f), val); } val2 = math.normalizesafe(val2, default(float3)) * math.length(val); Line(to, to - (val + val2) * headFraction); Line(to, to - (val - val2) * headFraction); } public void Arrowhead(float3 center, float3 direction, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) Arrowhead(center, direction, DEFAULT_UP, radius); } public void Arrowhead(float3 center, float3 direction, float3 up, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) if (!math.all(direction == 0f)) { direction = math.normalizesafe(direction, default(float3)); float3 val = math.cross(direction, up); float3 val2 = center - radius * 0.5f * 0.5f * direction; float3 val3 = val2 + radius * direction; float3 val4 = val2 - radius * 0.5f * direction + radius * 0.866025f * val; float3 val5 = val2 - radius * 0.5f * direction - radius * 0.866025f * val; Line(val3, val4); Line(val4, val2); Line(val2, val5); Line(val5, val3); } } public void ArrowheadArc(float3 origin, float3 direction, float offset, float width = 60f) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) if (math.any(direction)) { if (offset < 0f) { throw new ArgumentOutOfRangeException("offset"); } if (offset != 0f) { Quaternion val = Quaternion.LookRotation(float3.op_Implicit(direction), float3.op_Implicit(DEFAULT_UP)); PushMatrix(Matrix4x4.TRS(float3.op_Implicit(origin), val, Vector3.one)); float num = MathF.PI / 2f - width * (MathF.PI / 360f); float num2 = MathF.PI / 2f + width * (MathF.PI / 360f); CircleXZInternal(float3.zero, offset, num, num2); float3 a = new float3(math.cos(num), 0f, math.sin(num)) * offset; float3 b = new float3(math.cos(num2), 0f, math.sin(num2)) * offset; float3 val2 = default(float3); ((float3)(ref val2))..ctor(0f, 0f, 1.4142f * offset); Line(a, val2); Line(val2, b); PopMatrix(); } } } public void WireGrid(float3 center, quaternion rotation, int2 cells, float2 totalSize) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) cells = math.max(cells, new int2(1, 1)); PushMatrix(float4x4.TRS(center, rotation, float3.op_Implicit(new Vector3(totalSize.x, 0f, totalSize.y)))); int x = cells.x; int y = cells.y; for (int i = 0; i <= x; i++) { this.Line(new float3((float)i / (float)x - 0.5f, 0f, -0.5f), new float3((float)i / (float)x - 0.5f, 0f, 0.5f)); } for (int j = 0; j <= y; j++) { this.Line(new float3(-0.5f, 0f, (float)j / (float)y - 0.5f), new float3(0.5f, 0f, (float)j / (float)y - 0.5f)); } PopMatrix(); } public void WireTriangle(float3 a, float3 b, float3 c) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) Line(a, b); Line(b, c); Line(c, a); } [Obsolete("Use Draw.xz.WireRectangle instead")] public void WireRectangleXZ(float3 center, float2 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) WireRectangle(center, quaternion.identity, size); } public void WireRectangle(float3 center, quaternion rotation, float2 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) WirePlane(center, rotation, size); } [Obsolete("Use Draw.xy.WireRectangle instead")] public void WireRectangle(Rect rect) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) xy.WireRectangle(rect); } public void WireTriangle(float3 center, quaternion rotation, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 3, rotation, radius); } public void WirePentagon(float3 center, quaternion rotation, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 5, rotation, radius); } public void WireHexagon(float3 center, quaternion rotation, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 6, rotation, radius); } public void WirePolygon(float3 center, int vertices, quaternion rotation, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) PushMatrix(float4x4.TRS(center, rotation, new float3(radius, radius, radius))); float3 a = default(float3); ((float3)(ref a))..ctor(0f, 0f, 1f); float3 val = default(float3); for (int i = 1; i <= vertices; i++) { float num = MathF.PI * 2f * ((float)i / (float)vertices); ((float3)(ref val))..ctor(math.sin(num), 0f, math.cos(num)); Line(a, val); a = val; } PopMatrix(); } [Obsolete("Use Draw.xy.SolidRectangle instead")] public void SolidRectangle(Rect rect) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) xy.SolidRectangle(rect); } public void SolidPlane(float3 center, float3 normal, float2 size) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (math.any(normal)) { SolidPlane(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } } public void SolidPlane(float3 center, quaternion rotation, float2 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) PushMatrix(float4x4.TRS(center, rotation, new float3(size.x, 0f, size.y))); Reserve(); Add(Command.Box); Add(new BoxData { center = float3.op_Implicit(0), size = float3.op_Implicit(1) }); PopMatrix(); } private static float3 calculateTangent(float3 normal) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) float3 val = math.cross(new float3(0f, 1f, 0f), normal); if (math.all(val == 0f)) { val = math.cross(new float3(1f, 0f, 0f), normal); } return val; } public void WirePlane(float3 center, float3 normal, float2 size) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (math.any(normal)) { WirePlane(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } } public void WirePlane(float3 center, quaternion rotation, float2 size) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.WirePlane); Add(new PlaneData { center = center, rotation = rotation, size = size }); } public void PlaneWithNormal(float3 center, float3 normal, float2 size) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (math.any(normal)) { PlaneWithNormal(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } } public void PlaneWithNormal(float3 center, quaternion rotation, float2 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) SolidPlane(center, rotation, size); WirePlane(center, rotation, size); ArrowRelativeSizeHead(center, center + math.mul(rotation, new float3(0f, 1f, 0f)) * 0.5f, math.mul(rotation, new float3(0f, 0f, 1f)), 0.2f); } public void SolidTriangle(float3 a, float3 b, float3 c) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.SolidTriangle); Add(new TriangleData { a = a, b = b, c = c }); } public void SolidBox(float3 center, float3 size) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) Reserve(); Add(Command.Box); Add(new BoxData { center = center, size = size }); } public void SolidBox(Bounds bounds) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) SolidBox(float3.op_Implicit(((Bounds)(ref bounds)).center), float3.op_Implicit(((Bounds)(ref bounds)).size)); } public void SolidBox(float3 center, quaternion rotation, float3 size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) PushMatrix(float4x4.TRS(center, rotation, size)); SolidBox(float3.zero, float3.op_Implicit(Vector3.one)); PopMatrix(); } public void Label3D(float3 position, quaternion rotation, string text, float size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, text, size, LabelAlignment.MiddleLeft); } public void Label3D(float3 position, quaternion rotation, string text, float size, LabelAlignment alignment) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); Reserve(); Add(Command.Text3D); Add(new TextData3D { center = position, rotation = rotation, numCharacters = text.Length, size = size, alignment = alignment }); AddText(text); } public void Label2D(float3 position, string text, float sizeInPixels = 14f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, text, sizeInPixels, LabelAlignment.MiddleLeft); } public void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); Reserve(); Add(Command.Text); Add(new TextData { center = position, numCharacters = text.Length, sizeInPixels = sizeInPixels, alignment = alignment }); AddText(text); } private void AddText(string text) { DrawingData drawingData = gizmos.Target as DrawingData; Reserve(UnsafeUtility.SizeOf() * text.Length); foreach (char c in text) { ushort value = (ushort)drawingData.fontData.GetIndex(c); Add(value); } } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels = 14f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels = 14f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels = 14f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels = 14f) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft); } public unsafe void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ((FixedString32Bytes)(ref text)).GetUnsafePtr(), ((FixedString32Bytes)(ref text)).Length, sizeInPixels, alignment); } public unsafe void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ((FixedString64Bytes)(ref text)).GetUnsafePtr(), ((FixedString64Bytes)(ref text)).Length, sizeInPixels, alignment); } public unsafe void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ((FixedString128Bytes)(ref text)).GetUnsafePtr(), ((FixedString128Bytes)(ref text)).Length, sizeInPixels, alignment); } public unsafe void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ((FixedString512Bytes)(ref text)).GetUnsafePtr(), ((FixedString512Bytes)(ref text)).Length, sizeInPixels, alignment); } internal unsafe void Label2D(float3 position, byte* text, int byteCount, float sizeInPixels, LabelAlignment alignment) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); Reserve(); Add(Command.Text); Add(new TextData { center = position, numCharacters = byteCount, sizeInPixels = sizeInPixels, alignment = alignment }); Reserve(UnsafeUtility.SizeOf() * byteCount); for (int i = 0; i < byteCount; i++) { ushort num = text[i]; if (num >= 128) { num = 63; } if (num == 10) { num = ushort.MaxValue; } if (num != 13) { Add(num); } } } public void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft); } public void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft); } public void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft); } public void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ((FixedString32Bytes)(ref text)).GetUnsafePtr(), ((FixedString32Bytes)(ref text)).Length, size, alignment); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ((FixedString64Bytes)(ref text)).GetUnsafePtr(), ((FixedString64Bytes)(ref text)).Length, size, alignment); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ((FixedString128Bytes)(ref text)).GetUnsafePtr(), ((FixedString128Bytes)(ref text)).Length, size, alignment); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, LabelAlignment alignment) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ((FixedString512Bytes)(ref text)).GetUnsafePtr(), ((FixedString512Bytes)(ref text)).Length, size, alignment); } internal unsafe void Label3D(float3 position, quaternion rotation, byte* text, int byteCount, float size, LabelAlignment alignment) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); Reserve(); Add(Command.Text3D); Add(new TextData3D { center = position, rotation = rotation, numCharacters = byteCount, size = size, alignment = alignment }); Reserve(UnsafeUtility.SizeOf() * byteCount); for (int i = 0; i < byteCount; i++) { ushort num = text[i]; if (num >= 128) { num = 63; } if (num == 10) { num = ushort.MaxValue; } Add(num); } } public void Line(float3 a, float3 b, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.Line | Command.PushColorInline); Add(ConvertColor(color)); Add(new LineData { a = a, b = b }); } public void Ray(float3 origin, float3 direction, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Line(origin, origin + direction, color); } public void Ray(Ray ray, float length, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) Line(((Ray)(ref ray)).origin, ((Ray)(ref ray)).origin + ((Ray)(ref ray)).direction * length, color); } public void Arc(float3 center, float3 start, float3 end, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float3 val = start - center; float3 val2 = end - center; float3 val3 = math.cross(val2, val); if (math.any(val3 != 0f) && math.all(math.isfinite(val3))) { Matrix4x4 matrix = Matrix4x4.TRS(float3.op_Implicit(center), Quaternion.LookRotation(float3.op_Implicit(val), float3.op_Implicit(val3)), Vector3.one); float num = Vector3.SignedAngle(float3.op_Implicit(val), float3.op_Implicit(val2), float3.op_Implicit(val3)) * (MathF.PI / 180f); PushMatrix(matrix); CircleXZInternal(float3.zero, math.length(val), MathF.PI / 2f, MathF.PI / 2f - num); PopMatrix(); } PopColor(); } [Obsolete("Use Draw.xz.Circle instead")] public void CircleXZ(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) CircleXZInternal(center, radius, startAngle, endAngle, color); } [Obsolete("Use Draw.xz.Circle instead")] public void CircleXZ(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) CircleXZ(center, radius, 0f, MathF.PI * 2f, color); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PushMatrix(XZtoXYPlaneMatrix); CircleXZ(new float3(center.x, 0f - center.z, center.y), radius, startAngle, endAngle); PopMatrix(); PopColor(); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) CircleXY(center, radius, 0f, MathF.PI * 2f, color); } public void Circle(float3 center, float3 normal, float radius, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.Circle | Command.PushColorInline); Add(ConvertColor(color)); Add(new CircleData { center = center, normal = normal, radius = radius }); } public void SolidArc(float3 center, float3 start, float3 end, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float3 val = start - center; float3 val2 = end - center; float3 val3 = math.cross(val2, val); if (math.any(val3)) { Matrix4x4 matrix = Matrix4x4.TRS(float3.op_Implicit(center), Quaternion.LookRotation(float3.op_Implicit(val), float3.op_Implicit(val3)), Vector3.one); float num = Vector3.SignedAngle(float3.op_Implicit(val), float3.op_Implicit(val2), float3.op_Implicit(val3)) * (MathF.PI / 180f); PushMatrix(matrix); SolidCircleXZInternal(float3.zero, math.length(val), MathF.PI / 2f, MathF.PI / 2f - num); PopMatrix(); } PopColor(); } [Obsolete("Use Draw.xz.SolidCircle instead")] public void SolidCircleXZ(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) SolidCircleXZInternal(center, radius, startAngle, endAngle, color); } [Obsolete("Use Draw.xz.SolidCircle instead")] public void SolidCircleXZ(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) SolidCircleXZ(center, radius, 0f, MathF.PI * 2f, color); } [Obsolete("Use Draw.xy.SolidCircle instead")] public void SolidCircleXY(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PushMatrix(XZtoXYPlaneMatrix); SolidCircleXZInternal(new float3(center.x, 0f - center.z, center.y), radius, startAngle, endAngle); PopMatrix(); PopColor(); } [Obsolete("Use Draw.xy.SolidCircle instead")] public void SolidCircleXY(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) SolidCircleXY(center, radius, 0f, MathF.PI * 2f, color); } public void SolidCircle(float3 center, float3 normal, float radius, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.PushColorInline | Command.Disc); Add(ConvertColor(color)); Add(new CircleData { center = center, normal = normal, radius = radius }); } public void SphereOutline(float3 center, float radius, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.SphereOutline | Command.PushColorInline); Add(ConvertColor(color)); Add(new SphereData { center = center, radius = radius }); } public void WireCylinder(float3 bottom, float3 top, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) WireCylinder(bottom, top - bottom, math.length(top - bottom), radius, color); } public void WireCylinder(float3 position, float3 up, float height, float radius, Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) up = math.normalizesafe(up, default(float3)); if (!math.all(up == 0f) && !math.any(math.isnan(up)) && !math.isnan(height) && !math.isnan(radius)) { PushColor(color); OrthonormalBasis(up, out var basis, out var basis2); this.PushMatrix(new float4x4(new float4(basis * radius, 0f), new float4(up * height, 0f), new float4(basis2 * radius, 0f), new float4(position, 1f))); CircleXZInternal(float3.zero, 1f); if (height > 0f) { CircleXZInternal(new float3(0f, 1f, 0f), 1f); this.Line(new float3(1f, 0f, 0f), new float3(1f, 1f, 0f)); this.Line(new float3(-1f, 0f, 0f), new float3(-1f, 1f, 0f)); this.Line(new float3(0f, 0f, 1f), new float3(0f, 1f, 1f)); this.Line(new float3(0f, 0f, -1f), new float3(0f, 1f, -1f)); } PopMatrix(); PopColor(); } } public void WireCapsule(float3 start, float3 end, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float3 val = end - start; float num = math.length(val); if ((double)num < 0.0001) { WireSphere(start, radius); } else { float3 val2 = val / num; WireCapsule(start - val2 * radius, val2, num + 2f * radius, radius); } PopColor(); } public void WireCapsule(float3 position, float3 direction, float length, float radius, Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) direction = math.normalizesafe(direction, default(float3)); if (math.all(direction == 0f) || math.any(math.isnan(direction)) || math.isnan(length) || math.isnan(radius)) { return; } PushColor(color); if (radius <= 0f) { Line(position, position + direction * length); } else { length = math.max(length, radius * 2f); OrthonormalBasis(direction, out var basis, out var basis2); this.PushMatrix(new float4x4(new float4(basis, 0f), new float4(direction, 0f), new float4(basis2, 0f), new float4(position, 1f))); CircleXZInternal(new float3(0f, radius, 0f), radius); PushMatrix(XZtoXYPlaneMatrix); CircleXZInternal(new float3(0f, 0f, radius), radius, MathF.PI); PopMatrix(); PushMatrix(XZtoYZPlaneMatrix); CircleXZInternal(new float3(radius, 0f, 0f), radius, MathF.PI / 2f, 4.712389f); PopMatrix(); if (length > 0f) { float num = length - radius; CircleXZInternal(new float3(0f, num, 0f), radius); PushMatrix(XZtoXYPlaneMatrix); CircleXZInternal(new float3(0f, 0f, num), radius, 0f, MathF.PI); PopMatrix(); PushMatrix(XZtoYZPlaneMatrix); CircleXZInternal(new float3(num, 0f, 0f), radius, -MathF.PI / 2f, MathF.PI / 2f); PopMatrix(); this.Line(new float3(radius, radius, 0f), new float3(radius, num, 0f)); this.Line(new float3(0f - radius, radius, 0f), new float3(0f - radius, num, 0f)); this.Line(new float3(0f, radius, radius), new float3(0f, num, radius)); this.Line(new float3(0f, radius, 0f - radius), new float3(0f, num, 0f - radius)); } PopMatrix(); } PopColor(); } public void WireSphere(float3 position, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) PushColor(color); SphereOutline(position, radius); Circle(position, new float3(1f, 0f, 0f), radius); Circle(position, new float3(0f, 1f, 0f), radius); Circle(position, new float3(0f, 0f, 1f), radius); PopColor(); } [BurstDiscard] public void Polyline(List points, bool cycle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); for (int i = 0; i < points.Count - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Count > 1) { Line(points[points.Count - 1], points[0]); } PopColor(); } [BurstDiscard] public void Polyline(List points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(Vector3[] points, bool cycle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } PopColor(); } [BurstDiscard] public void Polyline(Vector3[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(float3[] points, bool cycle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } PopColor(); } [BurstDiscard] public void Polyline(float3[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void Polyline(NativeArray points, bool cycle, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[points.Length - 1], points[0]); } PopColor(); } public void Polyline(NativeArray points, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void DashedLine(float3 a, float3 b, float dash, float gap, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PolylineWithSymbol polylineWithSymbol = new PolylineWithSymbol(SymbolDecoration.None, gap, 0f, dash + gap); polylineWithSymbol.MoveTo(ref this, a); polylineWithSymbol.MoveTo(ref this, b); PopColor(); } public void DashedPolyline(List points, float dash, float gap, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PolylineWithSymbol polylineWithSymbol = new PolylineWithSymbol(SymbolDecoration.None, gap, 0f, dash + gap); for (int i = 0; i < points.Count; i++) { polylineWithSymbol.MoveTo(ref this, float3.op_Implicit(points[i])); } PopColor(); } public void WireBox(float3 center, float3 size, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.WireBox | Command.PushColorInline); Add(ConvertColor(color)); Add(new BoxData { center = center, size = size }); } public void WireBox(float3 center, quaternion rotation, float3 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PushMatrix(float4x4.TRS(center, rotation, size)); WireBox(float3.zero, new float3(1f, 1f, 1f)); PopMatrix(); PopColor(); } public void WireBox(Bounds bounds, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) WireBox(float3.op_Implicit(((Bounds)(ref bounds)).center), float3.op_Implicit(((Bounds)(ref bounds)).size), color); } public void WireMesh(Mesh mesh, Color color) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)mesh == (Object)null) { throw new ArgumentNullException(); } PushColor(color); MeshDataArray val = Mesh.AcquireReadOnlyMeshData(mesh); MeshData rawMeshData = ((MeshDataArray)(ref val))[0]; JobWireMesh.JobWireMeshFunctionPointer(ref rawMeshData, ref this); ((MeshDataArray)(ref val)).Dispose(); PopColor(); } public unsafe void WireMesh(NativeArray vertices, NativeArray triangles, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); JobWireMesh.WireMesh((float3*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(vertices), (int*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(triangles), vertices.Length, triangles.Length, ref this); PopColor(); } public void SolidMesh(Mesh mesh, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) SolidMeshInternal(mesh, temporary: false, color); } public void Cross(float3 position, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) PushColor(color); size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, size, 0f), position + new float3(0f, size, 0f)); Line(position - new float3(0f, 0f, size), position + new float3(0f, 0f, size)); PopColor(); } public void Cross(float3 position, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) Cross(position, 1f, color); } [Obsolete("Use Draw.xz.Cross instead")] public void CrossXZ(float3 position, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, 0f, size), position + new float3(0f, 0f, size)); PopColor(); } [Obsolete("Use Draw.xz.Cross instead")] public void CrossXZ(float3 position, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) CrossXZ(position, 1f, color); } [Obsolete("Use Draw.xy.Cross instead")] public void CrossXY(float3 position, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); size *= 0.5f; Line(position - new float3(size, 0f, 0f), position + new float3(size, 0f, 0f)); Line(position - new float3(0f, size, 0f), position + new float3(0f, size, 0f)); PopColor(); } [Obsolete("Use Draw.xy.Cross instead")] public void CrossXY(float3 position, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) CrossXY(position, 1f, color); } public void Bezier(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float3 a = p0; for (int i = 1; i <= 20; i++) { float t = (float)i / 20f; float3 val = EvaluateCubicBezier(p0, p1, p2, p3, t); Line(a, val); a = val; } PopColor(); } public void CatmullRom(List points, Color color) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) if (points.Count < 2) { return; } PushColor(color); if (points.Count == 2) { Line(points[0], points[1]); } else { int count = points.Count; CatmullRom(float3.op_Implicit(points[0]), float3.op_Implicit(points[0]), float3.op_Implicit(points[1]), float3.op_Implicit(points[2])); for (int i = 0; i + 3 < count; i++) { CatmullRom(float3.op_Implicit(points[i]), float3.op_Implicit(points[i + 1]), float3.op_Implicit(points[i + 2]), float3.op_Implicit(points[i + 3])); } CatmullRom(float3.op_Implicit(points[count - 3]), float3.op_Implicit(points[count - 2]), float3.op_Implicit(points[count - 1]), float3.op_Implicit(points[count - 1])); } PopColor(); } public void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float3 p4 = (-p0 + 6f * p1 + 1f * p2) * (1f / 6f); float3 p5 = (p1 + 6f * p2 - p3) * (1f / 6f); Bezier(p1, p4, p5, p2); PopColor(); } public void Arrow(float3 from, float3 to, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) ArrowRelativeSizeHead(from, to, DEFAULT_UP, 0.2f, color); } public void Arrow(float3 from, float3 to, float3 up, float headSize, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) PushColor(color); float num = math.lengthsq(to - from); if (num > 1E-06f) { ArrowRelativeSizeHead(from, to, up, headSize * math.rsqrt(num)); } PopColor(); } public void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Line(from, to); float3 val = to - from; float3 val2 = math.cross(val, up); if (math.all(val2 == 0f)) { val2 = math.cross(new float3(1f, 0f, 0f), val); } if (math.all(val2 == 0f)) { val2 = math.cross(new float3(0f, 1f, 0f), val); } val2 = math.normalizesafe(val2, default(float3)) * math.length(val); Line(to, to - (val + val2) * headFraction); Line(to, to - (val - val2) * headFraction); PopColor(); } public void Arrowhead(float3 center, float3 direction, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Arrowhead(center, direction, DEFAULT_UP, radius, color); } public void Arrowhead(float3 center, float3 direction, float3 up, float radius, Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) if (!math.all(direction == 0f)) { PushColor(color); direction = math.normalizesafe(direction, default(float3)); float3 val = math.cross(direction, up); float3 val2 = center - radius * 0.5f * 0.5f * direction; float3 val3 = val2 + radius * direction; float3 val4 = val2 - radius * 0.5f * direction + radius * 0.866025f * val; float3 val5 = val2 - radius * 0.5f * direction - radius * 0.866025f * val; Line(val3, val4); Line(val4, val2); Line(val2, val5); Line(val5, val3); PopColor(); } } public void ArrowheadArc(float3 origin, float3 direction, float offset, float width, Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) if (math.any(direction)) { if (offset < 0f) { throw new ArgumentOutOfRangeException("offset"); } if (offset != 0f) { PushColor(color); Quaternion val = Quaternion.LookRotation(float3.op_Implicit(direction), float3.op_Implicit(DEFAULT_UP)); PushMatrix(Matrix4x4.TRS(float3.op_Implicit(origin), val, Vector3.one)); float num = MathF.PI / 2f - width * (MathF.PI / 360f); float num2 = MathF.PI / 2f + width * (MathF.PI / 360f); CircleXZInternal(float3.zero, offset, num, num2); float3 a = new float3(math.cos(num), 0f, math.sin(num)) * offset; float3 b = new float3(math.cos(num2), 0f, math.sin(num2)) * offset; float3 val2 = default(float3); ((float3)(ref val2))..ctor(0f, 0f, 1.4142f * offset); Line(a, val2); Line(val2, b); PopMatrix(); PopColor(); } } } public void ArrowheadArc(float3 origin, float3 direction, float offset, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) ArrowheadArc(origin, direction, offset, 60f, color); } public void WireGrid(float3 center, quaternion rotation, int2 cells, float2 totalSize, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) PushColor(color); cells = math.max(cells, new int2(1, 1)); PushMatrix(float4x4.TRS(center, rotation, float3.op_Implicit(new Vector3(totalSize.x, 0f, totalSize.y)))); int x = cells.x; int y = cells.y; for (int i = 0; i <= x; i++) { this.Line(new float3((float)i / (float)x - 0.5f, 0f, -0.5f), new float3((float)i / (float)x - 0.5f, 0f, 0.5f)); } for (int j = 0; j <= y; j++) { this.Line(new float3(-0.5f, 0f, (float)j / (float)y - 0.5f), new float3(0.5f, 0f, (float)j / (float)y - 0.5f)); } PopMatrix(); PopColor(); } public void WireTriangle(float3 a, float3 b, float3 c, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Line(a, b); Line(b, c); Line(c, a); PopColor(); } [Obsolete("Use Draw.xz.WireRectangle instead")] public void WireRectangleXZ(float3 center, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) WireRectangle(center, quaternion.identity, size, color); } public void WireRectangle(float3 center, quaternion rotation, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) WirePlane(center, rotation, size, color); } [Obsolete("Use Draw.xy.WireRectangle instead")] public void WireRectangle(Rect rect, Color color) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) xy.WireRectangle(rect, color); } public void WireTriangle(float3 center, quaternion rotation, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 3, rotation, radius, color); } public void WirePentagon(float3 center, quaternion rotation, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 5, rotation, radius, color); } public void WireHexagon(float3 center, quaternion rotation, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) WirePolygon(center, 6, rotation, radius, color); } public void WirePolygon(float3 center, int vertices, quaternion rotation, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PushMatrix(float4x4.TRS(center, rotation, new float3(radius, radius, radius))); float3 a = default(float3); ((float3)(ref a))..ctor(0f, 0f, 1f); float3 val = default(float3); for (int i = 1; i <= vertices; i++) { float num = MathF.PI * 2f * ((float)i / (float)vertices); ((float3)(ref val))..ctor(math.sin(num), 0f, math.cos(num)); Line(a, val); a = val; } PopMatrix(); PopColor(); } [Obsolete("Use Draw.xy.SolidRectangle instead")] public void SolidRectangle(Rect rect, Color color) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) xy.SolidRectangle(rect, color); } public void SolidPlane(float3 center, float3 normal, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); if (math.any(normal)) { SolidPlane(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } PopColor(); } public void SolidPlane(float3 center, quaternion rotation, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) PushMatrix(float4x4.TRS(center, rotation, new float3(size.x, 0f, size.y))); this.Reserve(); Add(Command.Box | Command.PushColorInline); Add(ConvertColor(color)); Add(new BoxData { center = float3.op_Implicit(0), size = float3.op_Implicit(1) }); PopMatrix(); } public void WirePlane(float3 center, float3 normal, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); if (math.any(normal)) { WirePlane(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } PopColor(); } public void WirePlane(float3 center, quaternion rotation, float2 size, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.WirePlane | Command.PushColorInline); Add(ConvertColor(color)); Add(new PlaneData { center = center, rotation = rotation, size = size }); } public void PlaneWithNormal(float3 center, float3 normal, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) PushColor(color); if (math.any(normal)) { PlaneWithNormal(center, quaternion.op_Implicit(Quaternion.LookRotation(float3.op_Implicit(calculateTangent(normal)), float3.op_Implicit(normal))), size); } PopColor(); } public void PlaneWithNormal(float3 center, quaternion rotation, float2 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) PushColor(color); SolidPlane(center, rotation, size); WirePlane(center, rotation, size); ArrowRelativeSizeHead(center, center + math.mul(rotation, new float3(0f, 1f, 0f)) * 0.5f, math.mul(rotation, new float3(0f, 0f, 1f)), 0.2f); PopColor(); } public void SolidTriangle(float3 a, float3 b, float3 c, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.SolidTriangle | Command.PushColorInline); Add(ConvertColor(color)); Add(new TriangleData { a = a, b = b, c = c }); } public void SolidBox(float3 center, float3 size, Color color) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) this.Reserve(); Add(Command.Box | Command.PushColorInline); Add(ConvertColor(color)); Add(new BoxData { center = center, size = size }); } public void SolidBox(Bounds bounds, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) SolidBox(float3.op_Implicit(((Bounds)(ref bounds)).center), float3.op_Implicit(((Bounds)(ref bounds)).size), color); } public void SolidBox(float3 center, quaternion rotation, float3 size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) PushColor(color); PushMatrix(float4x4.TRS(center, rotation, size)); SolidBox(float3.zero, float3.op_Implicit(Vector3.one)); PopMatrix(); PopColor(); } public void Label3D(float3 position, quaternion rotation, string text, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, text, size, LabelAlignment.MiddleLeft, color); } public void Label3D(float3 position, quaternion rotation, string text, float size, LabelAlignment alignment, Color color) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); this.Reserve(); Add(Command.Text3D | Command.PushColorInline); Add(ConvertColor(color)); Add(new TextData3D { center = position, rotation = rotation, numCharacters = text.Length, size = size, alignment = alignment }); AddText(text); } public void Label2D(float3 position, string text, float sizeInPixels, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Label2D(position, text, sizeInPixels, LabelAlignment.MiddleLeft, color); } public void Label2D(float3 position, string text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, text, 14f, color); } public void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) AssertBufferExists(); this.Reserve(); Add(Command.Text | Command.PushColorInline); Add(ConvertColor(color)); Add(new TextData { center = position, numCharacters = text.Length, sizeInPixels = sizeInPixels, alignment = alignment }); AddText(text); } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft, color); } public void Label2D(float3 position, ref FixedString32Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft, color); } public void Label2D(float3 position, ref FixedString64Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft, color); } public void Label2D(float3 position, ref FixedString128Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, sizeInPixels, LabelAlignment.MiddleLeft, color); } public void Label2D(float3 position, ref FixedString512Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public unsafe void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label2D(position, ((FixedString32Bytes)(ref text)).GetUnsafePtr(), ((FixedString32Bytes)(ref text)).Length, sizeInPixels, alignment); PopColor(); } public unsafe void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label2D(position, ((FixedString64Bytes)(ref text)).GetUnsafePtr(), ((FixedString64Bytes)(ref text)).Length, sizeInPixels, alignment); PopColor(); } public unsafe void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label2D(position, ((FixedString128Bytes)(ref text)).GetUnsafePtr(), ((FixedString128Bytes)(ref text)).Length, sizeInPixels, alignment); PopColor(); } public unsafe void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label2D(position, ((FixedString512Bytes)(ref text)).GetUnsafePtr(), ((FixedString512Bytes)(ref text)).Length, sizeInPixels, alignment); PopColor(); } public void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft, color); } public void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft, color); } public void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft, color); } public void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Label3D(position, rotation, ref text, size, LabelAlignment.MiddleLeft, color); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label3D(position, rotation, ((FixedString32Bytes)(ref text)).GetUnsafePtr(), ((FixedString32Bytes)(ref text)).Length, size, alignment); PopColor(); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label3D(position, rotation, ((FixedString64Bytes)(ref text)).GetUnsafePtr(), ((FixedString64Bytes)(ref text)).Length, size, alignment); PopColor(); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label3D(position, rotation, ((FixedString128Bytes)(ref text)).GetUnsafePtr(), ((FixedString128Bytes)(ref text)).Length, size, alignment); PopColor(); } public unsafe void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, LabelAlignment alignment, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) PushColor(color); Label3D(position, rotation, ((FixedString512Bytes)(ref text)).GetUnsafePtr(), ((FixedString512Bytes)(ref text)).Length, size, alignment); PopColor(); } public static void Initialize$JobWireMesh_WireMesh_000000FE$BurstDirectCall() { JobWireMesh.WireMesh_000000FE$BurstDirectCall.Initialize(); } public static void Initialize$JobWireMesh_Execute_000000FF$BurstDirectCall() { JobWireMesh.Execute_000000FF$BurstDirectCall.Initialize(); } } public struct CommandBuilder2D { private CommandBuilder draw; private bool xy; private static readonly float3 XY_UP = new float3(0f, 0f, 1f); private static readonly float3 XZ_UP = new float3(0f, 1f, 0f); private static readonly quaternion XY_TO_XZ_ROTATION = quaternion.RotateX(-MathF.PI / 2f); private static readonly quaternion XZ_TO_XZ_ROTATION = quaternion.identity; private static readonly float4x4 XZ_TO_XY_MATRIX = new float4x4(new float4(1f, 0f, 0f, 0f), new float4(0f, 0f, 1f, 0f), new float4(0f, 1f, 0f, 0f), new float4(0f, 0f, 0f, 1f)); public CommandBuilder2D(CommandBuilder draw, bool xy) { this.draw = draw; this.xy = xy; } public unsafe void Line(float2 a, float2 b) { //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) draw.Reserve(); UnsafeAppendBuffer* buffer = draw.buffer; int length = ((UnsafeAppendBuffer)buffer).Length; int length2 = length + 4 + 24; byte* num = ((UnsafeAppendBuffer)buffer).Ptr + length; *(int*)num = 5; CommandBuilder.LineData* ptr = (CommandBuilder.LineData*)(num + 4); if (xy) { Unsafe.Write(&ptr->a, new float3(a, 0f)); Unsafe.Write(&ptr->b, new float3(b, 0f)); } else { Unsafe.Write(&ptr->a, new float3(a.x, 0f, a.y)); Unsafe.Write(&ptr->b, new float3(b.x, 0f, b.y)); } ((UnsafeAppendBuffer)buffer).Length = length2; } public unsafe void Line(float2 a, float2 b, Color color) { //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) draw.Reserve(); UnsafeAppendBuffer* buffer = draw.buffer; int length = ((UnsafeAppendBuffer)buffer).Length; int length2 = length + 4 + 24 + 4; byte* num = ((UnsafeAppendBuffer)buffer).Ptr + length; *(int*)num = 261; ((int*)num)[1] = (int)CommandBuilder.ConvertColor(color); CommandBuilder.LineData* ptr = (CommandBuilder.LineData*)(num + 8); if (xy) { Unsafe.Write(&ptr->a, new float3(a, 0f)); Unsafe.Write(&ptr->b, new float3(b, 0f)); } else { Unsafe.Write(&ptr->a, new float3(a.x, 0f, a.y)); Unsafe.Write(&ptr->b, new float3(b.x, 0f, b.y)); } ((UnsafeAppendBuffer)buffer).Length = length2; } public void Line(float3 a, float3 b) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.Line(a, b); } public void Circle(float2 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Circle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle); } public void Circle(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) if (xy) { draw.PushMatrix(XZ_TO_XY_MATRIX); draw.CircleXZInternal(new float3(center.x, center.z, center.y), radius, startAngle, endAngle); draw.PopMatrix(); } else { draw.CircleXZInternal(center, radius, startAngle, endAngle); } } public void SolidCircle(float2 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.SolidCircle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle); } public void SolidCircle(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) if (xy) { draw.PushMatrix(XZ_TO_XY_MATRIX); } draw.SolidCircleXZInternal((float3)(xy ? new float3(center.x, center.z, center.y) : center), radius, startAngle, endAngle); if (xy) { draw.PopMatrix(); } } public void WirePill(float2 a, float2 b, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) WirePill(a, b - a, math.length(b - a), radius); } public void WirePill(float2 position, float2 direction, float length, float radius) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) direction = math.normalizesafe(direction, default(float2)); if (radius <= 0f) { Line(position, position + direction * length); return; } if (length <= 0f || math.all(direction == 0f)) { Circle(position, radius); return; } float4x4 matrix = default(float4x4); if (xy) { ((float4x4)(ref matrix))..ctor(new float4(direction, 0f, 0f), new float4(math.cross(new float3(direction, 0f), XY_UP), 0f), new float4(0f, 0f, 1f, 0f), new float4(position, 0f, 1f)); } else { ((float4x4)(ref matrix))..ctor(new float4(direction.x, 0f, direction.y, 0f), new float4(0f, 1f, 0f, 0f), new float4(math.cross(new float3(direction.x, 0f, direction.y), XZ_UP), 0f), new float4(position.x, 0f, position.y, 1f)); } draw.PushMatrix(matrix); this.Circle(new float2(0f, 0f), radius, MathF.PI / 2f, 4.712389f); this.Line(new float2(0f, 0f - radius), new float2(length, 0f - radius)); this.Circle(new float2(length, 0f), radius, -MathF.PI / 2f, MathF.PI / 2f); this.Line(new float2(0f, radius), new float2(length, radius)); draw.PopMatrix(); } [BurstDiscard] public void Polyline(List points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Count - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Count > 1) { Line(points[points.Count - 1], points[0]); } } [BurstDiscard] public void Polyline(Vector2[] points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } } [BurstDiscard] public void Polyline(float2[] points, bool cycle = false) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } } public void Polyline(NativeArray points, bool cycle = false) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[points.Length - 1], points[0]); } } public void Cross(float2 position, float size = 1f) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) size *= 0.5f; Line(position - new float2(size, 0f), position + new float2(size, 0f)); Line(position - new float2(0f, size), position + new float2(0f, size)); } public void WireRectangle(float3 center, float2 size) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) draw.WirePlane(center, xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, size); } public void WireRectangle(Rect rect) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) float2 val = float2.op_Implicit(((Rect)(ref rect)).min); float2 val2 = float2.op_Implicit(((Rect)(ref rect)).max); this.Line(new float2(val.x, val.y), new float2(val2.x, val.y)); this.Line(new float2(val2.x, val.y), new float2(val2.x, val2.y)); this.Line(new float2(val2.x, val2.y), new float2(val.x, val2.y)); this.Line(new float2(val.x, val2.y), new float2(val.x, val.y)); } public void SolidRectangle(Rect rect) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) draw.SolidPlane(new float3(((Rect)(ref rect)).center.x, ((Rect)(ref rect)).center.y, 0f), xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, new float2(((Rect)(ref rect)).width, ((Rect)(ref rect)).height)); } public void WireGrid(float2 center, int2 cells, float2 totalSize) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) draw.WireGrid(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, cells, totalSize); } public void WireGrid(float3 center, int2 cells, float2 totalSize) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) draw.WireGrid(center, xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, cells, totalSize); } [BurstDiscard] public CommandBuilder.ScopeMatrix WithMatrix(Matrix4x4 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return draw.WithMatrix(matrix); } [BurstDiscard] public CommandBuilder.ScopeMatrix WithMatrix(float3x3 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return draw.WithMatrix(matrix); } [BurstDiscard] public CommandBuilder.ScopeColor WithColor(Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return draw.WithColor(color); } [BurstDiscard] public CommandBuilder.ScopePersist WithDuration(float duration) { return draw.WithDuration(duration); } [BurstDiscard] public CommandBuilder.ScopeLineWidth WithLineWidth(float pixels, bool automaticJoins = true) { return draw.WithLineWidth(pixels, automaticJoins); } [BurstDiscard] public CommandBuilder.ScopeMatrix InLocalSpace(Transform transform) { return draw.InLocalSpace(transform); } [BurstDiscard] public CommandBuilder.ScopeMatrix InScreenSpace(Camera camera) { return draw.InScreenSpace(camera); } public void PushMatrix(Matrix4x4 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.PushMatrix(matrix); } public void PushMatrix(float4x4 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.PushMatrix(matrix); } public void PushSetMatrix(Matrix4x4 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.PushSetMatrix(matrix); } public void PushSetMatrix(float4x4 matrix) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.PushSetMatrix(matrix); } public void PopMatrix() { draw.PopMatrix(); } public void PushColor(Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); } public void PopColor() { draw.PopColor(); } public void PushDuration(float duration) { draw.PushDuration(duration); } public void PopDuration() { draw.PopDuration(); } [Obsolete("Renamed to PushDuration for consistency")] public void PushPersist(float duration) { draw.PushPersist(duration); } [Obsolete("Renamed to PopDuration for consistency")] public void PopPersist() { draw.PopPersist(); } public void PushLineWidth(float pixels, bool automaticJoins = true) { draw.PushLineWidth(pixels, automaticJoins); } public void PopLineWidth() { draw.PopLineWidth(); } public void Line(Vector3 a, Vector3 b) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.Line(a, b); } public void Line(Vector2 a, Vector2 b) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) this.Line(xy ? new Vector3(a.x, a.y, 0f) : new Vector3(a.x, 0f, a.y), xy ? new Vector3(b.x, b.y, 0f) : new Vector3(b.x, 0f, b.y)); } public void Line(Vector3 a, Vector3 b, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Line(a, b, color); } public void Line(Vector2 a, Vector2 b, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) this.Line(xy ? new Vector3(a.x, a.y, 0f) : new Vector3(a.x, 0f, a.y), xy ? new Vector3(b.x, b.y, 0f) : new Vector3(b.x, 0f, b.y), color); } public void Ray(float3 origin, float3 direction) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.Ray(origin, direction); } public void Ray(float2 origin, float2 direction) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) this.Ray(xy ? new float3(origin, 0f) : new float3(origin.x, 0f, origin.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y)); } public void Ray(Ray ray, float length) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Ray(ray, length); } public void Arc(float3 center, float3 start, float3 end) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Arc(center, start, end); } public void Arc(float2 center, float2 start, float2 end) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.Arc(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(start, 0f) : new float3(start.x, 0f, start.y), xy ? new float3(end, 0f) : new float3(end.x, 0f, end.y)); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.CircleXY(center, radius, startAngle, endAngle); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float2 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.CircleXY(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle); } public void SolidArc(float3 center, float3 start, float3 end) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.SolidArc(center, start, end); } public void SolidArc(float2 center, float2 start, float2 end) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.SolidArc(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(start, 0f) : new float3(start.x, 0f, start.y), xy ? new float3(end, 0f) : new float3(end.x, 0f, end.y)); } [BurstDiscard] public void Polyline(List points, bool cycle = false) { draw.Polyline(points, cycle); } [BurstDiscard] public void Polyline(Vector3[] points, bool cycle = false) { draw.Polyline(points, cycle); } [BurstDiscard] public void Polyline(float3[] points, bool cycle = false) { draw.Polyline(points, cycle); } public void Polyline(NativeArray points, bool cycle = false) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Polyline(points, cycle); } public void DashedLine(float3 a, float3 b, float dash, float gap) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.DashedLine(a, b, dash, gap); } public void DashedLine(float2 a, float2 b, float dash, float gap) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) this.DashedLine(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), dash, gap); } public void DashedPolyline(List points, float dash, float gap) { draw.DashedPolyline(points, dash, gap); } public void Cross(float3 position, float size = 1f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Cross(position, size); } public void Bezier(float3 p0, float3 p1, float3 p2, float3 p3) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Bezier(p0, p1, p2, p3); } public void Bezier(float2 p0, float2 p1, float2 p2, float2 p3) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) this.Bezier(xy ? new float3(p0, 0f) : new float3(p0.x, 0f, p0.y), xy ? new float3(p1, 0f) : new float3(p1.x, 0f, p1.y), xy ? new float3(p2, 0f) : new float3(p2.x, 0f, p2.y), xy ? new float3(p3, 0f) : new float3(p3.x, 0f, p3.y)); } public void CatmullRom(List points) { draw.CatmullRom(points); } public void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.CatmullRom(p0, p1, p2, p3); } public void CatmullRom(float2 p0, float2 p1, float2 p2, float2 p3) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) this.CatmullRom(xy ? new float3(p0, 0f) : new float3(p0.x, 0f, p0.y), xy ? new float3(p1, 0f) : new float3(p1.x, 0f, p1.y), xy ? new float3(p2, 0f) : new float3(p2.x, 0f, p2.y), xy ? new float3(p3, 0f) : new float3(p3.x, 0f, p3.y)); } public void Arrow(float3 from, float3 to) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) ArrowRelativeSizeHead(from, to, xy ? XY_UP : XZ_UP, 0.2f); } public void Arrow(float2 from, float2 to) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) this.Arrow(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y)); } public void Arrow(float3 from, float3 to, float3 up, float headSize) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Arrow(from, to, up, headSize); } public void Arrow(float2 from, float2 to, float2 up, float headSize) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.Arrow(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), headSize); } public void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.ArrowRelativeSizeHead(from, to, up, headFraction); } public void ArrowRelativeSizeHead(float2 from, float2 to, float2 up, float headFraction) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.ArrowRelativeSizeHead(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), headFraction); } public void Arrowhead(float3 center, float3 direction, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) Arrowhead(center, direction, xy ? XY_UP : XZ_UP, radius); } public void Arrowhead(float2 center, float2 direction, float radius) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) this.Arrowhead(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), radius); } public void Arrowhead(float3 center, float3 direction, float3 up, float radius) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Arrowhead(center, direction, up, radius); } public void Arrowhead(float2 center, float2 direction, float2 up, float radius) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.Arrowhead(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), radius); } public void ArrowheadArc(float3 origin, float3 direction, float offset, float width = 60f) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) if (math.any(direction)) { if (offset < 0f) { throw new ArgumentOutOfRangeException("offset"); } if (offset != 0f) { Quaternion val = Quaternion.LookRotation(float3.op_Implicit(direction), float3.op_Implicit(xy ? XY_UP : XZ_UP)); PushMatrix(Matrix4x4.TRS(float3.op_Implicit(origin), val, Vector3.one)); float num = MathF.PI / 2f - width * (MathF.PI / 360f); float num2 = MathF.PI / 2f + width * (MathF.PI / 360f); draw.CircleXZInternal(float3.zero, offset, num, num2); float3 a = new float3(math.cos(num), 0f, math.sin(num)) * offset; float3 b = new float3(math.cos(num2), 0f, math.sin(num2)) * offset; float3 val2 = default(float3); ((float3)(ref val2))..ctor(0f, 0f, 1.4142f * offset); Line(a, val2); Line(val2, b); PopMatrix(); } } } public void ArrowheadArc(float2 origin, float2 direction, float offset, float width = 60f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) this.ArrowheadArc(xy ? new float3(origin, 0f) : new float3(origin.x, 0f, origin.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), offset, width); } public void WireTriangle(float3 a, float3 b, float3 c) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.WireTriangle(a, b, c); } public void WireTriangle(float2 a, float2 b, float2 c) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.WireTriangle(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), xy ? new float3(c, 0f) : new float3(c.x, 0f, c.y)); } public void WireRectangle(float3 center, quaternion rotation, float2 size) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.WireRectangle(center, rotation, size); } public void WireRectangle(float2 center, quaternion rotation, float2 size) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) this.WireRectangle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), rotation, size); } public void WireTriangle(float3 center, quaternion rotation, float radius) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.WireTriangle(center, rotation, radius); } public void WireTriangle(float2 center, quaternion rotation, float radius) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) this.WireTriangle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), rotation, radius); } public void SolidTriangle(float3 a, float3 b, float3 c) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.SolidTriangle(a, b, c); } public void SolidTriangle(float2 a, float2 b, float2 c) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) this.SolidTriangle(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), xy ? new float3(c, 0f) : new float3(c.x, 0f, c.y)); } public void Label2D(float3 position, string text, float sizeInPixels = 14f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, text, sizeInPixels); } public void Label2D(float2 position, string text, float sizeInPixels = 14f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), text, sizeInPixels); } public void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, text, sizeInPixels, alignment); } public void Label2D(float2 position, string text, float sizeInPixels, LabelAlignment alignment) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), text, sizeInPixels, alignment); } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels = 14f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels); } public void Label2D(float2 position, ref FixedString32Bytes text, float sizeInPixels = 14f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels = 14f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels); } public void Label2D(float2 position, ref FixedString64Bytes text, float sizeInPixels = 14f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels = 14f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels); } public void Label2D(float2 position, ref FixedString128Bytes text, float sizeInPixels = 14f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels = 14f) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels); } public void Label2D(float2 position, ref FixedString512Bytes text, float sizeInPixels = 14f) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels); } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment); } public void Label2D(float2 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment); } public void Label2D(float2 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment); } public void Label2D(float2 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment); } public void Label2D(float2 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment); } public void Ray(float3 origin, float3 direction, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Ray(origin, direction, color); } public void Ray(float2 origin, float2 direction, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) this.Ray(xy ? new float3(origin, 0f) : new float3(origin.x, 0f, origin.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), color); } public void Ray(Ray ray, float length, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Ray(ray, length, color); } public void Arc(float3 center, float3 start, float3 end, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Arc(center, start, end, color); } public void Arc(float2 center, float2 start, float2 end, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) this.Arc(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(start, 0f) : new float3(start.x, 0f, start.y), xy ? new float3(end, 0f) : new float3(end.x, 0f, end.y), color); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.CircleXY(center, radius, startAngle, endAngle, color); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) CircleXY(center, radius, 0f, MathF.PI * 2f, color); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float2 center, float radius, float startAngle, float endAngle, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.CircleXY(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle, color); } [Obsolete("Use Draw.xy.Circle instead")] public void CircleXY(float2 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) CircleXY(center, radius, 0f, MathF.PI * 2f, color); } public void SolidArc(float3 center, float3 start, float3 end, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.SolidArc(center, start, end, color); } public void SolidArc(float2 center, float2 start, float2 end, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) this.SolidArc(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(start, 0f) : new float3(start.x, 0f, start.y), xy ? new float3(end, 0f) : new float3(end.x, 0f, end.y), color); } [BurstDiscard] public void Polyline(List points, bool cycle, Color color) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Polyline(points, cycle, color); } [BurstDiscard] public void Polyline(List points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(Vector3[] points, bool cycle, Color color) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Polyline(points, cycle, color); } [BurstDiscard] public void Polyline(Vector3[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(float3[] points, bool cycle, Color color) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Polyline(points, cycle, color); } [BurstDiscard] public void Polyline(float3[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void Polyline(NativeArray points, bool cycle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Polyline(points, cycle, color); } public void Polyline(NativeArray points, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void DashedLine(float3 a, float3 b, float dash, float gap, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.DashedLine(a, b, dash, gap, color); } public void DashedLine(float2 a, float2 b, float dash, float gap, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) this.DashedLine(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), dash, gap, color); } public void DashedPolyline(List points, float dash, float gap, Color color) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.DashedPolyline(points, dash, gap, color); } public void Cross(float3 position, float size, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Cross(position, size, color); } public void Cross(float3 position, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) Cross(position, 1f, color); } public void Bezier(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Bezier(p0, p1, p2, p3, color); } public void Bezier(float2 p0, float2 p1, float2 p2, float2 p3, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) this.Bezier(xy ? new float3(p0, 0f) : new float3(p0.x, 0f, p0.y), xy ? new float3(p1, 0f) : new float3(p1.x, 0f, p1.y), xy ? new float3(p2, 0f) : new float3(p2.x, 0f, p2.y), xy ? new float3(p3, 0f) : new float3(p3.x, 0f, p3.y), color); } public void CatmullRom(List points, Color color) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) draw.CatmullRom(points, color); } public void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.CatmullRom(p0, p1, p2, p3, color); } public void CatmullRom(float2 p0, float2 p1, float2 p2, float2 p3, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) this.CatmullRom(xy ? new float3(p0, 0f) : new float3(p0.x, 0f, p0.y), xy ? new float3(p1, 0f) : new float3(p1.x, 0f, p1.y), xy ? new float3(p2, 0f) : new float3(p2.x, 0f, p2.y), xy ? new float3(p3, 0f) : new float3(p3.x, 0f, p3.y), color); } public void Arrow(float3 from, float3 to, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) ArrowRelativeSizeHead(from, to, xy ? XY_UP : XZ_UP, 0.2f, color); } public void Arrow(float2 from, float2 to, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) this.Arrow(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y), color); } public void Arrow(float3 from, float3 to, float3 up, float headSize, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Arrow(from, to, up, headSize, color); } public void Arrow(float2 from, float2 to, float2 up, float headSize, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) this.Arrow(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), headSize, color); } public void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.ArrowRelativeSizeHead(from, to, up, headFraction, color); } public void ArrowRelativeSizeHead(float2 from, float2 to, float2 up, float headFraction, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) this.ArrowRelativeSizeHead(xy ? new float3(from, 0f) : new float3(from.x, 0f, from.y), xy ? new float3(to, 0f) : new float3(to.x, 0f, to.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), headFraction, color); } public void Arrowhead(float3 center, float3 direction, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) Arrowhead(center, direction, xy ? XY_UP : XZ_UP, radius, color); } public void Arrowhead(float2 center, float2 direction, float radius, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) this.Arrowhead(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), radius, color); } public void Arrowhead(float3 center, float3 direction, float3 up, float radius, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Arrowhead(center, direction, up, radius, color); } public void Arrowhead(float2 center, float2 direction, float2 up, float radius, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) this.Arrowhead(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), xy ? new float3(up, 0f) : new float3(up.x, 0f, up.y), radius, color); } public void ArrowheadArc(float3 origin, float3 direction, float offset, float width, Color color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) if (math.any(direction)) { if (offset < 0f) { throw new ArgumentOutOfRangeException("offset"); } if (offset != 0f) { draw.PushColor(color); Quaternion val = Quaternion.LookRotation(float3.op_Implicit(direction), float3.op_Implicit(xy ? XY_UP : XZ_UP)); PushMatrix(Matrix4x4.TRS(float3.op_Implicit(origin), val, Vector3.one)); float num = MathF.PI / 2f - width * (MathF.PI / 360f); float num2 = MathF.PI / 2f + width * (MathF.PI / 360f); draw.CircleXZInternal(float3.zero, offset, num, num2); float3 a = new float3(math.cos(num), 0f, math.sin(num)) * offset; float3 b = new float3(math.cos(num2), 0f, math.sin(num2)) * offset; float3 val2 = default(float3); ((float3)(ref val2))..ctor(0f, 0f, 1.4142f * offset); Line(a, val2); Line(val2, b); PopMatrix(); draw.PopColor(); } } } public void ArrowheadArc(float3 origin, float3 direction, float offset, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) ArrowheadArc(origin, direction, offset, 60f, color); } public void ArrowheadArc(float2 origin, float2 direction, float offset, float width, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) this.ArrowheadArc(xy ? new float3(origin, 0f) : new float3(origin.x, 0f, origin.y), xy ? new float3(direction, 0f) : new float3(direction.x, 0f, direction.y), offset, width, color); } public void ArrowheadArc(float2 origin, float2 direction, float offset, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) ArrowheadArc(origin, direction, offset, 60f, color); } public void WireTriangle(float3 a, float3 b, float3 c, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.WireTriangle(a, b, c, color); } public void WireTriangle(float2 a, float2 b, float2 c, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) this.WireTriangle(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), xy ? new float3(c, 0f) : new float3(c.x, 0f, c.y), color); } public void WireRectangle(float3 center, quaternion rotation, float2 size, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.WireRectangle(center, rotation, size, color); } public void WireRectangle(float2 center, quaternion rotation, float2 size, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.WireRectangle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), rotation, size, color); } public void WireTriangle(float3 center, quaternion rotation, float radius, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.WireTriangle(center, rotation, radius, color); } public void WireTriangle(float2 center, quaternion rotation, float radius, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.WireTriangle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), rotation, radius, color); } public void SolidTriangle(float3 a, float3 b, float3 c, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.SolidTriangle(a, b, c, color); } public void SolidTriangle(float2 a, float2 b, float2 c, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) this.SolidTriangle(xy ? new float3(a, 0f) : new float3(a.x, 0f, a.y), xy ? new float3(b, 0f) : new float3(b.x, 0f, b.y), xy ? new float3(c, 0f) : new float3(c.x, 0f, c.y), color); } public void Label2D(float3 position, string text, float sizeInPixels, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, text, sizeInPixels, color); } public void Label2D(float3 position, string text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, text, 14f, color); } public void Label2D(float2 position, string text, float sizeInPixels, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), text, sizeInPixels, color); } public void Label2D(float2 position, string text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, text, 14f, color); } public void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, text, sizeInPixels, alignment, color); } public void Label2D(float2 position, string text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), text, sizeInPixels, alignment, color); } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, color); } public void Label2D(float3 position, ref FixedString32Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float2 position, ref FixedString32Bytes text, float sizeInPixels, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, color); } public void Label2D(float2 position, ref FixedString32Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, color); } public void Label2D(float3 position, ref FixedString64Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float2 position, ref FixedString64Bytes text, float sizeInPixels, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, color); } public void Label2D(float2 position, ref FixedString64Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, color); } public void Label2D(float3 position, ref FixedString128Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float2 position, ref FixedString128Bytes text, float sizeInPixels, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, color); } public void Label2D(float2 position, ref FixedString128Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, color); } public void Label2D(float3 position, ref FixedString512Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float2 position, ref FixedString512Bytes text, float sizeInPixels, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, color); } public void Label2D(float2 position, ref FixedString512Bytes text, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) Label2D(position, ref text, 14f, color); } public void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment, color); } public void Label2D(float2 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment, color); } public void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment, color); } public void Label2D(float2 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment, color); } public void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment, color); } public void Label2D(float2 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment, color); } public void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) draw.Label2D(position, ref text, sizeInPixels, alignment, color); } public void Label2D(float2 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Label2D(xy ? new float3(position, 0f) : new float3(position.x, 0f, position.y), ref text, sizeInPixels, alignment, color); } public void Line(float3 a, float3 b, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) draw.Line(a, b, color); } public void Circle(float2 center, float radius, float startAngle, float endAngle, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.Circle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle, color); } public void Circle(float2 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) Circle(center, radius, 0f, MathF.PI * 2f, color); } public void Circle(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); if (xy) { draw.PushMatrix(XZ_TO_XY_MATRIX); draw.CircleXZInternal(new float3(center.x, center.z, center.y), radius, startAngle, endAngle); draw.PopMatrix(); } else { draw.CircleXZInternal(center, radius, startAngle, endAngle); } draw.PopColor(); } public void Circle(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) Circle(center, radius, 0f, MathF.PI * 2f, color); } public void SolidCircle(float2 center, float radius, float startAngle, float endAngle, Color color) { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) this.SolidCircle(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), radius, startAngle, endAngle, color); } public void SolidCircle(float2 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) SolidCircle(center, radius, 0f, MathF.PI * 2f, color); } public void SolidCircle(float3 center, float radius, float startAngle, float endAngle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); if (xy) { draw.PushMatrix(XZ_TO_XY_MATRIX); } draw.SolidCircleXZInternal((float3)(xy ? new float3(center.x, center.z, center.y) : center), radius, startAngle, endAngle); if (xy) { draw.PopMatrix(); } draw.PopColor(); } public void SolidCircle(float3 center, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) SolidCircle(center, radius, 0f, MathF.PI * 2f, color); } public void WirePill(float2 a, float2 b, float radius, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) WirePill(a, b - a, math.length(b - a), radius, color); } public void WirePill(float2 position, float2 direction, float length, float radius, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); direction = math.normalizesafe(direction, default(float2)); if (radius <= 0f) { Line(position, position + direction * length); } else if (length <= 0f || math.all(direction == 0f)) { Circle(position, radius); } else { float4x4 matrix = default(float4x4); if (xy) { ((float4x4)(ref matrix))..ctor(new float4(direction, 0f, 0f), new float4(math.cross(new float3(direction, 0f), XY_UP), 0f), new float4(0f, 0f, 1f, 0f), new float4(position, 0f, 1f)); } else { ((float4x4)(ref matrix))..ctor(new float4(direction.x, 0f, direction.y, 0f), new float4(0f, 1f, 0f, 0f), new float4(math.cross(new float3(direction.x, 0f, direction.y), XZ_UP), 0f), new float4(position.x, 0f, position.y, 1f)); } draw.PushMatrix(matrix); this.Circle(new float2(0f, 0f), radius, MathF.PI / 2f, 4.712389f); this.Line(new float2(0f, 0f - radius), new float2(length, 0f - radius)); this.Circle(new float2(length, 0f), radius, -MathF.PI / 2f, MathF.PI / 2f); this.Line(new float2(0f, radius), new float2(length, radius)); draw.PopMatrix(); } draw.PopColor(); } [BurstDiscard] public void Polyline(List points, bool cycle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); for (int i = 0; i < points.Count - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Count > 1) { Line(points[points.Count - 1], points[0]); } draw.PopColor(); } [BurstDiscard] public void Polyline(List points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(Vector2[] points, bool cycle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } draw.PopColor(); } [BurstDiscard] public void Polyline(Vector2[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } [BurstDiscard] public void Polyline(float2[] points, bool cycle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[^1], points[0]); } draw.PopColor(); } [BurstDiscard] public void Polyline(float2[] points, Color color) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void Polyline(NativeArray points, bool cycle, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); for (int i = 0; i < points.Length - 1; i++) { Line(points[i], points[i + 1]); } if (cycle && points.Length > 1) { Line(points[points.Length - 1], points[0]); } draw.PopColor(); } public void Polyline(NativeArray points, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) Polyline(points, cycle: false, color); } public void Cross(float2 position, float size, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); size *= 0.5f; Line(position - new float2(size, 0f), position + new float2(size, 0f)); Line(position - new float2(0f, size), position + new float2(0f, size)); draw.PopColor(); } public void Cross(float2 position, Color color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) Cross(position, 1f, color); } public void WireRectangle(float3 center, float2 size, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) draw.WirePlane(center, xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, size, color); } public void WireRectangle(Rect rect, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) draw.PushColor(color); float2 val = float2.op_Implicit(((Rect)(ref rect)).min); float2 val2 = float2.op_Implicit(((Rect)(ref rect)).max); this.Line(new float2(val.x, val.y), new float2(val2.x, val.y)); this.Line(new float2(val2.x, val.y), new float2(val2.x, val2.y)); this.Line(new float2(val2.x, val2.y), new float2(val.x, val2.y)); this.Line(new float2(val.x, val2.y), new float2(val.x, val.y)); draw.PopColor(); } public void SolidRectangle(Rect rect, Color color) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) draw.SolidPlane(new float3(((Rect)(ref rect)).center.x, ((Rect)(ref rect)).center.y, 0f), xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, new float2(((Rect)(ref rect)).width, ((Rect)(ref rect)).height), color); } public void WireGrid(float2 center, int2 cells, float2 totalSize, Color color) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) draw.WireGrid(xy ? new float3(center, 0f) : new float3(center.x, 0f, center.y), xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, cells, totalSize, color); } public void WireGrid(float3 center, int2 cells, float2 totalSize, Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) draw.WireGrid(center, xy ? XY_TO_XZ_ROTATION : XZ_TO_XZ_ROTATION, cells, totalSize, color); } } public static class Draw { internal static CommandBuilder builder; internal static CommandBuilder ingame_builder; public static ref CommandBuilder ingame { get { DrawingManager.Init(); return ref ingame_builder; } } public static ref CommandBuilder editor { get { DrawingManager.Init(); return ref builder; } } public static CommandBuilder2D xy { get { DrawingManager.Init(); return new CommandBuilder2D(builder, xy: true); } } public static CommandBuilder2D xz { get { DrawingManager.Init(); return new CommandBuilder2D(builder, xy: false); } } [BurstDiscard] public static CommandBuilder.ScopeEmpty WithMatrix(Matrix4x4 matrix) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty WithMatrix(float3x3 matrix) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty WithColor(Color color) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty WithDuration(float duration) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty WithLineWidth(float pixels, bool automaticJoins = true) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty InLocalSpace(Transform transform) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static CommandBuilder.ScopeEmpty InScreenSpace(Camera camera) { return default(CommandBuilder.ScopeEmpty); } [BurstDiscard] public static void PushMatrix(Matrix4x4 matrix) { } [BurstDiscard] public static void PushMatrix(float4x4 matrix) { } [BurstDiscard] public static void PushSetMatrix(Matrix4x4 matrix) { } [BurstDiscard] public static void PushSetMatrix(float4x4 matrix) { } [BurstDiscard] public static void PopMatrix() { } [BurstDiscard] public static void PushColor(Color color) { } [BurstDiscard] public static void PopColor() { } [BurstDiscard] public static void PushDuration(float duration) { } [BurstDiscard] public static void PopDuration() { } [BurstDiscard] [Obsolete("Renamed to PushDuration for consistency")] public static void PushPersist(float duration) { } [BurstDiscard] [Obsolete("Renamed to PopDuration for consistency")] public static void PopPersist() { } [BurstDiscard] public static void PushLineWidth(float pixels, bool automaticJoins = true) { } [BurstDiscard] public static void PopLineWidth() { } [BurstDiscard] public static void Line(float3 a, float3 b) { } [BurstDiscard] public static void Line(Vector3 a, Vector3 b) { } [BurstDiscard] public static void Line(Vector3 a, Vector3 b, Color color) { } [BurstDiscard] public static void Ray(float3 origin, float3 direction) { } [BurstDiscard] public static void Ray(Ray ray, float length) { } [BurstDiscard] public static void Arc(float3 center, float3 start, float3 end) { } [BurstDiscard] [Obsolete("Use Draw.xz.Circle instead")] public static void CircleXZ(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { } [BurstDiscard] [Obsolete("Use Draw.xy.Circle instead")] public static void CircleXY(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { } [BurstDiscard] public static void Circle(float3 center, float3 normal, float radius) { } [BurstDiscard] public static void SolidArc(float3 center, float3 start, float3 end) { } [BurstDiscard] [Obsolete("Use Draw.xz.SolidCircle instead")] public static void SolidCircleXZ(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { } [BurstDiscard] [Obsolete("Use Draw.xy.SolidCircle instead")] public static void SolidCircleXY(float3 center, float radius, float startAngle = 0f, float endAngle = MathF.PI * 2f) { } [BurstDiscard] public static void SolidCircle(float3 center, float3 normal, float radius) { } [BurstDiscard] public static void SphereOutline(float3 center, float radius) { } [BurstDiscard] public static void WireCylinder(float3 bottom, float3 top, float radius) { } [BurstDiscard] public static void WireCylinder(float3 position, float3 up, float height, float radius) { } [BurstDiscard] public static void WireCapsule(float3 start, float3 end, float radius) { } [BurstDiscard] public static void WireCapsule(float3 position, float3 direction, float length, float radius) { } [BurstDiscard] public static void WireSphere(float3 position, float radius) { } [BurstDiscard] public static void Polyline(List points, bool cycle = false) { } [BurstDiscard] public static void Polyline(Vector3[] points, bool cycle = false) { } [BurstDiscard] public static void Polyline(float3[] points, bool cycle = false) { } [BurstDiscard] public static void Polyline(NativeArray points, bool cycle = false) { } [BurstDiscard] public static void DashedLine(float3 a, float3 b, float dash, float gap) { } [BurstDiscard] public static void DashedPolyline(List points, float dash, float gap) { } [BurstDiscard] public static void WireBox(float3 center, float3 size) { } [BurstDiscard] public static void WireBox(float3 center, quaternion rotation, float3 size) { } [BurstDiscard] public static void WireBox(Bounds bounds) { } [BurstDiscard] public static void WireMesh(Mesh mesh) { } [BurstDiscard] public static void WireMesh(NativeArray vertices, NativeArray triangles) { } [BurstDiscard] public static void SolidMesh(Mesh mesh) { } [BurstDiscard] public static void SolidMesh(List vertices, List triangles, List colors) { } [BurstDiscard] public static void SolidMesh(Vector3[] vertices, int[] triangles, Color[] colors, int vertexCount, int indexCount) { } [BurstDiscard] public static void Cross(float3 position, float size = 1f) { } [BurstDiscard] [Obsolete("Use Draw.xz.Cross instead")] public static void CrossXZ(float3 position, float size = 1f) { } [BurstDiscard] [Obsolete("Use Draw.xy.Cross instead")] public static void CrossXY(float3 position, float size = 1f) { } [BurstDiscard] public static void Bezier(float3 p0, float3 p1, float3 p2, float3 p3) { } [BurstDiscard] public static void CatmullRom(List points) { } [BurstDiscard] public static void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3) { } [BurstDiscard] public static void Arrow(float3 from, float3 to) { } [BurstDiscard] public static void Arrow(float3 from, float3 to, float3 up, float headSize) { } [BurstDiscard] public static void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction) { } [BurstDiscard] public static void Arrowhead(float3 center, float3 direction, float radius) { } [BurstDiscard] public static void Arrowhead(float3 center, float3 direction, float3 up, float radius) { } [BurstDiscard] public static void ArrowheadArc(float3 origin, float3 direction, float offset, float width = 60f) { } [BurstDiscard] public static void WireGrid(float3 center, quaternion rotation, int2 cells, float2 totalSize) { } [BurstDiscard] public static void WireTriangle(float3 a, float3 b, float3 c) { } [BurstDiscard] [Obsolete("Use Draw.xz.WireRectangle instead")] public static void WireRectangleXZ(float3 center, float2 size) { } [BurstDiscard] public static void WireRectangle(float3 center, quaternion rotation, float2 size) { } [BurstDiscard] [Obsolete("Use Draw.xy.WireRectangle instead")] public static void WireRectangle(Rect rect) { } [BurstDiscard] public static void WireTriangle(float3 center, quaternion rotation, float radius) { } [BurstDiscard] public static void WirePentagon(float3 center, quaternion rotation, float radius) { } [BurstDiscard] public static void WireHexagon(float3 center, quaternion rotation, float radius) { } [BurstDiscard] public static void WirePolygon(float3 center, int vertices, quaternion rotation, float radius) { } [BurstDiscard] [Obsolete("Use Draw.xy.SolidRectangle instead")] public static void SolidRectangle(Rect rect) { } [BurstDiscard] public static void SolidPlane(float3 center, float3 normal, float2 size) { } [BurstDiscard] public static void SolidPlane(float3 center, quaternion rotation, float2 size) { } [BurstDiscard] public static void WirePlane(float3 center, float3 normal, float2 size) { } [BurstDiscard] public static void WirePlane(float3 center, quaternion rotation, float2 size) { } [BurstDiscard] public static void PlaneWithNormal(float3 center, float3 normal, float2 size) { } [BurstDiscard] public static void PlaneWithNormal(float3 center, quaternion rotation, float2 size) { } [BurstDiscard] public static void SolidTriangle(float3 a, float3 b, float3 c) { } [BurstDiscard] public static void SolidBox(float3 center, float3 size) { } [BurstDiscard] public static void SolidBox(Bounds bounds) { } [BurstDiscard] public static void SolidBox(float3 center, quaternion rotation, float3 size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, string text, float size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, string text, float size, LabelAlignment alignment) { } [BurstDiscard] public static void Label2D(float3 position, string text, float sizeInPixels = 14f) { } [BurstDiscard] public static void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels = 14f) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels = 14f) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels = 14f) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels = 14f) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, LabelAlignment alignment) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, LabelAlignment alignment) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, LabelAlignment alignment) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, LabelAlignment alignment) { } [BurstDiscard] public static void Line(float3 a, float3 b, Color color) { } [BurstDiscard] public static void Ray(float3 origin, float3 direction, Color color) { } [BurstDiscard] public static void Ray(Ray ray, float length, Color color) { } [BurstDiscard] public static void Arc(float3 center, float3 start, float3 end, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.Circle instead")] public static void CircleXZ(float3 center, float radius, float startAngle, float endAngle, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.Circle instead")] public static void CircleXZ(float3 center, float radius, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.Circle instead")] public static void CircleXY(float3 center, float radius, float startAngle, float endAngle, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.Circle instead")] public static void CircleXY(float3 center, float radius, Color color) { } [BurstDiscard] public static void Circle(float3 center, float3 normal, float radius, Color color) { } [BurstDiscard] public static void SolidArc(float3 center, float3 start, float3 end, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.SolidCircle instead")] public static void SolidCircleXZ(float3 center, float radius, float startAngle, float endAngle, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.SolidCircle instead")] public static void SolidCircleXZ(float3 center, float radius, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.SolidCircle instead")] public static void SolidCircleXY(float3 center, float radius, float startAngle, float endAngle, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.SolidCircle instead")] public static void SolidCircleXY(float3 center, float radius, Color color) { } [BurstDiscard] public static void SolidCircle(float3 center, float3 normal, float radius, Color color) { } [BurstDiscard] public static void SphereOutline(float3 center, float radius, Color color) { } [BurstDiscard] public static void WireCylinder(float3 bottom, float3 top, float radius, Color color) { } [BurstDiscard] public static void WireCylinder(float3 position, float3 up, float height, float radius, Color color) { } [BurstDiscard] public static void WireCapsule(float3 start, float3 end, float radius, Color color) { } [BurstDiscard] public static void WireCapsule(float3 position, float3 direction, float length, float radius, Color color) { } [BurstDiscard] public static void WireSphere(float3 position, float radius, Color color) { } [BurstDiscard] public static void Polyline(List points, bool cycle, Color color) { } [BurstDiscard] public static void Polyline(List points, Color color) { } [BurstDiscard] public static void Polyline(Vector3[] points, bool cycle, Color color) { } [BurstDiscard] public static void Polyline(Vector3[] points, Color color) { } [BurstDiscard] public static void Polyline(float3[] points, bool cycle, Color color) { } [BurstDiscard] public static void Polyline(float3[] points, Color color) { } [BurstDiscard] public static void Polyline(NativeArray points, bool cycle, Color color) { } [BurstDiscard] public static void Polyline(NativeArray points, Color color) { } [BurstDiscard] public static void DashedLine(float3 a, float3 b, float dash, float gap, Color color) { } [BurstDiscard] public static void DashedPolyline(List points, float dash, float gap, Color color) { } [BurstDiscard] public static void WireBox(float3 center, float3 size, Color color) { } [BurstDiscard] public static void WireBox(float3 center, quaternion rotation, float3 size, Color color) { } [BurstDiscard] public static void WireBox(Bounds bounds, Color color) { } [BurstDiscard] public static void WireMesh(Mesh mesh, Color color) { } [BurstDiscard] public static void WireMesh(NativeArray vertices, NativeArray triangles, Color color) { } [BurstDiscard] public static void SolidMesh(Mesh mesh, Color color) { } [BurstDiscard] public static void Cross(float3 position, float size, Color color) { } [BurstDiscard] public static void Cross(float3 position, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.Cross instead")] public static void CrossXZ(float3 position, float size, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.Cross instead")] public static void CrossXZ(float3 position, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.Cross instead")] public static void CrossXY(float3 position, float size, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.Cross instead")] public static void CrossXY(float3 position, Color color) { } [BurstDiscard] public static void Bezier(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { } [BurstDiscard] public static void CatmullRom(List points, Color color) { } [BurstDiscard] public static void CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3, Color color) { } [BurstDiscard] public static void Arrow(float3 from, float3 to, Color color) { } [BurstDiscard] public static void Arrow(float3 from, float3 to, float3 up, float headSize, Color color) { } [BurstDiscard] public static void ArrowRelativeSizeHead(float3 from, float3 to, float3 up, float headFraction, Color color) { } [BurstDiscard] public static void Arrowhead(float3 center, float3 direction, float radius, Color color) { } [BurstDiscard] public static void Arrowhead(float3 center, float3 direction, float3 up, float radius, Color color) { } [BurstDiscard] public static void ArrowheadArc(float3 origin, float3 direction, float offset, float width, Color color) { } [BurstDiscard] public static void ArrowheadArc(float3 origin, float3 direction, float offset, Color color) { } [BurstDiscard] public static void WireGrid(float3 center, quaternion rotation, int2 cells, float2 totalSize, Color color) { } [BurstDiscard] public static void WireTriangle(float3 a, float3 b, float3 c, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xz.WireRectangle instead")] public static void WireRectangleXZ(float3 center, float2 size, Color color) { } [BurstDiscard] public static void WireRectangle(float3 center, quaternion rotation, float2 size, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.WireRectangle instead")] public static void WireRectangle(Rect rect, Color color) { } [BurstDiscard] public static void WireTriangle(float3 center, quaternion rotation, float radius, Color color) { } [BurstDiscard] public static void WirePentagon(float3 center, quaternion rotation, float radius, Color color) { } [BurstDiscard] public static void WireHexagon(float3 center, quaternion rotation, float radius, Color color) { } [BurstDiscard] public static void WirePolygon(float3 center, int vertices, quaternion rotation, float radius, Color color) { } [BurstDiscard] [Obsolete("Use Draw.xy.SolidRectangle instead")] public static void SolidRectangle(Rect rect, Color color) { } [BurstDiscard] public static void SolidPlane(float3 center, float3 normal, float2 size, Color color) { } [BurstDiscard] public static void SolidPlane(float3 center, quaternion rotation, float2 size, Color color) { } [BurstDiscard] public static void WirePlane(float3 center, float3 normal, float2 size, Color color) { } [BurstDiscard] public static void WirePlane(float3 center, quaternion rotation, float2 size, Color color) { } [BurstDiscard] public static void PlaneWithNormal(float3 center, float3 normal, float2 size, Color color) { } [BurstDiscard] public static void PlaneWithNormal(float3 center, quaternion rotation, float2 size, Color color) { } [BurstDiscard] public static void SolidTriangle(float3 a, float3 b, float3 c, Color color) { } [BurstDiscard] public static void SolidBox(float3 center, float3 size, Color color) { } [BurstDiscard] public static void SolidBox(Bounds bounds, Color color) { } [BurstDiscard] public static void SolidBox(float3 center, quaternion rotation, float3 size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, string text, float size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, string text, float size, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label2D(float3 position, string text, float sizeInPixels, Color color) { } [BurstDiscard] public static void Label2D(float3 position, string text, Color color) { } [BurstDiscard] public static void Label2D(float3 position, string text, float sizeInPixels, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString32Bytes text, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString64Bytes text, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString128Bytes text, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString512Bytes text, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString32Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString64Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString128Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label2D(float3 position, ref FixedString512Bytes text, float sizeInPixels, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString32Bytes text, float size, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString64Bytes text, float size, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString128Bytes text, float size, LabelAlignment alignment, Color color) { } [BurstDiscard] public static void Label3D(float3 position, quaternion rotation, ref FixedString512Bytes text, float size, LabelAlignment alignment, Color color) { } } public static class SharedDrawingData { private class BurstTimeKey { } public static readonly SharedStatic BurstTime = SharedStatic.GetOrCreateUnsafe(4u, 527447541831459905L, -5918529866343830416L); } public struct RedrawScope : IDisposable { internal GCHandle gizmos; internal int id; private static int idCounter = 1; public bool isValid => id != 0; internal RedrawScope(DrawingData gizmos, int id) { this.gizmos = gizmos.gizmosHandle; this.id = id; } internal RedrawScope(DrawingData gizmos) { this.gizmos = gizmos.gizmosHandle; id = idCounter++; } internal void Draw() { if (gizmos.IsAllocated && gizmos.Target is DrawingData drawingData) { drawingData.Draw(this); } } public void Rewind() { GameObject associatedGameObject = null; if (gizmos.IsAllocated && gizmos.Target is DrawingData drawingData) { associatedGameObject = drawingData.GetAssociatedGameObject(this); } Dispose(); this = DrawingManager.GetRedrawScope(associatedGameObject); } internal void DrawUntilDispose(GameObject associatedGameObject) { if (gizmos.Target is DrawingData drawingData) { drawingData.DrawUntilDisposed(this, associatedGameObject); } } public void Dispose() { if (gizmos.IsAllocated && gizmos.Target is DrawingData drawingData) { drawingData.DisposeRedrawScope(this); } gizmos = default(GCHandle); id = 0; } } public class DrawingData { public struct Hasher : IEquatable { private ulong hash; public static Hasher NotSupplied => new Hasher { hash = ulong.MaxValue }; public ulong Hash => hash; public static Hasher Create(T init) { Hasher result = default(Hasher); result.Add(init); return result; } public void Add(T hash) { this.hash = (1572869 * this.hash) ^ (ulong)((long)hash.GetHashCode() + 12289L); } public override int GetHashCode() { return (int)hash; } public bool Equals(Hasher other) { return hash == other.hash; } } internal struct ProcessedBuilderData { public enum Type { Invalid, Static, Dynamic, Persistent } public struct CapturedState { public Matrix4x4 matrix; public Color color; } public struct MeshBuffers { public UnsafeAppendBuffer splitterOutput; public UnsafeAppendBuffer vertices; public UnsafeAppendBuffer triangles; public UnsafeAppendBuffer solidVertices; public UnsafeAppendBuffer solidTriangles; public UnsafeAppendBuffer textVertices; public UnsafeAppendBuffer textTriangles; public UnsafeAppendBuffer capturedState; public Bounds bounds; public MeshBuffers(Allocator allocator) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) splitterOutput = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); vertices = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); triangles = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); solidVertices = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); solidTriangles = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); textVertices = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); textTriangles = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); capturedState = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit(allocator)); bounds = default(Bounds); } public void Dispose() { ((UnsafeAppendBuffer)(ref splitterOutput)).Dispose(); ((UnsafeAppendBuffer)(ref vertices)).Dispose(); ((UnsafeAppendBuffer)(ref triangles)).Dispose(); ((UnsafeAppendBuffer)(ref solidVertices)).Dispose(); ((UnsafeAppendBuffer)(ref solidTriangles)).Dispose(); ((UnsafeAppendBuffer)(ref textVertices)).Dispose(); ((UnsafeAppendBuffer)(ref textTriangles)).Dispose(); ((UnsafeAppendBuffer)(ref capturedState)).Dispose(); } private static void DisposeIfLarge(ref UnsafeAppendBuffer ls) { //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) if (ls.Length * 3 < ls.Capacity && ls.Capacity > 1024) { AllocatorHandle allocator = ls.Allocator; ((UnsafeAppendBuffer)(ref ls)).Dispose(); ls = new UnsafeAppendBuffer(0, 4, allocator); } } public void DisposeIfLarge() { DisposeIfLarge(ref splitterOutput); DisposeIfLarge(ref vertices); DisposeIfLarge(ref triangles); DisposeIfLarge(ref solidVertices); DisposeIfLarge(ref solidTriangles); DisposeIfLarge(ref textVertices); DisposeIfLarge(ref textTriangles); DisposeIfLarge(ref capturedState); } } public Type type; public BuilderData.Meta meta; private bool submitted; public NativeArray temporaryMeshBuffers; private JobHandle buildJob; private JobHandle splitterJob; public List meshes; private static int SubmittedJobs; public bool isValid => type != Type.Invalid; public unsafe UnsafeAppendBuffer* splitterOutputPtr => &((MeshBuffers*)NativeArrayUnsafeUtility.GetUnsafePtr(temporaryMeshBuffers))->splitterOutput; public void Init(Type type, BuilderData.Meta meta) { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) submitted = false; this.type = type; this.meta = meta; if (meshes == null) { meshes = new List(); } if (!temporaryMeshBuffers.IsCreated) { temporaryMeshBuffers = new NativeArray(1, (Allocator)4, (NativeArrayOptions)0); temporaryMeshBuffers[0] = new MeshBuffers((Allocator)4); } } public unsafe void SetSplitterJob(DrawingData gizmos, JobHandle splitterJob) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) this.splitterJob = splitterJob; if (type == Type.Static) { GeometryBuilder.CameraInfo cameraInfo = new GeometryBuilder.CameraInfo(null); buildJob = GeometryBuilder.Build(gizmos, (MeshBuffers*)NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(temporaryMeshBuffers), ref cameraInfo, splitterJob); SubmittedJobs++; if (SubmittedJobs % 8 == 0) { JobHandle.ScheduleBatchedJobs(); } } } public unsafe void SchedulePersistFilter(int version, int lastTickVersion, float time, int sceneModeVersion) { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) if (type != Type.Persistent) { throw new InvalidOperationException(); } if (meta.sceneModeVersion != sceneModeVersion) { meta.version = -1; } else if (meta.version < lastTickVersion || submitted) { ((JobHandle)(ref splitterJob)).Complete(); meta.version = version; if (temporaryMeshBuffers[0].splitterOutput.Length == 0) { meta.version = -1; return; } ((JobHandle)(ref buildJob)).Complete(); splitterJob = IJobExtensions.Schedule(new PersistentFilterJob { buffer = &((MeshBuffers*)NativeArrayUnsafeUtility.GetUnsafePtr(temporaryMeshBuffers))->splitterOutput, time = time }, splitterJob); } } public bool IsValidForCamera(Camera camera, bool allowGizmos, bool allowCameraDefault) { if (!allowGizmos && meta.isGizmos) { return false; } if (meta.cameraTargets != null) { return meta.cameraTargets.Contains(camera); } return allowCameraDefault; } public unsafe void Schedule(DrawingData gizmos, ref GeometryBuilder.CameraInfo cameraInfo) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (type != Type.Static) { buildJob = GeometryBuilder.Build(gizmos, (MeshBuffers*)NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(temporaryMeshBuffers), ref cameraInfo, splitterJob); } } public unsafe void BuildMeshes(DrawingData gizmos) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) if (type != Type.Static || !submitted) { ((JobHandle)(ref buildJob)).Complete(); GeometryBuilder.BuildMesh(gizmos, meshes, (MeshBuffers*)NativeArrayUnsafeUtility.GetUnsafePtr(temporaryMeshBuffers)); submitted = true; } } public unsafe void CollectMeshes(List meshes) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) List list = this.meshes; int num = 0; UnsafeAppendBuffer capturedState = temporaryMeshBuffers[0].capturedState; _ = capturedState.Length / UnsafeUtility.SizeOf(); for (int i = 0; i < list.Count; i++) { Color color; Matrix4x4 matrix; int drawingOrderIndex; if ((list[i].type & MeshType.Custom) != 0) { CapturedState capturedState2 = ((CapturedState*)capturedState.Ptr)[num]; color = capturedState2.color; matrix = capturedState2.matrix; num++; drawingOrderIndex = meta.drawOrderIndex + 1; } else { color = Color.white; matrix = Matrix4x4.identity; drawingOrderIndex = meta.drawOrderIndex; } meshes.Add(new RenderedMeshWithType { mesh = list[i].mesh, type = list[i].type, drawingOrderIndex = drawingOrderIndex, color = color, matrix = matrix }); } } private void PoolMeshes(DrawingData gizmos, bool includeCustom) { if (!isValid) { throw new InvalidOperationException(); } int num = 0; for (int i = 0; i < meshes.Count; i++) { if ((meshes[i].type & MeshType.Custom) == 0 || (includeCustom && (meshes[i].type & MeshType.Pool) != 0)) { gizmos.PoolMesh(meshes[i].mesh); continue; } meshes[num] = meshes[i]; num++; } meshes.RemoveRange(num, meshes.Count - num); } public void PoolDynamicMeshes(DrawingData gizmos) { if (type != Type.Static || !submitted) { PoolMeshes(gizmos, includeCustom: false); } } public void Release(DrawingData gizmos) { if (!isValid) { throw new InvalidOperationException(); } PoolMeshes(gizmos, includeCustom: true); meshes.Clear(); type = Type.Invalid; ((JobHandle)(ref splitterJob)).Complete(); ((JobHandle)(ref buildJob)).Complete(); MeshBuffers meshBuffers = temporaryMeshBuffers[0]; meshBuffers.DisposeIfLarge(); temporaryMeshBuffers[0] = meshBuffers; } public void Dispose() { if (isValid) { throw new InvalidOperationException(); } ((JobHandle)(ref splitterJob)).Complete(); ((JobHandle)(ref buildJob)).Complete(); if (temporaryMeshBuffers.IsCreated) { temporaryMeshBuffers[0].Dispose(); temporaryMeshBuffers.Dispose(); } } } internal struct SubmittedMesh { public Mesh mesh; public bool temporary; } [BurstCompile] internal struct BuilderData : IDisposable { public enum State { Free, Reserved, Initialized, WaitingForSplitter, WaitingForUserDefinedJob } public struct Meta { public Hasher hasher; public RedrawScope redrawScope1; public RedrawScope redrawScope2; public int version; public bool isGizmos; public int sceneModeVersion; public int drawOrderIndex; public Camera[] cameraTargets; } public struct BitPackedMeta { private uint flags; private const int UniqueIDBitshift = 17; private const int IsBuiltInFlagIndex = 16; private const int IndexMask = 65535; private const int MaxDataIndex = 65535; public const int UniqueIdMask = 32767; public int dataIndex => (int)(flags & 0xFFFF); public int uniqueID => (int)(flags >> 17); public bool isBuiltInCommandBuilder => (flags & 0x10000) != 0; public BitPackedMeta(int dataIndex, int uniqueID, bool isBuiltInCommandBuilder) { if (dataIndex > 65535) { throw new Exception("Too many command builders active. Are some command builders not being disposed?"); } flags = (uint)(dataIndex | (uniqueID << 17) | (isBuiltInCommandBuilder ? 65536 : 0)); } public static bool operator ==(BitPackedMeta lhs, BitPackedMeta rhs) { return lhs.flags == rhs.flags; } public static bool operator !=(BitPackedMeta lhs, BitPackedMeta rhs) { return lhs.flags != rhs.flags; } public override bool Equals(object obj) { if (obj is BitPackedMeta bitPackedMeta) { return flags == bitPackedMeta.flags; } return false; } public override int GetHashCode() { return (int)flags; } } [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private unsafe delegate bool AnyBuffersWrittenToDelegate(UnsafeAppendBuffer* buffers, int numBuffers); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private unsafe delegate void ResetAllBuffersToDelegate(UnsafeAppendBuffer* buffers, int numBuffers); internal unsafe delegate bool AnyBuffersWrittenTo_000002F4$PostfixBurstDelegate(UnsafeAppendBuffer* buffers, int numBuffers); internal static class AnyBuffersWrittenTo_000002F4$BurstDirectCall { private static IntPtr Pointer; private static IntPtr DeferredCompilation; [BurstDiscard] private unsafe static void GetFunctionPointerDiscard(ref IntPtr P_0) { if (Pointer == (IntPtr)0) { Pointer = (nint)BurstCompiler.GetILPPMethodFunctionPointer2(DeferredCompilation, (RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/, typeof(AnyBuffersWrittenTo_000002F4$PostfixBurstDelegate).TypeHandle); } P_0 = Pointer; } private static IntPtr GetFunctionPointer() { nint result = 0; GetFunctionPointerDiscard(ref result); return result; } public static void Constructor() { DeferredCompilation = BurstCompiler.CompileILPPMethod2((RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/); } public static void Initialize() { } static AnyBuffersWrittenTo_000002F4$BurstDirectCall() { Constructor(); } public unsafe static bool Invoke(UnsafeAppendBuffer* buffers, int numBuffers) { if (BurstCompiler.IsEnabled) { IntPtr functionPointer = GetFunctionPointer(); if (functionPointer != (IntPtr)0) { return ((delegate* unmanaged[Cdecl])functionPointer)(buffers, numBuffers); } } return AnyBuffersWrittenTo$BurstManaged(buffers, numBuffers); } } internal unsafe delegate void ResetAllBuffers_000002F5$PostfixBurstDelegate(UnsafeAppendBuffer* buffers, int numBuffers); internal static class ResetAllBuffers_000002F5$BurstDirectCall { private static IntPtr Pointer; private static IntPtr DeferredCompilation; [BurstDiscard] private unsafe static void GetFunctionPointerDiscard(ref IntPtr P_0) { if (Pointer == (IntPtr)0) { Pointer = (nint)BurstCompiler.GetILPPMethodFunctionPointer2(DeferredCompilation, (RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/, typeof(ResetAllBuffers_000002F5$PostfixBurstDelegate).TypeHandle); } P_0 = Pointer; } private static IntPtr GetFunctionPointer() { nint result = 0; GetFunctionPointerDiscard(ref result); return result; } public static void Constructor() { DeferredCompilation = BurstCompiler.CompileILPPMethod2((RuntimeMethodHandle)/*OpCode not supported: LdMemberToken*/); } public static void Initialize() { } static ResetAllBuffers_000002F5$BurstDirectCall() { Constructor(); } public unsafe static void Invoke(UnsafeAppendBuffer* buffers, int numBuffers) { if (BurstCompiler.IsEnabled) { IntPtr functionPointer = GetFunctionPointer(); if (functionPointer != (IntPtr)0) { ((delegate* unmanaged[Cdecl])functionPointer)(buffers, numBuffers); return; } } ResetAllBuffers$BurstManaged(buffers, numBuffers); } } public BitPackedMeta packedMeta; public List meshes; public NativeArray commandBuffers; public bool preventDispose; private JobHandle splitterJob; private JobHandle disposeDependency; private AllowedDelay disposeDependencyDelay; private GCHandle disposeGCHandle; public Meta meta; private static int UniqueIDCounter = 0; private unsafe static readonly AnyBuffersWrittenToDelegate AnyBuffersWrittenToInvoke = BurstCompiler.CompileFunctionPointer((AnyBuffersWrittenToDelegate)AnyBuffersWrittenTo).Invoke; private unsafe static readonly ResetAllBuffersToDelegate ResetAllBuffersToInvoke = BurstCompiler.CompileFunctionPointer((ResetAllBuffersToDelegate)ResetAllBuffers).Invoke; public State state { get; private set; } public unsafe UnsafeAppendBuffer* bufferPtr => (UnsafeAppendBuffer*)NativeArrayUnsafeUtility.GetUnsafePtr(commandBuffers); public void Reserve(int dataIndex, bool isBuiltInCommandBuilder) { if (state != State.Free) { throw new InvalidOperationException(); } state = State.Reserved; packedMeta = new BitPackedMeta(dataIndex, UniqueIDCounter++ & 0x7FFF, isBuiltInCommandBuilder); } public void Init(Hasher hasher, RedrawScope frameRedrawScope, RedrawScope customRedrawScope, bool isGizmos, int drawOrderIndex, int sceneModeVersion) { //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) if (state != State.Reserved) { throw new InvalidOperationException(); } meta = new Meta { hasher = hasher, redrawScope1 = frameRedrawScope, redrawScope2 = customRedrawScope, isGizmos = isGizmos, version = 0, drawOrderIndex = drawOrderIndex, sceneModeVersion = sceneModeVersion, cameraTargets = null }; if (meshes == null) { meshes = new List(); } if (!commandBuffers.IsCreated) { commandBuffers = new NativeArray(JobsUtility.ThreadIndexCount, (Allocator)4, (NativeArrayOptions)0); for (int i = 0; i < commandBuffers.Length; i++) { commandBuffers[i] = new UnsafeAppendBuffer(0, 4, AllocatorHandle.op_Implicit((Allocator)4)); } } state = State.Initialized; } [BurstCompile] [MonoPInvokeCallback(typeof(AnyBuffersWrittenToDelegate))] private unsafe static bool AnyBuffersWrittenTo(UnsafeAppendBuffer* buffers, int numBuffers) { return AnyBuffersWrittenTo_000002F4$BurstDirectCall.Invoke(buffers, numBuffers); } [BurstCompile] [MonoPInvokeCallback(typeof(AnyBuffersWrittenToDelegate))] private unsafe static void ResetAllBuffers(UnsafeAppendBuffer* buffers, int numBuffers) { ResetAllBuffers_000002F5$BurstDirectCall.Invoke(buffers, numBuffers); } public void SubmitWithDependency(GCHandle gcHandle, JobHandle dependency, AllowedDelay allowedDelay) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) state = State.WaitingForUserDefinedJob; disposeDependency = dependency; disposeDependencyDelay = allowedDelay; disposeGCHandle = gcHandle; } public unsafe void Submit(DrawingData gizmos) { //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (state != State.Initialized) { throw new InvalidOperationException(); } if (meshes.Count == 0 && !AnyBuffersWrittenToInvoke((UnsafeAppendBuffer*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(commandBuffers), commandBuffers.Length)) { Release(); return; } this.meta.version = gizmos.version; Meta meta = this.meta; meta.drawOrderIndex = this.meta.drawOrderIndex * 3; int index = gizmos.processedData.Reserve(ProcessedBuilderData.Type.Static, meta); meta.drawOrderIndex = this.meta.drawOrderIndex * 3 + 1; int index2 = gizmos.processedData.Reserve(ProcessedBuilderData.Type.Dynamic, meta); meta.drawOrderIndex = this.meta.drawOrderIndex + 1000000; int index3 = gizmos.processedData.Reserve(ProcessedBuilderData.Type.Persistent, meta); splitterJob = IJobExtensions.Schedule(new StreamSplitter { inputBuffers = commandBuffers, staticBuffer = gizmos.processedData.Get(index).splitterOutputPtr, dynamicBuffer = gizmos.processedData.Get(index2).splitterOutputPtr, persistentBuffer = gizmos.processedData.Get(index3).splitterOutputPtr }, default(JobHandle)); gizmos.processedData.Get(index).SetSplitterJob(gizmos, splitterJob); gizmos.processedData.Get(index2).SetSplitterJob(gizmos, splitterJob); gizmos.processedData.Get(index3).SetSplitterJob(gizmos, splitterJob); if (meshes.Count > 0) { List list = gizmos.processedData.Get(index2).meshes; for (int i = 0; i < meshes.Count; i++) { list.Add(new MeshWithType { mesh = meshes[i].mesh, type = (MeshType)(9 | (meshes[i].temporary ? 16 : 0)) }); } meshes.Clear(); } state = State.WaitingForSplitter; } public void CheckJobDependency(DrawingData gizmos, bool allowBlocking) { //IL_0032: Unknown result type (might be due to invalid IL or missing references) if (state == State.WaitingForUserDefinedJob && (((JobHandle)(ref disposeDependency)).IsCompleted || (allowBlocking && disposeDependencyDelay == AllowedDelay.EndOfFrame))) { ((JobHandle)(ref disposeDependency)).Complete(); disposeDependency = default(JobHandle); disposeGCHandle.Free(); state = State.Initialized; Submit(gizmos); } } public void Release() { if (state == State.Free) { throw new InvalidOperationException(); } state = State.Free; ClearData(); } private unsafe void ClearData() { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) ((JobHandle)(ref disposeDependency)).Complete(); ((JobHandle)(ref splitterJob)).Complete(); meta = default(Meta); disposeDependency = default(JobHandle); preventDispose = false; meshes.Clear(); ResetAllBuffers((UnsafeAppendBuffer*)NativeArrayUnsafeUtility.GetUnsafePtr(commandBuffers), commandBuffers.Length); } public void Dispose() { //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) if (state == State.WaitingForUserDefinedJob) { ((JobHandle)(ref disposeDependency)).Complete(); disposeGCHandle.Free(); state = State.WaitingForSplitter; } if (state == State.Reserved || state == State.Initialized || state == State.WaitingForUserDefinedJob) { Debug.LogError((object)"Drawing data is being destroyed, but a drawing instance is still active. Are you sure you have called Dispose on all drawing instances? This will cause a memory leak!"); return; } ((JobHandle)(ref splitterJob)).Complete(); if (commandBuffers.IsCreated) { for (int i = 0; i < commandBuffers.Length; i++) { UnsafeAppendBuffer val = commandBuffers[i]; ((UnsafeAppendBuffer)(ref val)).Dispose(); } commandBuffers.Dispose(); } } [MethodImpl(MethodImplOptions.AggressiveInlining)] [BurstCompile] [MonoPInvokeCallback(typeof(AnyBuffersWrittenToDelegate))] internal unsafe static bool AnyBuffersWrittenTo$BurstManaged(UnsafeAppendBuffer* buffers, int numBuffers) { bool flag = false; for (int i = 0; i < numBuffers; i++) { flag |= ((UnsafeAppendBuffer)((byte*)buffers + (nint)i * (nint)Unsafe.SizeOf())).Length > 0; } return flag; } [MethodImpl(MethodImplOptions.AggressiveInlining)] [BurstCompile] [MonoPInvokeCallback(typeof(AnyBuffersWrittenToDelegate))] internal unsafe static void ResetAllBuffers$BurstManaged(UnsafeAppendBuffer* buffers, int numBuffers) { for (int i = 0; i < numBuffers; i++) { ((UnsafeAppendBuffer)((byte*)buffers + (nint)i * (nint)Unsafe.SizeOf())).Reset(); } } } internal struct BuilderDataContainer : IDisposable { private BuilderData[] data; public int memoryUsage { get { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) int num = 0; if (data != null) { for (int i = 0; i < data.Length; i++) { NativeArray commandBuffers = data[i].commandBuffers; for (int j = 0; j < commandBuffers.Length; j++) { num += commandBuffers[j].Capacity; } num += data[i].commandBuffers.Length * Unsafe.SizeOf(); } } return num; } } public BuilderData.BitPackedMeta Reserve(bool isBuiltInCommandBuilder) { if (data == null) { data = new BuilderData[1]; } for (int i = 0; i < data.Length; i++) { if (data[i].state == BuilderData.State.Free) { data[i].Reserve(i, isBuiltInCommandBuilder); return data[i].packedMeta; } } BuilderData[] array = new BuilderData[data.Length * 2]; data.CopyTo(array, 0); data = array; return Reserve(isBuiltInCommandBuilder); } public void Release(BuilderData.BitPackedMeta meta) { data[meta.dataIndex].Release(); } public bool StillExists(BuilderData.BitPackedMeta meta) { int dataIndex = meta.dataIndex; if (data == null || dataIndex >= data.Length) { return false; } return data[dataIndex].packedMeta == meta; } public ref BuilderData Get(BuilderData.BitPackedMeta meta) { int dataIndex = meta.dataIndex; if (data[dataIndex].state == BuilderData.State.Free) { throw new ArgumentException("Data is not reserved"); } if (data[dataIndex].packedMeta != meta) { throw new ArgumentException("This command builder has already been disposed"); } return ref data[dataIndex]; } public void DisposeCommandBuildersWithJobDependencies(DrawingData gizmos) { if (data != null) { for (int i = 0; i < data.Length; i++) { data[i].CheckJobDependency(gizmos, allowBlocking: false); } for (int j = 0; j < data.Length; j++) { data[j].CheckJobDependency(gizmos, allowBlocking: true); } } } public void ReleaseAllUnused() { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].state == BuilderData.State.WaitingForSplitter) { data[i].Release(); } } } public void Dispose() { if (data != null) { for (int i = 0; i < data.Length; i++) { data[i].Dispose(); } } data = null; } } internal struct ProcessedBuilderDataContainer { private ProcessedBuilderData[] data; private Dictionary> hash2index; private Stack freeSlots; private Stack> freeLists; public int memoryUsage { get { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) int num = 0; if (data != null) { for (int i = 0; i < data.Length; i++) { NativeArray temporaryMeshBuffers = data[i].temporaryMeshBuffers; for (int j = 0; j < temporaryMeshBuffers.Length; j++) { int num2 = 0; num2 += temporaryMeshBuffers[j].textVertices.Capacity; num2 += temporaryMeshBuffers[j].textTriangles.Capacity; num2 += temporaryMeshBuffers[j].solidVertices.Capacity; num2 += temporaryMeshBuffers[j].solidTriangles.Capacity; num2 += temporaryMeshBuffers[j].vertices.Capacity; num2 += temporaryMeshBuffers[j].triangles.Capacity; num2 += temporaryMeshBuffers[j].capturedState.Capacity; num2 += temporaryMeshBuffers[j].splitterOutput.Capacity; num += num2; Debug.Log((object)(i + ":" + j + " " + num2)); } } } return num; } } public int Reserve(ProcessedBuilderData.Type type, BuilderData.Meta meta) { if (data == null) { data = new ProcessedBuilderData[0]; freeSlots = new Stack(); freeLists = new Stack>(); hash2index = new Dictionary>(); } if (freeSlots.Count == 0) { ProcessedBuilderData[] array = new ProcessedBuilderData[math.max(4, data.Length * 2)]; data.CopyTo(array, 0); for (int i = data.Length; i < array.Length; i++) { freeSlots.Push(i); } data = array; } int num = freeSlots.Pop(); data[num].Init(type, meta); if (!meta.hasher.Equals(Hasher.NotSupplied)) { if (!hash2index.TryGetValue(meta.hasher.Hash, out var value)) { if (freeLists.Count == 0) { freeLists.Push(new List()); } List list = (hash2index[meta.hasher.Hash] = freeLists.Pop()); value = list; } value.Add(num); } return num; } public ref ProcessedBuilderData Get(int index) { if (!data[index].isValid) { throw new ArgumentException(); } return ref data[index]; } private void Release(DrawingData gizmos, int i) { ulong hash = data[i].meta.hasher.Hash; if (!data[i].meta.hasher.Equals(Hasher.NotSupplied) && hash2index.TryGetValue(hash, out var value)) { value.Remove(i); if (value.Count == 0) { freeLists.Push(value); hash2index.Remove(hash); } } data[i].Release(gizmos); freeSlots.Push(i); } public void SubmitMeshes(DrawingData gizmos, Camera camera, int versionThreshold, bool allowGizmos, bool allowCameraDefault) { if (data == null) { return; } GeometryBuilder.CameraInfo cameraInfo = new GeometryBuilder.CameraInfo(camera); int num = 0; for (int i = 0; i < data.Length; i++) { if (data[i].isValid && data[i].meta.version >= versionThreshold && data[i].IsValidForCamera(camera, allowGizmos, allowCameraDefault)) { num++; data[i].Schedule(gizmos, ref cameraInfo); } } JobHandle.ScheduleBatchedJobs(); for (int j = 0; j < data.Length; j++) { if (data[j].isValid && data[j].meta.version >= versionThreshold && data[j].IsValidForCamera(camera, allowGizmos, allowCameraDefault)) { data[j].BuildMeshes(gizmos); } } } public void PoolDynamicMeshes(DrawingData gizmos) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid) { data[i].PoolDynamicMeshes(gizmos); } } } public void CollectMeshes(int versionThreshold, List meshes, Camera camera, bool allowGizmos, bool allowCameraDefault) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid && data[i].meta.version >= versionThreshold && data[i].IsValidForCamera(camera, allowGizmos, allowCameraDefault)) { data[i].CollectMeshes(meshes); } } } public void FilterOldPersistentCommands(int version, int lastTickVersion, float time, int sceneModeVersion) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid && data[i].type == ProcessedBuilderData.Type.Persistent) { data[i].SchedulePersistFilter(version, lastTickVersion, time, sceneModeVersion); } } } public bool SetVersion(Hasher hasher, int version) { if (data == null) { return false; } if (hash2index.TryGetValue(hasher.Hash, out var value)) { for (int i = 0; i < value.Count; i++) { int num = value[i]; data[num].meta.version = version; } return true; } return false; } public bool SetVersion(RedrawScope scope, int version) { if (data == null) { return false; } bool result = false; for (int i = 0; i < data.Length; i++) { if (data[i].isValid && (data[i].meta.redrawScope1.id == scope.id || data[i].meta.redrawScope2.id == scope.id)) { data[i].meta.version = version; result = true; } } return result; } public bool SetCustomScope(Hasher hasher, RedrawScope scope) { if (data == null) { return false; } if (hash2index.TryGetValue(hasher.Hash, out var value)) { for (int i = 0; i < value.Count; i++) { int num = value[i]; data[num].meta.redrawScope2 = scope; } return true; } return false; } public void ReleaseDataOlderThan(DrawingData gizmos, int version) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid && data[i].meta.version < version) { Release(gizmos, i); } } } public void ReleaseAllWithHash(DrawingData gizmos, Hasher hasher) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid && data[i].meta.hasher.Hash == hasher.Hash) { Release(gizmos, i); } } } public void Dispose(DrawingData gizmos) { if (data == null) { return; } for (int i = 0; i < data.Length; i++) { if (data[i].isValid) { Release(gizmos, i); } data[i].Dispose(); } data = null; } } [Flags] internal enum MeshType { Solid = 1, Lines = 2, Text = 4, Custom = 8, Pool = 0x10, BaseType = 7 } internal struct MeshWithType { public Mesh mesh; public MeshType type; } internal struct RenderedMeshWithType { public Mesh mesh; public MeshType type; public int drawingOrderIndex; public Color color; public Matrix4x4 matrix; } private struct Range { public int start; public int end; } private class MeshCompareByDrawingOrder : IComparer { public int Compare(RenderedMeshWithType a, RenderedMeshWithType b) { int num = (int)(a.type & MeshType.BaseType); int num2 = (int)(b.type & MeshType.BaseType); if (num == num2) { return a.drawingOrderIndex - b.drawingOrderIndex; } return num - num2; } } public struct CommandBufferWrapper { public CommandBuffer cmd; public void DrawMesh(Mesh mesh, Matrix4x4 matrix, Material material, int submeshIndex, int shaderPass, MaterialPropertyBlock properties) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) if (cmd != null) { cmd.DrawMesh(mesh, matrix, material, submeshIndex, shaderPass, properties); } } } internal BuilderDataContainer data; internal ProcessedBuilderDataContainer processedData; private List meshes = new List(); private List cachedMeshes = new List(); private List stagingCachedMeshes = new List(); private int lastTimeLargestCachedMeshWasUsed; internal SDFLookupData fontData; private int currentDrawOrderIndex; internal int sceneModeVersion; public Material surfaceMaterial; public Material lineMaterial; public Material textMaterial; public DrawingSettings settingsAsset; private int lastTickVersion; private int lastTickVersion2; private Dictionary persistentRedrawScopes = new Dictionary(); internal GCHandle gizmosHandle; public RedrawScope frameRedrawScope; private Dictionary cameraVersions = new Dictionary(); internal static readonly ProfilerMarker MarkerScheduleJobs = new ProfilerMarker("ScheduleJobs"); internal static readonly ProfilerMarker MarkerAwaitUserDependencies = new ProfilerMarker("Await user dependencies"); internal static readonly ProfilerMarker MarkerSchedule = new ProfilerMarker("Schedule"); internal static readonly ProfilerMarker MarkerBuild = new ProfilerMarker("Build"); internal static readonly ProfilerMarker MarkerPool = new ProfilerMarker("Pool"); internal static readonly ProfilerMarker MarkerRelease = new ProfilerMarker("Release"); internal static readonly ProfilerMarker MarkerBuildMeshes = new ProfilerMarker("Build Meshes"); internal static readonly ProfilerMarker MarkerCollectMeshes = new ProfilerMarker("Collect Meshes"); internal static readonly ProfilerMarker MarkerSortMeshes = new ProfilerMarker("Sort Meshes"); internal static readonly ProfilerMarker LeakTracking = new ProfilerMarker("RedrawScope Leak Tracking"); private static readonly MeshCompareByDrawingOrder meshSorter = new MeshCompareByDrawingOrder(); private Plane[] frustrumPlanes = (Plane[])(object)new Plane[6]; private MaterialPropertyBlock customMaterialProperties = new MaterialPropertyBlock(); private int adjustedSceneModeVersion => sceneModeVersion + (Application.isPlaying ? 1000 : 0); private static float CurrentTime { get { if (!Application.isPlaying) { return Time.realtimeSinceStartup; } return Time.time; } } public DrawingSettings.Settings settingsRef { get { if ((Object)(object)settingsAsset == (Object)null) { settingsAsset = DrawingSettings.GetSettingsAsset(); if ((Object)(object)settingsAsset == (Object)null) { throw new InvalidOperationException("ALINE settings could not be found"); } } return settingsAsset.settings; } } public int version { get; private set; } = 1; private int totalMemoryUsage => data.memoryUsage + processedData.memoryUsage; internal int GetNextDrawOrderIndex() { currentDrawOrderIndex++; return currentDrawOrderIndex; } internal void PoolMesh(Mesh mesh) { stagingCachedMeshes.Add(mesh); } private void SortPooledMeshes() { cachedMeshes.Sort((Mesh a, Mesh b) => b.vertexCount - a.vertexCount); } internal Mesh GetMesh(int desiredVertexCount) { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Expected O, but got Unknown if (cachedMeshes.Count > 0) { int num = 0; int num2 = cachedMeshes.Count; while (num2 > num + 1) { int num3 = (num + num2) / 2; if (cachedMeshes[num3].vertexCount < desiredVertexCount) { num2 = num3; } else { num = num3; } } Mesh result = cachedMeshes[num]; if (num == 0) { lastTimeLargestCachedMeshWasUsed = version; } cachedMeshes.RemoveAt(num); return result; } Mesh val = new Mesh { hideFlags = (HideFlags)52 }; val.MarkDynamic(); return val; } internal void LoadFontDataIfNecessary() { if ((Object)(object)fontData.material == (Object)null) { SDFFont font = DefaultFonts.LoadDefaultFont(); fontData.Dispose(); fontData = new SDFLookupData(font); } } private static void UpdateTime() { SharedDrawingData.BurstTime.Data = CurrentTime; } public CommandBuilder GetBuilder(bool renderInGame = false) { UpdateTime(); return new CommandBuilder(this, Hasher.NotSupplied, frameRedrawScope, default(RedrawScope), !renderInGame, isBuiltInCommandBuilder: false, adjustedSceneModeVersion); } internal CommandBuilder GetBuiltInBuilder(bool renderInGame = false) { UpdateTime(); return new CommandBuilder(this, Hasher.NotSupplied, frameRedrawScope, default(RedrawScope), !renderInGame, isBuiltInCommandBuilder: true, adjustedSceneModeVersion); } public CommandBuilder GetBuilder(RedrawScope redrawScope, bool renderInGame = false) { UpdateTime(); return new CommandBuilder(this, Hasher.NotSupplied, frameRedrawScope, redrawScope, !renderInGame, isBuiltInCommandBuilder: false, adjustedSceneModeVersion); } public CommandBuilder GetBuilder(Hasher hasher, RedrawScope redrawScope = default(RedrawScope), bool renderInGame = false) { if (!hasher.Equals(Hasher.NotSupplied)) { DiscardData(hasher); } UpdateTime(); return new CommandBuilder(this, hasher, frameRedrawScope, redrawScope, !renderInGame, isBuiltInCommandBuilder: false, adjustedSceneModeVersion); } public GameObject GetAssociatedGameObject(RedrawScope scope) { if (persistentRedrawScopes.TryGetValue(scope.id, out var value)) { return value; } return null; } private void DiscardData(Hasher hasher) { processedData.ReleaseAllWithHash(this, hasher); } internal void OnChangingPlayMode() { sceneModeVersion++; } public bool Draw(Hasher hasher) { if (hasher.Equals(Hasher.NotSupplied)) { throw new ArgumentException("Invalid hash value"); } return processedData.SetVersion(hasher, version); } public bool Draw(Hasher hasher, RedrawScope scope) { if (hasher.Equals(Hasher.NotSupplied)) { throw new ArgumentException("Invalid hash value"); } processedData.SetCustomScope(hasher, scope); return processedData.SetVersion(hasher, version); } internal void Draw(RedrawScope scope) { if (scope.isValid) { processedData.SetVersion(scope, version); } } internal void DrawUntilDisposed(RedrawScope scope, GameObject associatedGameObject) { if (scope.isValid) { Draw(scope); persistentRedrawScopes.Add(scope.id, associatedGameObject); } } internal void DisposeRedrawScope(RedrawScope scope) { if (scope.isValid) { processedData.SetVersion(scope, -1); persistentRedrawScopes.Remove(scope.id); } } private void RefreshRedrawScopes() { foreach (KeyValuePair persistentRedrawScope in persistentRedrawScopes) { processedData.SetVersion(new RedrawScope(this, persistentRedrawScope.Key), version); } } private void CleanupOldCameras() { foreach (KeyValuePair cameraVersion in cameraVersions) { if (cameraVersion.Value.end < lastTickVersion - 10) { cameraVersions.Remove(cameraVersion.Key); break; } } } public void TickFramePreRender() { data.DisposeCommandBuildersWithJobDependencies(this); processedData.FilterOldPersistentCommands(version, lastTickVersion, CurrentTime, adjustedSceneModeVersion); CleanupOldCameras(); RefreshRedrawScopes(); processedData.ReleaseDataOlderThan(this, lastTickVersion2 + 1); lastTickVersion2 = lastTickVersion; lastTickVersion = version; currentDrawOrderIndex = 0; cachedMeshes.AddRange(stagingCachedMeshes); stagingCachedMeshes.Clear(); SortPooledMeshes(); if (version - lastTimeLargestCachedMeshWasUsed > 60 && cachedMeshes.Count > 0) { Object.DestroyImmediate((Object)(object)cachedMeshes[0]); cachedMeshes.RemoveAt(0); lastTimeLargestCachedMeshWasUsed = version; } } public void PostRenderCleanup() { data.ReleaseAllUnused(); version++; } private void LoadMaterials() { if ((Object)(object)surfaceMaterial == (Object)null) { surfaceMaterial = Resources.Load("aline_surface_mat"); } if ((Object)(object)lineMaterial == (Object)null) { lineMaterial = Resources.Load("aline_outline_mat"); } if ((Object)(object)fontData.material == (Object)null) { SDFFont font = DefaultFonts.LoadDefaultFont(); fontData.Dispose(); fontData = new SDFLookupData(font); } } public DrawingData() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Expected O, but got Unknown gizmosHandle = GCHandle.Alloc(this, GCHandleType.Weak); LoadMaterials(); } private static int CeilLog2(int x) { return (int)math.ceil(math.log2((float)x)); } public void Render(Camera cam, bool allowGizmos, CommandBufferWrapper commandBuffer, bool allowCameraDefault) { //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02ab: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Unknown result type (might be due to invalid IL or missing references) //IL_031a: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_035d: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Unknown result type (might be due to invalid IL or missing references) LoadMaterials(); if ((Object)(object)surfaceMaterial == (Object)null || (Object)(object)lineMaterial == (Object)null) { return; } Plane[] array = frustrumPlanes; GeometryUtility.CalculateFrustumPlanes(cam, array); if (!cameraVersions.TryGetValue(cam, out var value)) { value = new Range { start = int.MinValue, end = int.MinValue }; } if (value.end > lastTickVersion) { value.end = version + 1; } else { value = new Range { start = value.end, end = version + 1 }; } value.start = Mathf.Max(value.start, lastTickVersion2 + 1); DrawingSettings.Settings settings = settingsRef; if (!GL.wireframe) { processedData.SubmitMeshes(this, cam, value.start, allowGizmos, allowCameraDefault); meshes.Clear(); processedData.CollectMeshes(value.start, meshes, cam, allowGizmos, allowCameraDefault); processedData.PoolDynamicMeshes(this); meshes.Sort(meshSorter); int num = Shader.PropertyToID("_Color"); int num2 = Shader.PropertyToID("_FadeColor"); Color val = default(Color); ((Color)(ref val))..ctor(1f, 1f, 1f, settings.solidOpacity); Color val2 = default(Color); ((Color)(ref val2))..ctor(1f, 1f, 1f, settings.solidOpacityBehindObjects); Color val3 = default(Color); ((Color)(ref val3))..ctor(1f, 1f, 1f, settings.lineOpacity); Color val4 = default(Color); ((Color)(ref val4))..ctor(1f, 1f, 1f, settings.lineOpacityBehindObjects); Color val5 = default(Color); ((Color)(ref val5))..ctor(1f, 1f, 1f, settings.textOpacity); Color val6 = default(Color); ((Color)(ref val6))..ctor(1f, 1f, 1f, settings.textOpacityBehindObjects); int num3 = 0; while (num3 < meshes.Count) { int i = num3 + 1; MeshType meshType; for (meshType = meshes[num3].type & MeshType.BaseType; i < meshes.Count && (meshes[i].type & MeshType.BaseType) == meshType; i++) { } customMaterialProperties.Clear(); Material material; switch (meshType) { case MeshType.Solid: material = surfaceMaterial; customMaterialProperties.SetColor(num, val); customMaterialProperties.SetColor(num2, val2); break; case MeshType.Lines: material = lineMaterial; customMaterialProperties.SetColor(num, val3); customMaterialProperties.SetColor(num2, val4); break; case MeshType.Text: material = fontData.material; customMaterialProperties.SetColor(num, val5); customMaterialProperties.SetColor(num2, val6); break; default: throw new InvalidOperationException("Invalid mesh type"); } for (int j = 0; j < material.passCount; j++) { for (int k = num3; k < i; k++) { RenderedMeshWithType renderedMeshWithType = meshes[k]; if ((renderedMeshWithType.type & MeshType.Custom) != 0) { if (GeometryUtility.TestPlanesAABB(array, TransformBoundingBox(renderedMeshWithType.matrix, renderedMeshWithType.mesh.bounds))) { customMaterialProperties.SetColor(num, val * renderedMeshWithType.color); commandBuffer.DrawMesh(renderedMeshWithType.mesh, renderedMeshWithType.matrix, material, 0, j, customMaterialProperties); customMaterialProperties.SetColor(num, val); } } else if (GeometryUtility.TestPlanesAABB(array, renderedMeshWithType.mesh.bounds)) { commandBuffer.DrawMesh(renderedMeshWithType.mesh, Matrix4x4.identity, material, 0, j, customMaterialProperties); } } } num3 = i; } meshes.Clear(); } cameraVersions[cam] = value; } private static Bounds TransformBoundingBox(Matrix4x4 matrix, Bounds bounds) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) Vector3 min = ((Bounds)(ref bounds)).min; Vector3 max = ((Bounds)(ref bounds)).max; Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(((Matrix4x4)(ref matrix)).MultiplyPoint(min), Vector3.zero); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(min.x, min.y, max.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(min.x, max.y, min.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(min.x, max.y, max.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(max.x, min.y, min.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(max.x, min.y, max.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(max.x, max.y, min.z))); ((Bounds)(ref result)).Encapsulate(((Matrix4x4)(ref matrix)).MultiplyPoint(new Vector3(max.x, max.y, max.z))); return result; } public void ClearData() { gizmosHandle.Free(); data.Dispose(); processedData.Dispose(this); for (int i = 0; i < cachedMeshes.Count; i++) { Object.DestroyImmediate((Object)(object)cachedMeshes[i]); } cachedMeshes.Clear(); fontData.Dispose(); } public static void Initialize$BuilderData_AnyBuffersWrittenTo_000002F4$BurstDirectCall() { BuilderData.AnyBuffersWrittenTo_000002F4$BurstDirectCall.Initialize(); } public static void Initialize$BuilderData_ResetAllBuffers_000002F5$BurstDirectCall() { BuilderData.ResetAllBuffers_000002F5$BurstDirectCall.Initialize(); } } public static class GizmoContext { private static HashSet selectedTransforms = new HashSet(); internal static bool drawingGizmos; internal static bool dirty; private static int selectionSizeInternal; public static int selectionSize { get { Refresh(); return selectionSizeInternal; } private set { selectionSizeInternal = value; } } internal static void SetDirty() { dirty = true; } private static void Refresh() { } public static bool InSelection(Component c) { return InSelection(c.transform); } public static bool InSelection(Transform tr) { Refresh(); Transform item = tr; while ((Object)(object)tr != (Object)null) { if (selectedTransforms.Contains(tr)) { selectedTransforms.Add(item); return true; } tr = tr.parent; } return false; } public static bool InActiveSelection(Component c) { return InActiveSelection(c.transform); } public static bool InActiveSelection(Transform tr) { return false; } } public interface IDrawGizmos { void DrawGizmos(); } public enum DetectedRenderPipeline { BuiltInOrCustom, HDRP, URP } [ExecuteAlways] [AddComponentMenu("")] [HelpURL("http://arongranberg.com/aline/documentation/stable/drawingmanager.html")] public class DrawingManager : MonoBehaviour { private struct GizmoDrawerGroup { public Type type; public ProfilerMarker profilerMarker; public List drawers; public bool enabled; } public DrawingData gizmos; private static List gizmoDrawers = new List(); private static Dictionary gizmoDrawerIndices = new Dictionary(); private static DrawingManager _instance; private bool framePassed; private int lastFrameCount = int.MinValue; private float lastFrameTime = float.PositiveInfinity; private int lastFilterFrame; [SerializeField] private bool actuallyEnabled; private RedrawScope previousFrameRedrawScope; public static bool allowRenderToRenderTextures = false; public static bool drawToAllCameras = false; public static float lineWidthMultiplier = 1f; private CommandBuffer commandBuffer; [NonSerialized] private DetectedRenderPipeline detectedRenderPipeline; private static readonly ProfilerMarker MarkerALINE = new ProfilerMarker("ALINE"); private static readonly ProfilerMarker MarkerCommandBuffer = new ProfilerMarker("Executing command buffer"); private static readonly ProfilerMarker MarkerFrameTick = new ProfilerMarker("Frame Tick"); private static readonly ProfilerMarker MarkerFilterDestroyedObjects = new ProfilerMarker("Filter destroyed objects"); internal static readonly ProfilerMarker MarkerRefreshSelectionCache = new ProfilerMarker("Refresh Selection Cache"); private static readonly ProfilerMarker MarkerGizmosAllowed = new ProfilerMarker("GizmosAllowed"); private static readonly ProfilerMarker MarkerDrawGizmos = new ProfilerMarker("DrawGizmos"); private static readonly ProfilerMarker MarkerSubmitGizmos = new ProfilerMarker("Submit Gizmos"); private const float NO_DRAWING_TIMEOUT_SECS = 10f; public static DrawingManager instance { get { if ((Object)(object)_instance == (Object)null) { Init(); } return _instance; } } public static void Init() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected O, but got Unknown if (!((Object)(object)_instance != (Object)null)) { GameObject val = new GameObject("RetainedGizmos") { hideFlags = (HideFlags)63 }; _instance = val.AddComponent(); if (Application.isPlaying) { Object.DontDestroyOnLoad((Object)(object)val); } } } private void RefreshRenderPipelineMode() { if (RenderPipelineManager.currentPipeline != null) { ((object)RenderPipelineManager.currentPipeline).GetType(); } detectedRenderPipeline = DetectedRenderPipeline.BuiltInOrCustom; } private void OnEnable() { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected O, but got Unknown //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Expected O, but got Unknown //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Expected O, but got Unknown if ((Object)(object)_instance == (Object)null) { _instance = this; } if (!((Object)(object)_instance != (Object)(object)this)) { actuallyEnabled = true; if (gizmos == null) { gizmos = new DrawingData(); } gizmos.frameRedrawScope = new RedrawScope(gizmos); Draw.builder = gizmos.GetBuiltInBuilder(); Draw.ingame_builder = gizmos.GetBuiltInBuilder(renderInGame: true); commandBuffer = new CommandBuffer(); commandBuffer.name = "ALINE Gizmos"; detectedRenderPipeline = DetectedRenderPipeline.BuiltInOrCustom; Camera.onPostRender = (CameraCallback)Delegate.Combine((Delegate?)(object)Camera.onPostRender, (Delegate?)new CameraCallback(PostRender)); RenderPipelineManager.beginContextRendering += BeginContextRendering; RenderPipelineManager.beginCameraRendering += BeginCameraRendering; RenderPipelineManager.endCameraRendering += EndCameraRendering; } } private void BeginContextRendering(ScriptableRenderContext context, List cameras) { RefreshRenderPipelineMode(); } private void BeginFrameRendering(ScriptableRenderContext context, Camera[] cameras) { RefreshRenderPipelineMode(); } private void BeginCameraRendering(ScriptableRenderContext context, Camera camera) { } private void OnDisable() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown if (actuallyEnabled) { actuallyEnabled = false; commandBuffer.Dispose(); commandBuffer = null; Camera.onPostRender = (CameraCallback)Delegate.Remove((Delegate?)(object)Camera.onPostRender, (Delegate?)new CameraCallback(PostRender)); RenderPipelineManager.beginContextRendering -= BeginContextRendering; RenderPipelineManager.beginCameraRendering -= BeginCameraRendering; RenderPipelineManager.endCameraRendering -= EndCameraRendering; if (gizmos != null) { Draw.builder.DiscardAndDisposeInternal(); Draw.ingame_builder.DiscardAndDisposeInternal(); gizmos.ClearData(); } } } private void OnEditorUpdate() { framePassed = true; CleanupIfNoCameraRendered(); } private void Update() { if (actuallyEnabled) { CleanupIfNoCameraRendered(); } } private void CleanupIfNoCameraRendered() { if (Time.frameCount > lastFrameCount + 1) { CheckFrameTicking(); gizmos.PostRenderCleanup(); } if (Time.realtimeSinceStartup - lastFrameTime > 10f) { Draw.builder.DiscardAndDisposeInternal(); Draw.ingame_builder.DiscardAndDisposeInternal(); Draw.builder = gizmos.GetBuiltInBuilder(); Draw.ingame_builder = gizmos.GetBuiltInBuilder(renderInGame: true); lastFrameTime = Time.realtimeSinceStartup; RemoveDestroyedGizmoDrawers(); } if (lastFilterFrame - Time.frameCount > 5) { lastFilterFrame = Time.frameCount; RemoveDestroyedGizmoDrawers(); } } internal void ExecuteCustomRenderPass(ScriptableRenderContext context, Camera camera) { commandBuffer.Clear(); SubmitFrame(camera, new DrawingData.CommandBufferWrapper { cmd = commandBuffer }, usingRenderPipeline: true); ((ScriptableRenderContext)(ref context)).ExecuteCommandBuffer(commandBuffer); } private void EndCameraRendering(ScriptableRenderContext context, Camera camera) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) if (detectedRenderPipeline == DetectedRenderPipeline.BuiltInOrCustom && (!Application.isPlaying || (Object)(object)camera == (Object)(object)Camera.main)) { ExecuteCustomRenderPass(context, camera); } } private void PostRender(Camera camera) { commandBuffer.Clear(); SubmitFrame(camera, new DrawingData.CommandBufferWrapper { cmd = commandBuffer }, usingRenderPipeline: false); Graphics.ExecuteCommandBuffer(commandBuffer); } private void CheckFrameTicking() { if (Time.frameCount != lastFrameCount) { framePassed = true; lastFrameCount = Time.frameCount; lastFrameTime = Time.realtimeSinceStartup; previousFrameRedrawScope = gizmos.frameRedrawScope; gizmos.frameRedrawScope = new RedrawScope(gizmos); Draw.builder.DisposeInternal(); Draw.ingame_builder.DisposeInternal(); Draw.builder = gizmos.GetBuiltInBuilder(); Draw.ingame_builder = gizmos.GetBuiltInBuilder(renderInGame: true); } else if (framePassed && Application.isPlaying) { previousFrameRedrawScope.Draw(); } if (framePassed) { gizmos.TickFramePreRender(); framePassed = false; } } internal void SubmitFrame(Camera camera, DrawingData.CommandBufferWrapper cmd, bool usingRenderPipeline) { bool flag = false; bool allowCameraDefault = allowRenderToRenderTextures || drawToAllCameras || (Object)(object)camera.targetTexture == (Object)null || flag; CheckFrameTicking(); Submit(camera, cmd, usingRenderPipeline, allowCameraDefault); gizmos.PostRenderCleanup(); } private bool ShouldDrawGizmos(Object obj) { return true; } private static void RemoveDestroyedGizmoDrawers() { for (int i = 0; i < gizmoDrawers.Count; i++) { GizmoDrawerGroup gizmoDrawerGroup = gizmoDrawers[i]; int num = 0; for (int j = 0; j < gizmoDrawerGroup.drawers.Count; j++) { IDrawGizmos drawGizmos = gizmoDrawerGroup.drawers[j]; if (Object.op_Implicit((Object)((drawGizmos is MonoBehaviour) ? drawGizmos : null))) { gizmoDrawerGroup.drawers[num] = drawGizmos; num++; } } gizmoDrawerGroup.drawers.RemoveRange(num, gizmoDrawerGroup.drawers.Count - num); } } private void Submit(Camera camera, DrawingData.CommandBufferWrapper cmd, bool usingRenderPipeline, bool allowCameraDefault) { bool allowGizmos = false; Draw.builder.DisposeInternal(); Draw.ingame_builder.DisposeInternal(); gizmos.Render(camera, allowGizmos, cmd, allowCameraDefault); Draw.builder = gizmos.GetBuiltInBuilder(); Draw.ingame_builder = gizmos.GetBuiltInBuilder(renderInGame: true); } public static void Register(IDrawGizmos item) { //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) Type type = item.GetType(); if (!gizmoDrawerIndices.TryGetValue(type, out var value)) { BindingFlags bindingAttr = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; MethodInfo? obj = type.GetMethod("DrawGizmos", bindingAttr) ?? type.GetMethod("Pathfinding.Drawing.IDrawGizmos.DrawGizmos", bindingAttr) ?? type.GetMethod("Drawing.IDrawGizmos.DrawGizmos", bindingAttr); if (obj == null) { throw new Exception("Could not find the DrawGizmos method in type " + type.Name); } if (obj.DeclaringType != typeof(MonoBehaviourGizmos)) { int num = (gizmoDrawerIndices[type] = gizmoDrawers.Count); value = num; gizmoDrawers.Add(new GizmoDrawerGroup { type = type, enabled = true, drawers = new List(), profilerMarker = new ProfilerMarker(ProfilerCategory.Render, "Gizmos for " + type.Name) }); } else { int num = (gizmoDrawerIndices[type] = -1); value = num; } } if (value != -1) { gizmoDrawers[value].drawers.Add(item); } } public static CommandBuilder GetBuilder(bool renderInGame = false) { return instance.gizmos.GetBuilder(renderInGame); } public static CommandBuilder GetBuilder(RedrawScope redrawScope, bool renderInGame = false) { return instance.gizmos.GetBuilder(redrawScope, renderInGame); } public static CommandBuilder GetBuilder(DrawingData.Hasher hasher, RedrawScope redrawScope = default(RedrawScope), bool renderInGame = false) { return instance.gizmos.GetBuilder(hasher, redrawScope, renderInGame); } public static RedrawScope GetRedrawScope(GameObject associatedGameObject = null) { RedrawScope result = new RedrawScope(instance.gizmos); result.DrawUntilDispose(associatedGameObject); return result; } } public class DrawingSettings : ScriptableObject { [Serializable] public class Settings { public float lineOpacity = 1f; public float solidOpacity = 0.55f; public float textOpacity = 1f; public float lineOpacityBehindObjects = 0.12f; public float solidOpacityBehindObjects = 0.45f; public float textOpacityBehindObjects = 0.9f; public float curveResolution = 1f; } public const string SettingsPathCompatibility = "Assets/Settings/ALINE.asset"; public const string SettingsName = "ALINE"; public const string SettingsPath = "Assets/Settings/Resources/ALINE.asset"; [SerializeField] private int version; public Settings settings; public static Settings DefaultSettings => new Settings(); public static DrawingSettings GetSettingsAsset() { return Resources.Load("ALINE"); } } public static class DrawingUtilities { private static List componentBuffer = new List(); public static Bounds BoundsFrom(GameObject gameObject) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return BoundsFrom(gameObject.transform); } public static Bounds BoundsFrom(Transform transform) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) ((Component)transform).gameObject.GetComponents(componentBuffer); Bounds result = default(Bounds); ((Bounds)(ref result))..ctor(transform.position, Vector3.zero); for (int i = 0; i < componentBuffer.Count; i++) { Component val = componentBuffer[i]; Collider val2 = (Collider)(object)((val is Collider) ? val : null); if (val2 != null) { ((Bounds)(ref result)).Encapsulate(val2.bounds); continue; } Collider2D val3 = (Collider2D)(object)((val is Collider2D) ? val : null); if (val3 != null) { ((Bounds)(ref result)).Encapsulate(val3.bounds); continue; } MeshRenderer val4 = (MeshRenderer)(object)((val is MeshRenderer) ? val : null); if (val4 != null) { ((Bounds)(ref result)).Encapsulate(((Renderer)val4).bounds); continue; } SpriteRenderer val5 = (SpriteRenderer)(object)((val is SpriteRenderer) ? val : null); if (val5 != null) { ((Bounds)(ref result)).Encapsulate(((Renderer)val5).bounds); } } componentBuffer.Clear(); int childCount = transform.childCount; for (int j = 0; j < childCount; j++) { ((Bounds)(ref result)).Encapsulate(BoundsFrom(transform.GetChild(j))); } return result; } public static Bounds BoundsFrom(List points) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) if (points.Count == 0) { throw new ArgumentException("At least 1 point is required"); } Vector3 val = points[0]; Vector3 val2 = points[0]; for (int i = 0; i < points.Count; i++) { val = Vector3.Min(val, points[i]); val2 = Vector3.Max(val2, points[i]); } return new Bounds((val2 + val) * 0.5f, (val2 - val) * 0.5f); } public static Bounds BoundsFrom(Vector3[] points) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) if (points.Length == 0) { throw new ArgumentException("At least 1 point is required"); } Vector3 val = points[0]; Vector3 val2 = points[0]; for (int i = 0; i < points.Length; i++) { val = Vector3.Min(val, points[i]); val2 = Vector3.Max(val2, points[i]); } return new Bounds((val2 + val) * 0.5f, (val2 - val) * 0.5f); } public static Bounds BoundsFrom(NativeArray points) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) if (points.Length == 0) { throw new ArgumentException("At least 1 point is required"); } float3 val = points[0]; float3 val2 = points[0]; for (int i = 0; i < points.Length; i++) { val = math.min(val, points[i]); val2 = math.max(val2, points[i]); } return new Bounds(float3.op_Implicit((val2 + val) * 0.5f), float3.op_Implicit((val2 - val) * 0.5f)); } } internal static class GeometryBuilder { public struct CameraInfo { public float3 cameraPosition; public quaternion cameraRotation; public float2 cameraDepthToPixelSize; public bool cameraIsOrthographic; public CameraInfo(Camera camera) { //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) Transform val = ((camera != null) ? ((Component)camera).transform : null); cameraPosition = (((Object)(object)val != (Object)null) ? float3.op_Implicit(val.position) : float3.zero); cameraRotation = (((Object)(object)val != (Object)null) ? quaternion.op_Implicit(val.rotation) : quaternion.identity); cameraDepthToPixelSize = (((Object)(object)camera != (Object)null) ? CameraDepthToPixelSize(camera) : float2.op_Implicit(0)); cameraIsOrthographic = (Object)(object)camera != (Object)null && camera.orthographic; } } internal unsafe static JobHandle Build(DrawingData gizmos, DrawingData.ProcessedBuilderData.MeshBuffers* buffers, ref CameraInfo cameraInfo, JobHandle dependency) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) return IJobExtensions.Schedule(new GeometryBuilderJob { buffers = buffers, currentMatrix = float4x4.op_Implicit(Matrix4x4.identity), currentLineWidthData = new CommandBuilder.LineWidthData { pixels = 1f, automaticJoins = false }, lineWidthMultiplier = DrawingManager.lineWidthMultiplier, currentColor = Color32.op_Implicit(Color.white), cameraPosition = cameraInfo.cameraPosition, cameraRotation = cameraInfo.cameraRotation, cameraDepthToPixelSize = cameraInfo.cameraDepthToPixelSize, cameraIsOrthographic = cameraInfo.cameraIsOrthographic, characterInfo = (SDFCharacter*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(gizmos.fontData.characters), characterInfoLength = gizmos.fontData.characters.Length, maxPixelError = 0.5f / math.max(0.1f, gizmos.settingsRef.curveResolution) }, dependency); } private static float2 CameraDepthToPixelSize(Camera camera) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) if (camera.orthographic) { return new float2(0f, 2f * camera.orthographicSize / (float)camera.pixelHeight); } return new float2(Mathf.Tan(camera.fieldOfView * (MathF.PI / 180f) * 0.5f) / (0.5f * (float)camera.pixelHeight), 0f); } private unsafe static NativeArray ConvertExistingDataToNativeArray(UnsafeAppendBuffer data) where T : struct { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) return NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray((void*)data.Ptr, data.Length / UnsafeUtility.SizeOf(), (Allocator)0); } internal unsafe static void BuildMesh(DrawingData gizmos, List meshes, DrawingData.ProcessedBuilderData.MeshBuffers* inputBuffers) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) if (((UnsafeAppendBuffer)(&inputBuffers->triangles)).Length > 0) { Mesh mesh = AssignMeshData(gizmos, inputBuffers->bounds, inputBuffers->vertices, inputBuffers->triangles, MeshLayouts.MeshLayout); meshes.Add(new DrawingData.MeshWithType { mesh = mesh, type = DrawingData.MeshType.Lines }); } if (((UnsafeAppendBuffer)(&inputBuffers->solidTriangles)).Length > 0) { Mesh mesh2 = AssignMeshData(gizmos, inputBuffers->bounds, inputBuffers->solidVertices, inputBuffers->solidTriangles, MeshLayouts.MeshLayout); meshes.Add(new DrawingData.MeshWithType { mesh = mesh2, type = DrawingData.MeshType.Solid }); } if (((UnsafeAppendBuffer)(&inputBuffers->textTriangles)).Length > 0) { Mesh mesh3 = AssignMeshData(gizmos, inputBuffers->bounds, inputBuffers->textVertices, inputBuffers->textTriangles, MeshLayouts.MeshLayoutText); meshes.Add(new DrawingData.MeshWithType { mesh = mesh3, type = DrawingData.MeshType.Text }); } } private static Mesh AssignMeshData(DrawingData gizmos, Bounds bounds, UnsafeAppendBuffer vertices, UnsafeAppendBuffer triangles, VertexAttributeDescriptor[] layout) where VertexType : struct { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) NativeArray val = ConvertExistingDataToNativeArray(vertices); NativeArray val2 = ConvertExistingDataToNativeArray(triangles); Mesh mesh = gizmos.GetMesh(val.Length); mesh.SetVertexBufferParams(math.ceilpow2(val.Length), layout); mesh.SetIndexBufferParams(math.ceilpow2(val2.Length), (IndexFormat)1); mesh.SetVertexBufferData(val, 0, 0, val.Length, 0, (MeshUpdateFlags)0); mesh.SetIndexBufferData(val2, 0, 0, val2.Length, (MeshUpdateFlags)1); mesh.subMeshCount = 1; SubMeshDescriptor val3 = default(SubMeshDescriptor); ((SubMeshDescriptor)(ref val3))..ctor(0, val2.Length, (MeshTopology)0); ((SubMeshDescriptor)(ref val3)).vertexCount = val.Length; ((SubMeshDescriptor)(ref val3)).bounds = bounds; SubMeshDescriptor val4 = val3; mesh.SetSubMesh(0, val4, (MeshUpdateFlags)12); mesh.bounds = bounds; return mesh; } } internal static class MeshLayouts { internal static readonly VertexAttributeDescriptor[] MeshLayout = (VertexAttributeDescriptor[])(object)new VertexAttributeDescriptor[4] { new VertexAttributeDescriptor((VertexAttribute)0, (VertexAttributeFormat)0, 3, 0), new VertexAttributeDescriptor((VertexAttribute)1, (VertexAttributeFormat)0, 3, 0), new VertexAttributeDescriptor((VertexAttribute)3, (VertexAttributeFormat)2, 4, 0), new VertexAttributeDescriptor((VertexAttribute)4, (VertexAttributeFormat)0, 2, 0) }; internal static readonly VertexAttributeDescriptor[] MeshLayoutText = (VertexAttributeDescriptor[])(object)new VertexAttributeDescriptor[3] { new VertexAttributeDescriptor((VertexAttribute)0, (VertexAttributeFormat)0, 3, 0), new VertexAttributeDescriptor((VertexAttribute)3, (VertexAttributeFormat)2, 4, 0), new VertexAttributeDescriptor((VertexAttribute)4, (VertexAttributeFormat)0, 2, 0) }; } [BurstCompile(/*Could not decode attribute arguments.*/)] internal struct GeometryBuilderJob : IJob { public struct Vertex { public float3 position; public float3 uv2; public Color32 color; public float2 uv; } public struct TextVertex { public float3 position; public Color32 color; public float2 uv; } [NativeDisableUnsafePtrRestriction] public unsafe DrawingData.ProcessedBuilderData.MeshBuffers* buffers; [NativeDisableUnsafePtrRestriction] public unsafe SDFCharacter* characterInfo; public int characterInfoLength; public Color32 currentColor; public float4x4 currentMatrix; public CommandBuilder.LineWidthData currentLineWidthData; public float lineWidthMultiplier; private float3 minBounds; private float3 maxBounds; public float3 cameraPosition; public quaternion cameraRotation; public float2 cameraDepthToPixelSize; public float maxPixelError; public bool cameraIsOrthographic; private float3 lastNormalizedLineDir; private float lastLineWidth; public const float MaxCirclePixelError = 0.5f; public const int VerticesPerCharacter = 4; public const int TrianglesPerCharacter = 6; internal static readonly float4[] BoxVertices = (float4[])(object)new float4[8] { new float4(-1f, -1f, -1f, 1f), new float4(-1f, -1f, 1f, 1f), new float4(-1f, 1f, -1f, 1f), new float4(-1f, 1f, 1f, 1f), new float4(1f, -1f, -1f, 1f), new float4(1f, -1f, 1f, 1f), new float4(1f, 1f, -1f, 1f), new float4(1f, 1f, 1f, 1f) }; internal static readonly int[] BoxTriangles = new int[36] { 0, 1, 5, 0, 5, 4, 7, 3, 2, 7, 2, 6, 0, 1, 3, 0, 3, 2, 4, 5, 7, 4, 7, 6, 1, 3, 7, 1, 7, 5, 0, 2, 6, 0, 6, 4 }; public const int MaxStackSize = 32; private unsafe static void Add(UnsafeAppendBuffer* buffer, T value) where T : unmanaged { int num = UnsafeUtility.SizeOf(); *(T*)(((UnsafeAppendBuffer)buffer).Ptr + ((UnsafeAppendBuffer)buffer).Length) = value; ((UnsafeAppendBuffer)buffer).Length = ((UnsafeAppendBuffer)buffer).Length + num; } private unsafe static void Reserve(UnsafeAppendBuffer* buffer, int size) { int num = ((UnsafeAppendBuffer)buffer).Length + size; if (num > ((UnsafeAppendBuffer)buffer).Capacity) { ((UnsafeAppendBuffer)buffer).SetCapacity(math.max(num, ((UnsafeAppendBuffer)buffer).Capacity * 2)); } } internal static float3 PerspectiveDivide(float4 p) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) return ((float4)(ref p)).xyz * math.rcp(p.w); } private unsafe void AddText(ushort* text, CommandBuilder.TextData textData, Color32 color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) float3 pivot = PerspectiveDivide(math.mul(currentMatrix, new float4(textData.center, 1f))); AddTextInternal(text, pivot, math.mul(cameraRotation, new float3(1f, 0f, 0f)), math.mul(cameraRotation, new float3(0f, 1f, 0f)), textData.alignment, textData.sizeInPixels, sizeIsInPixels: true, textData.numCharacters, color); } private unsafe void AddText3D(ushort* text, CommandBuilder.TextData3D textData, Color32 color) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) float3 pivot = PerspectiveDivide(math.mul(currentMatrix, new float4(textData.center, 1f))); float4x4 val = math.mul(currentMatrix, new float4x4(textData.rotation, float3.zero)); AddTextInternal(text, pivot, ((float4)(ref val.c0)).xyz, ((float4)(ref val.c1)).xyz, textData.alignment, textData.size, sizeIsInPixels: false, textData.numCharacters, color); } private unsafe void AddTextInternal(ushort* text, float3 pivot, float3 right, float3 up, LabelAlignment alignment, float size, bool sizeIsInPixels, int numCharacters, Color32 color) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0174: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_025d: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_027f: Unknown result type (might be due to invalid IL or missing references) //IL_0283: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0296: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_02dc: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_02ff: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Unknown result type (might be due to invalid IL or missing references) //IL_0327: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_033f: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Unknown result type (might be due to invalid IL or missing references) //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_0362: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0371: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_037d: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_0389: Unknown result type (might be due to invalid IL or missing references) //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_039e: Unknown result type (might be due to invalid IL or missing references) //IL_03a3: Unknown result type (might be due to invalid IL or missing references) //IL_03aa: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_03c9: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03de: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03ec: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03fa: Unknown result type (might be due to invalid IL or missing references) //IL_03fb: Unknown result type (might be due to invalid IL or missing references) //IL_0400: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_0411: Unknown result type (might be due to invalid IL or missing references) //IL_0413: Unknown result type (might be due to invalid IL or missing references) //IL_0418: Unknown result type (might be due to invalid IL or missing references) //IL_041d: Unknown result type (might be due to invalid IL or missing references) //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0434: Unknown result type (might be due to invalid IL or missing references) //IL_0439: Unknown result type (might be due to invalid IL or missing references) //IL_043b: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0461: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_046a: Unknown result type (might be due to invalid IL or missing references) //IL_04b4: Unknown result type (might be due to invalid IL or missing references) //IL_04b6: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Unknown result type (might be due to invalid IL or missing references) //IL_04c3: Unknown result type (might be due to invalid IL or missing references) //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) float num = math.abs(math.dot(pivot - cameraPosition, math.mul(cameraRotation, new float3(0f, 0f, 1f)))); float num2 = cameraDepthToPixelSize.x * num + cameraDepthToPixelSize.y; float num3 = size; if (sizeIsInPixels) { num3 *= num2; } right *= num3; up *= num3; float num4 = 0f; float num5 = 0f; float num6 = 1f; for (int i = 0; i < numCharacters; i++) { ushort num7 = text[i]; if (num7 == ushort.MaxValue) { num4 = math.max(num4, num5); num5 = 0f; num6 += 1f; } else { num5 += characterInfo[(int)num7].advance; } } num4 = math.max(num4, num5); float3 val = pivot; val -= right * num4 * alignment.relativePivot.x; float num8 = 1f - num6; float num9 = 0.75f; float num10 = math.lerp(num8, num9, alignment.relativePivot.y); val -= up * num10; val += math.mul(cameraRotation, new float3(1f, 0f, 0f)) * (num2 * alignment.pixelOffset.x); val += math.mul(cameraRotation, new float3(0f, 1f, 0f)) * (num2 * alignment.pixelOffset.y); UnsafeAppendBuffer* ptr = &buffers->textVertices; UnsafeAppendBuffer* buffer = &buffers->textTriangles; Reserve(ptr, numCharacters * 4 * UnsafeUtility.SizeOf()); Reserve(buffer, numCharacters * 6 * UnsafeUtility.SizeOf()); float3 val2 = val; for (int j = 0; j < numCharacters; j++) { ushort num11 = text[j]; if (num11 == ushort.MaxValue) { val2 -= up; val = val2; continue; } SDFCharacter sDFCharacter = characterInfo[(int)num11]; int num12 = ((UnsafeAppendBuffer)ptr).Length / UnsafeUtility.SizeOf(); float3 val3 = val + sDFCharacter.vertexTopLeft.x * right + sDFCharacter.vertexTopLeft.y * up; minBounds = math.min(minBounds, val3); maxBounds = math.max(maxBounds, val3); Add(ptr, new TextVertex { position = val3, uv = sDFCharacter.uvTopLeft, color = color }); val3 = val + sDFCharacter.vertexTopRight.x * right + sDFCharacter.vertexTopRight.y * up; minBounds = math.min(minBounds, val3); maxBounds = math.max(maxBounds, val3); Add(ptr, new TextVertex { position = val3, uv = sDFCharacter.uvTopRight, color = color }); val3 = val + sDFCharacter.vertexBottomRight.x * right + sDFCharacter.vertexBottomRight.y * up; minBounds = math.min(minBounds, val3); maxBounds = math.max(maxBounds, val3); Add(ptr, new TextVertex { position = val3, uv = sDFCharacter.uvBottomRight, color = color }); val3 = val + sDFCharacter.vertexBottomLeft.x * right + sDFCharacter.vertexBottomLeft.y * up; minBounds = math.min(minBounds, val3); maxBounds = math.max(maxBounds, val3); Add(ptr, new TextVertex { position = val3, uv = sDFCharacter.uvBottomLeft, color = color }); Add(buffer, num12); Add(buffer, num12 + 1); Add(buffer, num12 + 2); Add(buffer, num12); Add(buffer, num12 + 2); Add(buffer, num12 + 3); val += right * sDFCharacter.advance; } } private unsafe void AddLine(CommandBuilder.LineData line) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_022c: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_0291: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029a: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_02e0: Unknown result type (might be due to invalid IL or missing references) //IL_02e7: Unknown result type (might be due to invalid IL or missing references) //IL_02e9: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_02f7: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) float3 val = PerspectiveDivide(math.mul(currentMatrix, new float4(line.a, 1f))); float3 val2 = PerspectiveDivide(math.mul(currentMatrix, new float4(line.b, 1f))); float pixels = currentLineWidthData.pixels; float3 val3 = math.normalizesafe(val2 - val, default(float3)); if (math.any(math.isnan(val3))) { throw new Exception("Nan line coordinates"); } if (pixels <= 0f) { return; } minBounds = math.min(minBounds, math.min(val, val2)); maxBounds = math.max(maxBounds, math.max(val, val2)); UnsafeAppendBuffer* ptr = &buffers->vertices; Reserve(ptr, 4 * UnsafeUtility.SizeOf()); Vertex* ptr2 = (Vertex*)(((UnsafeAppendBuffer)ptr).Ptr + ((UnsafeAppendBuffer)ptr).Length); float3 uv = val3 * pixels; float3 uv2 = val3 * pixels; if (pixels > 1f && currentLineWidthData.automaticJoins && ((UnsafeAppendBuffer)ptr).Length > 2 * UnsafeUtility.SizeOf()) { Vertex* ptr3 = ptr2 - 1; Vertex* ptr4 = ptr2 - 2; float num = math.dot(val3, lastNormalizedLineDir); if (math.all(ptr4->position == val) && lastLineWidth == pixels && num >= -0.6f) { uv = Unsafe.Write(&ptr4->uv2, Unsafe.Write(&ptr3->uv2, (val3 + lastNormalizedLineDir) * pixels / (1f + num))); } } ((UnsafeAppendBuffer)ptr).Length = ((UnsafeAppendBuffer)ptr).Length + 4 * UnsafeUtility.SizeOf(); Unsafe.Write(ptr2++, new Vertex { position = val, color = currentColor, uv = new float2(0f, 0f), uv2 = uv }); Unsafe.Write(ptr2++, new Vertex { position = val, color = currentColor, uv = new float2(1f, 0f), uv2 = uv }); Unsafe.Write(ptr2++, new Vertex { position = val2, color = currentColor, uv = new float2(0f, 1f), uv2 = uv2 }); Unsafe.Write(ptr2++, new Vertex { position = val2, color = currentColor, uv = new float2(1f, 1f), uv2 = uv2 }); lastNormalizedLineDir = val3; lastLineWidth = pixels; } internal static int CircleSteps(float3 center, float radius, float maxPixelError, ref float4x4 currentMatrix, float2 cameraDepthToPixelSize, float3 cameraPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) float4 val = math.mul(currentMatrix, new float4(center, 1f)); if (math.abs(val.w) < 1E-07f) { return 3; } float3 val2 = PerspectiveDivide(val); float num = math.sqrt(math.max(math.max(math.lengthsq(((float4)(ref currentMatrix.c0)).xyz), math.lengthsq(((float4)(ref currentMatrix.c1)).xyz)), math.lengthsq(((float4)(ref currentMatrix.c2)).xyz))) / val.w; float num2 = radius * num; float num3 = math.length(val2 - cameraPosition); float num4 = cameraDepthToPixelSize.x * num3 + cameraDepthToPixelSize.y; float num5 = 1f - maxPixelError * num4 / num2; if (!(num5 < 0f)) { return (int)math.ceil(MathF.PI / math.acos(num5)); } return 3; } private void AddCircle(CommandBuilder.CircleData circle) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) if (!math.all(circle.normal == 0f)) { circle.normal = math.normalize(circle.normal); if (circle.normal.y < 0f) { circle.normal = -circle.normal; } float3 val = default(float3); if (math.all(math.abs(circle.normal - new float3(0f, 1f, 0f)) < 0.001f)) { ((float3)(ref val))..ctor(0f, 0f, 1f); } else { val = math.normalizesafe(math.cross(circle.normal, new float3(0f, 1f, 0f)), default(float3)); } float3 val2 = val; float3 normal = circle.normal; float3 val3 = math.cross(normal, val2); float4x4 val4 = currentMatrix; currentMatrix = math.mul(currentMatrix, new float4x4(new float4(val2, 0f) * circle.radius, new float4(normal, 0f) * circle.radius, new float4(val3, 0f) * circle.radius, new float4(circle.center, 1f))); AddCircle(new CommandBuilder.CircleXZData { center = new float3(0f, 0f, 0f), radius = 1f, startAngle = 0f, endAngle = MathF.PI * 2f }); currentMatrix = val4; } } private unsafe void AddDisc(CommandBuilder.CircleData circle) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0196: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0233: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) if (!math.all(circle.normal == 0f)) { int num = CircleSteps(circle.center, circle.radius, maxPixelError, ref currentMatrix, cameraDepthToPixelSize, cameraPosition); circle.normal = math.normalize(circle.normal); float3 val = default(float3); if (math.all(math.abs(circle.normal - new float3(0f, 1f, 0f)) < 0.001f)) { ((float3)(ref val))..ctor(0f, 0f, 1f); } else { val = math.cross(circle.normal, new float3(0f, 1f, 0f)); } float num2 = 1f / (float)num; UnsafeAppendBuffer* ptr = &buffers->solidVertices; UnsafeAppendBuffer* buffer = &buffers->solidTriangles; Reserve(ptr, num * UnsafeUtility.SizeOf()); Reserve(buffer, 3 * (num - 2) * UnsafeUtility.SizeOf()); float4x4 val2 = math.mul(currentMatrix, float4x4.op_Implicit(Matrix4x4.TRS(float3.op_Implicit(circle.center), Quaternion.LookRotation(float3.op_Implicit(circle.normal), float3.op_Implicit(val)), new Vector3(circle.radius, circle.radius, circle.radius)))); float3 val3 = minBounds; float3 val4 = maxBounds; int num3 = ((UnsafeAppendBuffer)ptr).Length / UnsafeUtility.SizeOf(); float num4 = default(float); float num5 = default(float); for (int i = 0; i < num; i++) { math.sincos(math.lerp(0f, MathF.PI * 2f, (float)i * num2), ref num4, ref num5); float3 val5 = PerspectiveDivide(math.mul(val2, new float4(num5, num4, 0f, 1f))); val3 = math.min(val3, val5); val4 = math.max(val4, val5); Add(ptr, new Vertex { position = val5, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); } minBounds = val3; maxBounds = val4; for (int j = 0; j < num - 2; j++) { Add(buffer, num3); Add(buffer, num3 + j + 1); Add(buffer, num3 + j + 2); } } } private void AddSphereOutline(CommandBuilder.SphereData circle) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) float4 val = math.mul(currentMatrix, new float4(circle.center, 1f)); if (math.abs(val.w) < 1E-07f) { return; } float3 val2 = PerspectiveDivide(val); float num = math.sqrt(math.max(math.max(math.lengthsq(((float4)(ref currentMatrix.c0)).xyz), math.lengthsq(((float4)(ref currentMatrix.c1)).xyz)), math.lengthsq(((float4)(ref currentMatrix.c2)).xyz))) / val.w; float num2 = circle.radius * num; if (cameraIsOrthographic) { float4x4 val3 = currentMatrix; currentMatrix = float4x4.identity; AddCircle(new CommandBuilder.CircleData { center = val2, normal = math.mul(cameraRotation, new float3(0f, 0f, 1f)), radius = num2 }); currentMatrix = val3; return; } float num3 = math.length(cameraPosition - val2); if (!(num3 <= num2)) { float num4 = num2 * num2 / num3; float radius = math.sqrt(num2 * num2 - num4 * num4); float3 val4 = math.normalize(cameraPosition - val2); float4x4 val5 = currentMatrix; currentMatrix = float4x4.identity; AddCircle(new CommandBuilder.CircleData { center = val2 + val4 * num4, normal = val4, radius = radius }); currentMatrix = val5; } } private unsafe void AddCircle(CommandBuilder.CircleXZData circle) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0180: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_01fe: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02df: Unknown result type (might be due to invalid IL or missing references) //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_02fe: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Unknown result type (might be due to invalid IL or missing references) //IL_032a: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_034c: Unknown result type (might be due to invalid IL or missing references) //IL_034e: Unknown result type (might be due to invalid IL or missing references) //IL_035a: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Unknown result type (might be due to invalid IL or missing references) //IL_035e: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_038f: Unknown result type (might be due to invalid IL or missing references) //IL_0394: Unknown result type (might be due to invalid IL or missing references) //IL_0396: Unknown result type (might be due to invalid IL or missing references) //IL_03ab: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bc: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03db: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fc: Unknown result type (might be due to invalid IL or missing references) //IL_0401: Unknown result type (might be due to invalid IL or missing references) //IL_0406: Unknown result type (might be due to invalid IL or missing references) //IL_0409: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_040d: Unknown result type (might be due to invalid IL or missing references) //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0421: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_042b: Unknown result type (might be due to invalid IL or missing references) //IL_0431: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) //IL_043a: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Unknown result type (might be due to invalid IL or missing references) //IL_0441: Unknown result type (might be due to invalid IL or missing references) //IL_0443: Unknown result type (might be due to invalid IL or missing references) //IL_0449: Unknown result type (might be due to invalid IL or missing references) //IL_044e: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) circle.endAngle = math.clamp(circle.endAngle, circle.startAngle - MathF.PI * 2f, circle.startAngle + MathF.PI * 2f); float4x4 val = math.mul(currentMatrix, new float4x4(new float4(circle.radius, 0f, 0f, 0f), new float4(0f, circle.radius, 0f, 0f), new float4(0f, 0f, circle.radius, 0f), new float4(circle.center, 1f))); int num = CircleSteps(float3.zero, 1f, maxPixelError, ref val, cameraDepthToPixelSize, cameraPosition); float pixels = currentLineWidthData.pixels; if (!(pixels < 0f)) { int num2 = num * 4 * UnsafeUtility.SizeOf(); Reserve(&buffers->vertices, num2); Vertex* ptr = (Vertex*)(((UnsafeAppendBuffer)(&buffers->vertices)).Ptr + ((UnsafeAppendBuffer)(&buffers->vertices)).Length); ((UnsafeAppendBuffer)(&buffers->vertices)).Length += num2; float num3 = default(float); float num4 = default(float); math.sincos(circle.startAngle, ref num3, ref num4); float3 position = PerspectiveDivide(math.mul(val, new float4(num4, 0f, num3, 1f))); float4 val2 = math.mul(val, new float4(0f - num3, 0f, num4, 0f)); float3 uv = math.normalizesafe(((float4)(ref val2)).xyz, default(float3)) * pixels; float num5 = math.rcp((float)num); float num6 = default(float); float num7 = default(float); for (int i = 1; i <= num; i++) { math.sincos(math.lerp(circle.startAngle, circle.endAngle, (float)i * num5), ref num6, ref num7); float3 val3 = PerspectiveDivide(math.mul(val, new float4(num7, 0f, num6, 1f))); val2 = math.mul(val, new float4(0f - num6, 0f, num7, 0f)); float3 val4 = math.normalizesafe(((float4)(ref val2)).xyz, default(float3)) * pixels; Unsafe.Write(ptr++, new Vertex { position = position, color = currentColor, uv = new float2(0f, 0f), uv2 = uv }); Unsafe.Write(ptr++, new Vertex { position = position, color = currentColor, uv = new float2(1f, 0f), uv2 = uv }); Unsafe.Write(ptr++, new Vertex { position = val3, color = currentColor, uv = new float2(0f, 1f), uv2 = val4 }); Unsafe.Write(ptr++, new Vertex { position = val3, color = currentColor, uv = new float2(1f, 1f), uv2 = val4 }); position = val3; uv = val4; } float3 val5 = PerspectiveDivide(math.mul(val, new float4(-1f, 0f, 0f, 1f))); float3 val6 = PerspectiveDivide(math.mul(val, new float4(0f, -1f, 0f, 1f))); float3 val7 = PerspectiveDivide(math.mul(val, new float4(1f, 0f, 0f, 1f))); float3 val8 = PerspectiveDivide(math.mul(val, new float4(0f, 1f, 0f, 1f))); minBounds = math.min(math.min(math.min(math.min(val5, val6), val7), val8), minBounds); maxBounds = math.max(math.max(math.max(math.max(val5, val6), val7), val8), maxBounds); } } private unsafe void AddDisc(CommandBuilder.CircleXZData circle) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) int num = CircleSteps(circle.center, circle.radius, maxPixelError, ref currentMatrix, cameraDepthToPixelSize, cameraPosition); circle.endAngle = math.clamp(circle.endAngle, circle.startAngle - MathF.PI * 2f, circle.startAngle + MathF.PI * 2f); float num2 = 1f / (float)num; UnsafeAppendBuffer* ptr = &buffers->solidVertices; UnsafeAppendBuffer* buffer = &buffers->solidTriangles; Reserve(ptr, (2 + num) * UnsafeUtility.SizeOf()); Reserve(buffer, 3 * num * UnsafeUtility.SizeOf()); float4x4 val = math.mul(currentMatrix, float4x4.op_Implicit(Matrix4x4.Translate(float3.op_Implicit(circle.center)) * Matrix4x4.Scale(new Vector3(circle.radius, circle.radius, circle.radius)))); float3 val2 = PerspectiveDivide(math.mul(val, new float4(0f, 0f, 0f, 1f))); Add(ptr, new Vertex { position = val2, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); float3 val3 = math.min(minBounds, val2); float3 val4 = math.max(maxBounds, val2); int num3 = ((UnsafeAppendBuffer)ptr).Length / UnsafeUtility.SizeOf(); float num4 = default(float); float num5 = default(float); for (int i = 0; i <= num; i++) { math.sincos(math.lerp(circle.startAngle, circle.endAngle, (float)i * num2), ref num4, ref num5); float3 val5 = PerspectiveDivide(math.mul(val, new float4(num5, 0f, num4, 1f))); val3 = math.min(val3, val5); val4 = math.max(val4, val5); Add(ptr, new Vertex { position = val5, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); } minBounds = val3; maxBounds = val4; for (int j = 0; j < num; j++) { Add(buffer, num3 - 1); Add(buffer, num3 + j); Add(buffer, num3 + j + 1); } } private unsafe void AddSolidTriangle(CommandBuilder.TriangleData triangle) { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_018c: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) UnsafeAppendBuffer* num = &buffers->solidVertices; UnsafeAppendBuffer* buffer = &buffers->solidTriangles; Reserve(num, 3 * UnsafeUtility.SizeOf()); Reserve(buffer, 3 * UnsafeUtility.SizeOf()); float4x4 val = currentMatrix; float3 val2 = PerspectiveDivide(math.mul(val, new float4(triangle.a, 1f))); float3 val3 = PerspectiveDivide(math.mul(val, new float4(triangle.b, 1f))); float3 val4 = PerspectiveDivide(math.mul(val, new float4(triangle.c, 1f))); int num2 = ((UnsafeAppendBuffer)num).Length / UnsafeUtility.SizeOf(); minBounds = math.min(math.min(math.min(minBounds, val2), val3), val4); maxBounds = math.max(math.max(math.max(maxBounds, val2), val3), val4); Add(num, new Vertex { position = val2, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); Add(num, new Vertex { position = val3, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); Add(num, new Vertex { position = val4, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); Add(buffer, num2); Add(buffer, num2 + 1); Add(buffer, num2 + 2); } private void AddWireBox(CommandBuilder.BoxData box) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_016f: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0211: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026e: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_027a: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02cb: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0304: Unknown result type (might be due to invalid IL or missing references) //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_0316: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0331: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) //IL_034f: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035b: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_037c: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0388: Unknown result type (might be due to invalid IL or missing references) //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_039a: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) float3 val = box.center - box.size * 0.5f; float3 val2 = box.center + box.size * 0.5f; AddLine(new CommandBuilder.LineData { a = new float3(val.x, val.y, val.z), b = new float3(val2.x, val.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val.y, val.z), b = new float3(val2.x, val.y, val2.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val.y, val2.z), b = new float3(val.x, val.y, val2.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val.x, val.y, val2.z), b = new float3(val.x, val.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val.x, val2.y, val.z), b = new float3(val2.x, val2.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val2.y, val.z), b = new float3(val2.x, val2.y, val2.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val2.y, val2.z), b = new float3(val.x, val2.y, val2.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val.x, val2.y, val2.z), b = new float3(val.x, val2.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val.x, val.y, val.z), b = new float3(val.x, val2.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val.y, val.z), b = new float3(val2.x, val2.y, val.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val2.x, val.y, val2.z), b = new float3(val2.x, val2.y, val2.z) }); AddLine(new CommandBuilder.LineData { a = new float3(val.x, val.y, val2.z), b = new float3(val.x, val2.y, val2.z) }); } private void AddPlane(CommandBuilder.PlaneData plane) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) float4x4 val = currentMatrix; currentMatrix = math.mul(currentMatrix, float4x4.TRS(plane.center, plane.rotation, new float3(plane.size.x * 0.5f, 1f, plane.size.y * 0.5f))); AddLine(new CommandBuilder.LineData { a = new float3(-1f, 0f, -1f), b = new float3(1f, 0f, -1f) }); AddLine(new CommandBuilder.LineData { a = new float3(1f, 0f, -1f), b = new float3(1f, 0f, 1f) }); AddLine(new CommandBuilder.LineData { a = new float3(1f, 0f, 1f), b = new float3(-1f, 0f, 1f) }); AddLine(new CommandBuilder.LineData { a = new float3(-1f, 0f, 1f), b = new float3(-1f, 0f, -1f) }); currentMatrix = val; } private unsafe void AddBox(CommandBuilder.BoxData box) { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) UnsafeAppendBuffer* ptr = &buffers->solidVertices; UnsafeAppendBuffer* ptr2 = &buffers->solidTriangles; Reserve(ptr, BoxVertices.Length * UnsafeUtility.SizeOf()); Reserve(ptr2, BoxTriangles.Length * UnsafeUtility.SizeOf()); float3 val = box.size * 0.5f; float4x4 val2 = math.mul(currentMatrix, new float4x4(new float4(val.x, 0f, 0f, 0f), new float4(0f, val.y, 0f, 0f), new float4(0f, 0f, val.z, 0f), new float4(box.center, 1f))); float3 val3 = minBounds; float3 val4 = maxBounds; int num = ((UnsafeAppendBuffer)ptr).Length / UnsafeUtility.SizeOf(); Vertex* ptr3 = (Vertex*)(((UnsafeAppendBuffer)ptr).Ptr + ((UnsafeAppendBuffer)ptr).Length); for (int i = 0; i < BoxVertices.Length; i++) { float3 val5 = PerspectiveDivide(math.mul(val2, BoxVertices[i])); val3 = math.min(val3, val5); val4 = math.max(val4, val5); Unsafe.Write(ptr3++, new Vertex { position = val5, color = currentColor, uv = new float2(0f, 0f), uv2 = new float3(0f, 0f, 0f) }); } ((UnsafeAppendBuffer)ptr).Length += BoxVertices.Length * UnsafeUtility.SizeOf(); minBounds = val3; maxBounds = val4; int* ptr4 = (int*)(((UnsafeAppendBuffer)ptr2).Ptr + ((UnsafeAppendBuffer)ptr2).Length); for (int j = 0; j < BoxTriangles.Length; j++) { *(ptr4++) = num + BoxTriangles[j]; } ((UnsafeAppendBuffer)ptr2).Length += BoxTriangles.Length * UnsafeUtility.SizeOf(); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void Next(ref Reader reader, ref NativeArray matrixStack, ref NativeArray colorStack, ref NativeArray lineWidthStack, ref int matrixStackSize, ref int colorStackSize, ref int lineWidthStackSize) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_02ea: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_0340: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Unknown result type (might be due to invalid IL or missing references) //IL_0352: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_036e: Unknown result type (might be due to invalid IL or missing references) CommandBuilder.Command command = ((Reader)(ref reader)).ReadNext(); CommandBuilder.Command command2 = command & (CommandBuilder.Command)255; Color32 val = default(Color32); if ((command & CommandBuilder.Command.PushColorInline) != CommandBuilder.Command.PushColor) { val = currentColor; currentColor = ((Reader)(ref reader)).ReadNext(); } switch (command2) { case CommandBuilder.Command.PushColor: if (colorStackSize >= colorStack.Length) { colorStackSize--; } colorStack[colorStackSize] = currentColor; colorStackSize++; currentColor = ((Reader)(ref reader)).ReadNext(); break; case CommandBuilder.Command.PopColor: if (colorStackSize > 0) { colorStackSize--; currentColor = colorStack[colorStackSize]; } break; case CommandBuilder.Command.PushMatrix: if (matrixStackSize >= matrixStack.Length) { matrixStackSize--; } matrixStack[matrixStackSize] = currentMatrix; matrixStackSize++; currentMatrix = math.mul(currentMatrix, ((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.PushSetMatrix: if (matrixStackSize >= matrixStack.Length) { matrixStackSize--; } matrixStack[matrixStackSize] = currentMatrix; matrixStackSize++; currentMatrix = ((Reader)(ref reader)).ReadNext(); break; case CommandBuilder.Command.PopMatrix: if (matrixStackSize > 0) { matrixStackSize--; currentMatrix = matrixStack[matrixStackSize]; } break; case CommandBuilder.Command.PushLineWidth: if (lineWidthStackSize >= lineWidthStack.Length) { lineWidthStackSize--; } lineWidthStack[lineWidthStackSize] = currentLineWidthData; lineWidthStackSize++; currentLineWidthData = ((Reader)(ref reader)).ReadNext(); currentLineWidthData.pixels *= lineWidthMultiplier; break; case CommandBuilder.Command.PopLineWidth: if (lineWidthStackSize > 0) { lineWidthStackSize--; currentLineWidthData = lineWidthStack[lineWidthStackSize]; } break; case CommandBuilder.Command.Line: AddLine(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.SphereOutline: AddSphereOutline(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.CircleXZ: AddCircle(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.Circle: AddCircle(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.DiscXZ: AddDisc(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.Disc: AddDisc(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.Box: AddBox(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.WirePlane: AddPlane(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.WireBox: AddWireBox(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.SolidTriangle: AddSolidTriangle(((Reader)(ref reader)).ReadNext()); break; case CommandBuilder.Command.PushPersist: ((Reader)(ref reader)).ReadNext(); break; case CommandBuilder.Command.Text: { CommandBuilder.TextData textData2 = ((Reader)(ref reader)).ReadNext(); ushort* text2 = (ushort*)((Reader)(ref reader)).ReadNext(UnsafeUtility.SizeOf() * textData2.numCharacters); AddText(text2, textData2, currentColor); break; } case CommandBuilder.Command.Text3D: { CommandBuilder.TextData3D textData = ((Reader)(ref reader)).ReadNext(); ushort* text = (ushort*)((Reader)(ref reader)).ReadNext(UnsafeUtility.SizeOf() * textData.numCharacters); AddText3D(text, textData, currentColor); break; } case CommandBuilder.Command.CaptureState: ((UnsafeAppendBuffer)(&buffers->capturedState)).Add(new DrawingData.ProcessedBuilderData.CapturedState { color = Color32.op_Implicit(currentColor), matrix = float4x4.op_Implicit(currentMatrix) }); break; } if ((command & CommandBuilder.Command.PushColorInline) != CommandBuilder.Command.PushColor) { currentColor = val; } } private unsafe void CreateTriangles() { UnsafeAppendBuffer* num = &buffers->vertices; UnsafeAppendBuffer* ptr = &buffers->triangles; int num2 = ((UnsafeAppendBuffer)num).Length / UnsafeUtility.SizeOf() / 4; int num3 = num2 * 6 * UnsafeUtility.SizeOf(); if (num3 >= ((UnsafeAppendBuffer)ptr).Capacity) { ((UnsafeAppendBuffer)ptr).SetCapacity(math.ceilpow2(num3)); } int* ptr2 = (int*)((UnsafeAppendBuffer)ptr).Ptr; int num4 = 0; int num5 = 0; while (num4 < num2) { *(ptr2++) = num5; *(ptr2++) = num5 + 1; *(ptr2++) = num5 + 2; *(ptr2++) = num5 + 1; *(ptr2++) = num5 + 3; *(ptr2++) = num5 + 2; num4++; num5 += 4; } ((UnsafeAppendBuffer)ptr).Length = num3; } public unsafe void Execute() { //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) ((UnsafeAppendBuffer)(&buffers->vertices)).Reset(); ((UnsafeAppendBuffer)(&buffers->triangles)).Reset(); ((UnsafeAppendBuffer)(&buffers->solidVertices)).Reset(); ((UnsafeAppendBuffer)(&buffers->solidTriangles)).Reset(); ((UnsafeAppendBuffer)(&buffers->textVertices)).Reset(); ((UnsafeAppendBuffer)(&buffers->textTriangles)).Reset(); ((UnsafeAppendBuffer)(&buffers->capturedState)).Reset(); currentLineWidthData.pixels *= lineWidthMultiplier; minBounds = new float3(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity); maxBounds = new float3(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity); NativeArray matrixStack = default(NativeArray); matrixStack..ctor(32, (Allocator)2, (NativeArrayOptions)0); NativeArray colorStack = default(NativeArray); colorStack..ctor(32, (Allocator)2, (NativeArrayOptions)0); NativeArray lineWidthStack = default(NativeArray); lineWidthStack..ctor(32, (Allocator)2, (NativeArrayOptions)0); int matrixStackSize = 0; int colorStackSize = 0; int lineWidthStackSize = 0; Reader reader = ((UnsafeAppendBuffer)(&buffers->splitterOutput)).AsReader(); while (reader.Offset < reader.Size) { Next(ref reader, ref matrixStack, ref colorStack, ref lineWidthStack, ref matrixStackSize, ref colorStackSize, ref lineWidthStackSize); } CreateTriangles(); Bounds* ptr = &buffers->bounds; Unsafe.Write(ptr, new Bounds(float3.op_Implicit((minBounds + maxBounds) * 0.5f), float3.op_Implicit(maxBounds - minBounds))); if (math.any(math.isnan(float3.op_Implicit(((Bounds)ptr).min))) && (((UnsafeAppendBuffer)(&buffers->vertices)).Length > 0 || ((UnsafeAppendBuffer)(&buffers->solidTriangles)).Length > 0)) { Unsafe.Write(ptr, new Bounds(Vector3.zero, new Vector3(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity))); } } } public abstract class MonoBehaviourGizmos : MonoBehaviour, IDrawGizmos { public MonoBehaviourGizmos() { } private void OnDrawGizmosSelected() { } public virtual void DrawGizmos() { } } public static class Palette { public static class Pure { public static readonly Color Yellow = new Color(1f, 1f, 0f, 1f); public static readonly Color Clear = new Color(0f, 0f, 0f, 0f); public static readonly Color Grey = new Color(0.5f, 0.5f, 0.5f, 1f); public static readonly Color Magenta = new Color(1f, 0f, 1f, 1f); public static readonly Color Cyan = new Color(0f, 1f, 1f, 1f); public static readonly Color Red = new Color(1f, 0f, 0f, 1f); public static readonly Color Black = new Color(0f, 0f, 0f, 1f); public static readonly Color White = new Color(1f, 1f, 1f, 1f); public static readonly Color Blue = new Color(0f, 0f, 1f, 1f); public static readonly Color Green = new Color(0f, 1f, 0f, 1f); } public static class Colorbrewer { public static class Set1 { public static readonly Color Red = new Color(76f / 85f, 0.101960786f, 0.10980392f, 1f); public static readonly Color Blue = new Color(11f / 51f, 42f / 85f, 0.72156864f, 1f); public static readonly Color Green = new Color(0.3019608f, 35f / 51f, 0.2901961f, 1f); public static readonly Color Purple = new Color(0.59607846f, 26f / 85f, 0.6392157f, 1f); public static readonly Color Orange = new Color(1f, 0.49803922f, 0f, 1f); public static readonly Color Yellow = new Color(1f, 1f, 0.2f, 1f); public static readonly Color Brown = new Color(0.6509804f, 0.3372549f, 8f / 51f, 1f); public static readonly Color Pink = new Color(0.96862745f, 43f / 85f, 0.7490196f, 1f); public static readonly Color Grey = new Color(0.6f, 0.6f, 0.6f, 1f); } public static class Blues { private static readonly Color[] Colors = (Color[])(object)new Color[45] { new Color(0.16862746f, 28f / 51f, 38f / 51f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.16862746f, 28f / 51f, 38f / 51f), new Color(0.9254902f, 77f / 85f, 0.9490196f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.16862746f, 28f / 51f, 38f / 51f), new Color(0.94509804f, 14f / 15f, 82f / 85f), new Color(63f / 85f, 67f / 85f, 0.88235295f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(1f / 51f, 0.4392157f, 0.6901961f), new Color(0.94509804f, 14f / 15f, 82f / 85f), new Color(63f / 85f, 67f / 85f, 0.88235295f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(0.16862746f, 28f / 51f, 38f / 51f), new Color(0.015686275f, 0.3529412f, 47f / 85f), new Color(0.94509804f, 14f / 15f, 82f / 85f), new Color(0.8156863f, 0.81960785f, 46f / 51f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(0.16862746f, 28f / 51f, 38f / 51f), new Color(0.015686275f, 0.3529412f, 47f / 85f), new Color(0.94509804f, 14f / 15f, 82f / 85f), new Color(0.8156863f, 0.81960785f, 46f / 51f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(18f / 85f, 48f / 85f, 64f / 85f), new Color(1f / 51f, 0.4392157f, 0.6901961f), new Color(1f / 85f, 26f / 85f, 41f / 85f), new Color(1f, 0.96862745f, 0.9843137f), new Color(0.9254902f, 77f / 85f, 0.9490196f), new Color(0.8156863f, 0.81960785f, 46f / 51f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(18f / 85f, 48f / 85f, 64f / 85f), new Color(1f / 51f, 0.4392157f, 0.6901961f), new Color(1f / 85f, 26f / 85f, 41f / 85f), new Color(1f, 0.96862745f, 0.9843137f), new Color(0.9254902f, 77f / 85f, 0.9490196f), new Color(0.8156863f, 0.81960785f, 46f / 51f), new Color(0.6509804f, 63f / 85f, 73f / 85f), new Color(0.45490196f, 0.6627451f, 69f / 85f), new Color(18f / 85f, 48f / 85f, 64f / 85f), new Color(1f / 51f, 0.4392157f, 0.6901961f), new Color(0.015686275f, 0.3529412f, 47f / 85f), new Color(0.007843138f, 0.21960784f, 0.34509805f) }; public static Color GetColor(int classes, int index) { //IL_003f: Unknown result type (might be due to invalid IL or missing references) if (index < 0 || index >= classes) { throw new ArgumentOutOfRangeException("index", "Index must be less than classes and at least 0"); } if (classes <= 0 || classes > 9) { throw new ArgumentOutOfRangeException("classes", "Only up to 9 classes are supported"); } return Colors[(classes - 1) * classes / 2 + index]; } } } } [BurstCompile] internal struct PersistentFilterJob : IJob { [NativeDisableUnsafePtrRestriction] public unsafe UnsafeAppendBuffer* buffer; public float time; public unsafe void Execute() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) NativeArray val = default(NativeArray); val..ctor(32, (Allocator)2, (NativeArrayOptions)1); NativeArray val2 = default(NativeArray); val2..ctor(32, (Allocator)2, (NativeArrayOptions)1); UnsafeAppendBuffer val3 = *buffer; long num = 0L; long num2 = 0L; bool flag = false; int num3 = 0; long num4 = -1L; int num6; for (; num2 < val3.Length; num2 += num6) { CommandBuilder.Command command = *(CommandBuilder.Command*)(val3.Ptr + num2); int num5 = 1 << (int)(command & (CommandBuilder.Command)255); bool flag2 = (num5 & StreamSplitter.MetaCommands) != 0; num6 = StreamSplitter.CommandSizes[(int)(command & (CommandBuilder.Command)255)] + (((command & CommandBuilder.Command.PushColorInline) != CommandBuilder.Command.PushColor) ? UnsafeUtility.SizeOf() : 0); if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.Text) { CommandBuilder.TextData textData = *((CommandBuilder.TextData*)(val3.Ptr + num2 + num6) - 1); num6 += textData.numCharacters * UnsafeUtility.SizeOf(); } else if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.Text3D) { CommandBuilder.TextData3D textData3D = *((CommandBuilder.TextData3D*)(val3.Ptr + num2 + num6) - 1); num6 += textData3D.numCharacters * UnsafeUtility.SizeOf(); } if (flag || flag2) { if (!flag2) { num4 = num; } if (num != num2) { UnsafeUtility.MemMove((void*)(val3.Ptr + num), (void*)(val3.Ptr + num2), (long)num6); } num += num6; } if ((num5 & StreamSplitter.PushCommands) != 0) { if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.PushPersist) { CommandBuilder.PersistData persistData = *((CommandBuilder.PersistData*)(val3.Ptr + num2 + num6) - 1); flag = time <= persistData.endTime; } val2[num3] = (int)(num - num6); val[num3] = flag; num3++; if (num3 >= 32) { ((UnsafeAppendBuffer)buffer).Length = 0; return; } } else if ((num5 & StreamSplitter.PopCommands) != 0) { num3--; if (num3 < 0) { ((UnsafeAppendBuffer)buffer).Length = 0; return; } if ((int)num4 < val2[num3]) { num = val2[num3]; } flag = val[num3]; } } val3.Length = (int)num; if (num3 != 0) { ((UnsafeAppendBuffer)buffer).Length = 0; } else { Unsafe.Write(buffer, val3); } } } [BurstCompile] internal struct StreamSplitter : IJob { public NativeArray inputBuffers; [NativeDisableUnsafePtrRestriction] public unsafe UnsafeAppendBuffer* staticBuffer; [NativeDisableUnsafePtrRestriction] public unsafe UnsafeAppendBuffer* dynamicBuffer; [NativeDisableUnsafePtrRestriction] public unsafe UnsafeAppendBuffer* persistentBuffer; internal static readonly int PushCommands; internal static readonly int PopCommands; internal static readonly int MetaCommands; internal static readonly int DynamicCommands; internal static readonly int StaticCommands; internal static readonly int[] CommandSizes; static StreamSplitter() { PushCommands = 557069; PopCommands = 1114130; MetaCommands = PushCommands | PopCommands; DynamicCommands = 0x2607C0 | MetaCommands; StaticCommands = 0x7820 | MetaCommands; CommandSizes = new int[22]; CommandSizes[0] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[1] = UnsafeUtility.SizeOf(); CommandSizes[2] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[3] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[4] = UnsafeUtility.SizeOf(); CommandSizes[5] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[7] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[10] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[6] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[8] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[9] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[11] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[12] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[13] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[14] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[15] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[16] = UnsafeUtility.SizeOf(); CommandSizes[17] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[18] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[19] = UnsafeUtility.SizeOf() + UnsafeUtility.SizeOf(); CommandSizes[20] = UnsafeUtility.SizeOf(); CommandSizes[21] = UnsafeUtility.SizeOf(); } public unsafe void Execute() { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0451: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) //IL_045e: Unknown result type (might be due to invalid IL or missing references) //IL_0460: Unknown result type (might be due to invalid IL or missing references) //IL_046b: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_0411: Unknown result type (might be due to invalid IL or missing references) //IL_014e: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0422: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01eb: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024d: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_02df: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02ee: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_0288: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_0280: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_034a: Unknown result type (might be due to invalid IL or missing references) int num = -1; int num2 = -1; int num3 = -1; NativeArray val = default(NativeArray); val..ctor(32, (Allocator)2, (NativeArrayOptions)1); NativeArray val2 = default(NativeArray); val2..ctor(32, (Allocator)2, (NativeArrayOptions)1); NativeArray val3 = default(NativeArray); val3..ctor(32, (Allocator)2, (NativeArrayOptions)1); UnsafeAppendBuffer val4 = *staticBuffer; UnsafeAppendBuffer val5 = *dynamicBuffer; UnsafeAppendBuffer val6 = *persistentBuffer; ((UnsafeAppendBuffer)(ref val4)).Reset(); ((UnsafeAppendBuffer)(ref val5)).Reset(); ((UnsafeAppendBuffer)(ref val6)).Reset(); for (int i = 0; i < inputBuffers.Length; i++) { int num4 = 0; int num5 = 0; UnsafeAppendBuffer val7 = inputBuffers[i]; Reader val8 = ((UnsafeAppendBuffer)(ref val7)).AsReader(); if (val4.Capacity < val4.Length + val8.Size) { ((UnsafeAppendBuffer)(ref val4)).SetCapacity(math.ceilpow2(val4.Length + val8.Size)); } if (val5.Capacity < val5.Length + val8.Size) { ((UnsafeAppendBuffer)(ref val5)).SetCapacity(math.ceilpow2(val5.Length + val8.Size)); } if (val6.Capacity < val6.Length + val8.Size) { ((UnsafeAppendBuffer)(ref val6)).SetCapacity(math.ceilpow2(val6.Length + val8.Size)); } Unsafe.Write(staticBuffer, val4); Unsafe.Write(dynamicBuffer, val5); Unsafe.Write(persistentBuffer, val6); while (val8.Offset < val8.Size) { CommandBuilder.Command command = *(CommandBuilder.Command*)(val8.Ptr + val8.Offset); int num6 = 1 << (int)(command & (CommandBuilder.Command)255); int num7 = CommandSizes[(int)(command & (CommandBuilder.Command)255)] + (((command & CommandBuilder.Command.PushColorInline) != CommandBuilder.Command.PushColor) ? UnsafeUtility.SizeOf() : 0); bool flag = (num6 & MetaCommands) != 0; if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.Text) { CommandBuilder.TextData textData = *((CommandBuilder.TextData*)(val8.Ptr + val8.Offset + num7) - 1); num7 += textData.numCharacters * UnsafeUtility.SizeOf(); } else if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.Text3D) { CommandBuilder.TextData3D textData3D = *((CommandBuilder.TextData3D*)(val8.Ptr + val8.Offset + num7) - 1); num7 += textData3D.numCharacters * UnsafeUtility.SizeOf(); } if ((num6 & DynamicCommands) != 0 && num5 == 0) { if (!flag) { num2 = val5.Length; } UnsafeUtility.MemCpy((void*)(val5.Ptr + val5.Length), (void*)(val8.Ptr + val8.Offset), (long)num7); val5.Length += num7; } if ((num6 & StaticCommands) != 0 && num5 == 0) { if (!flag) { num = val4.Length; } UnsafeUtility.MemCpy((void*)(val4.Ptr + val4.Length), (void*)(val8.Ptr + val8.Offset), (long)num7); val4.Length += num7; } if ((num6 & MetaCommands) != 0 || num5 > 0) { if (num5 > 0 && !flag) { num3 = val6.Length; } UnsafeUtility.MemCpy((void*)(val6.Ptr + val6.Length), (void*)(val8.Ptr + val8.Offset), (long)num7); val6.Length += num7; } if ((num6 & PushCommands) != 0) { val[num4] = val4.Length - num7; val2[num4] = val5.Length - num7; val3[num4] = val6.Length - num7; num4++; if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.PushPersist) { num5++; } if (num4 >= 32) { return; } } else if ((num6 & PopCommands) != 0) { num4--; if (num4 < 0) { return; } if (num < val[num4]) { val4.Length = val[num4]; } if (num2 < val2[num4]) { val5.Length = val2[num4]; } if (num3 < val3[num4]) { val6.Length = val3[num4]; } if ((command & (CommandBuilder.Command)255) == CommandBuilder.Command.PopPersist) { num5--; if (num5 < 0) { return; } } } val8.Offset += num7; } if (num4 != 0 || val8.Offset != val8.Size) { return; } } Unsafe.Write(staticBuffer, val4); Unsafe.Write(dynamicBuffer, val5); Unsafe.Write(persistentBuffer, val6); } } } namespace Drawing.Text { internal struct SDFCharacter { public char codePoint; private float2 uvtopleft; private float2 uvbottomright; private float2 vtopleft; private float2 vbottomright; public float advance; public float2 uvTopLeft => uvtopleft; public float2 uvTopRight => new float2(uvbottomright.x, uvtopleft.y); public float2 uvBottomLeft => new float2(uvtopleft.x, uvbottomright.y); public float2 uvBottomRight => uvbottomright; public float2 vertexTopLeft => vtopleft; public float2 vertexTopRight => new float2(vbottomright.x, vtopleft.y); public float2 vertexBottomLeft => new float2(vtopleft.x, vbottomright.y); public float2 vertexBottomRight => vbottomright; public SDFCharacter(char codePoint, int x, int y, int width, int height, int originX, int originY, int advance, int textureWidth, int textureHeight, float defaultSize) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) float2 val = default(float2); ((float2)(ref val))..ctor((float)textureWidth, (float)textureHeight); this.codePoint = codePoint; float2 val2 = new float2((float)x, (float)y) / val; float2 val3 = new float2((float)(x + width), (float)(y + height)) / val; uvtopleft = new float2(val2.x, 1f - val2.y); uvbottomright = new float2(val3.x, 1f - val3.y); float2 val4 = default(float2); ((float2)(ref val4))..ctor((float)(-originX), (float)originY); vtopleft = (val4 + new float2(0f, 0f)) / defaultSize; vbottomright = (val4 + new float2((float)width, (float)(-height))) / defaultSize; this.advance = (float)advance / defaultSize; } } internal struct SDFFont { public string name; public int size; public int width; public int height; public bool bold; public bool italic; public SDFCharacter[] characters; public Material material; } internal struct SDFLookupData { public NativeArray characters; private Dictionary lookup; public Material material; public const ushort Newline = ushort.MaxValue; public SDFLookupData(SDFFont font) { //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) int num = 0; SDFCharacter sDFCharacter = font.characters[0]; for (int i = 0; i < font.characters.Length; i++) { if (font.characters[i].codePoint == '?') { sDFCharacter = font.characters[i]; } if (font.characters[i].codePoint >= '\u0080') { num++; } } characters = new NativeArray(128 + num, (Allocator)4, (NativeArrayOptions)1); for (int j = 0; j < characters.Length; j++) { characters[j] = sDFCharacter; } lookup = new Dictionary(); material = font.material; num = 0; for (int k = 0; k < font.characters.Length; k++) { SDFCharacter sDFCharacter2 = font.characters[k]; int num2 = sDFCharacter2.codePoint; if (sDFCharacter2.codePoint >= '\u0080') { num2 = 128 + num; num++; } characters[num2] = sDFCharacter2; lookup[sDFCharacter2.codePoint] = num2; } } public int GetIndex(char c) { if (lookup.TryGetValue(c, out var value)) { return value; } if (c == '\n') { return 65535; } return lookup['?']; } public void Dispose() { if (characters.IsCreated) { characters.Dispose(); } } } internal static class DefaultFonts { internal static SDFFont LoadDefaultFont() { SDFFont result = new SDFFont { name = "Droid Sans Mono", size = 32, bold = false, italic = false, width = 1024, height = 128, characters = null, material = Resources.Load("aline_text_mat") }; SDFCharacter[] characters = new SDFCharacter[95] { new SDFCharacter(' ', 414, 79, 12, 12, 6, 6, 19, result.width, result.height, result.size), new SDFCharacter('!', 669, 44, 16, 35, -2, 29, 19, result.width, result.height, result.size), new SDFCharacter('"', 258, 79, 23, 20, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('#', 919, 0, 30, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('$', 231, 0, 26, 38, 3, 30, 19, result.width, result.height, result.size), new SDFCharacter('%', 393, 0, 31, 36, 6, 29, 19, result.width, result.height, result.size), new SDFCharacter('&', 424, 0, 31, 36, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('\'', 281, 79, 16, 20, -2, 29, 19, result.width, result.height, result.size), new SDFCharacter('(', 115, 0, 22, 40, 1, 29, 19, result.width, result.height, result.size), new SDFCharacter(')', 137, 0, 22, 40, 1, 29, 19, result.width, result.height, result.size), new SDFCharacter('*', 159, 79, 27, 26, 4, 30, 19, result.width, result.height, result.size), new SDFCharacter('+', 186, 79, 27, 26, 4, 24, 19, result.width, result.height, result.size), new SDFCharacter(',', 240, 79, 18, 21, -1, 10, 19, result.width, result.height, result.size), new SDFCharacter('-', 359, 79, 23, 15, 2, 16, 19, result.width, result.height, result.size), new SDFCharacter('.', 315, 79, 17, 17, -1, 11, 19, result.width, result.height, result.size), new SDFCharacter('/', 500, 44, 25, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('0', 569, 0, 27, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('1', 649, 44, 20, 35, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('2', 313, 44, 27, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('3', 758, 0, 26, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('4', 60, 44, 29, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('5', 448, 44, 26, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('6', 596, 0, 27, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('7', 340, 44, 27, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('8', 623, 0, 27, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('9', 650, 0, 27, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter(':', 861, 44, 16, 30, -2, 23, 19, result.width, result.height, result.size), new SDFCharacter(';', 711, 44, 18, 34, 0, 23, 19, result.width, result.height, result.size), new SDFCharacter('<', 77, 79, 27, 28, 4, 25, 19, result.width, result.height, result.size), new SDFCharacter('=', 213, 79, 27, 21, 4, 22, 19, result.width, result.height, result.size), new SDFCharacter('>', 104, 79, 27, 28, 4, 25, 19, result.width, result.height, result.size), new SDFCharacter('?', 784, 0, 26, 36, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('@', 200, 0, 31, 38, 6, 29, 19, result.width, result.height, result.size), new SDFCharacter('A', 949, 0, 30, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('B', 89, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('C', 513, 0, 28, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('D', 117, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('E', 474, 44, 26, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('F', 525, 44, 25, 35, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('G', 541, 0, 28, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('H', 367, 44, 27, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('I', 625, 44, 24, 35, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('J', 550, 44, 25, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('K', 145, 44, 28, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('L', 575, 44, 25, 35, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('M', 173, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('N', 394, 44, 27, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('O', 455, 0, 29, 36, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('P', 421, 44, 27, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('Q', 38, 0, 29, 42, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('R', 201, 44, 28, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter('S', 677, 0, 27, 36, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('T', 229, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('U', 257, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('V', 979, 0, 30, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('W', 888, 0, 31, 35, 6, 29, 19, result.width, result.height, result.size), new SDFCharacter('X', 0, 44, 30, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('Y', 30, 44, 30, 35, 5, 29, 19, result.width, result.height, result.size), new SDFCharacter('Z', 285, 44, 28, 35, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('[', 159, 0, 21, 40, 0, 29, 19, result.width, result.height, result.size), new SDFCharacter('\\', 600, 44, 25, 35, 3, 29, 19, result.width, result.height, result.size), new SDFCharacter(']', 180, 0, 20, 40, 1, 29, 19, result.width, result.height, result.size), new SDFCharacter('^', 131, 79, 28, 26, 4, 29, 19, result.width, result.height, result.size), new SDFCharacter('_', 382, 79, 32, 14, 6, 3, 19, result.width, result.height, result.size), new SDFCharacter('`', 297, 79, 18, 17, -1, 31, 19, result.width, result.height, result.size), new SDFCharacter('a', 784, 44, 26, 30, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('b', 285, 0, 27, 37, 4, 30, 19, result.width, result.height, result.size), new SDFCharacter('c', 810, 44, 26, 30, 3, 23, 19, result.width, result.height, result.size), new SDFCharacter('d', 312, 0, 27, 37, 4, 30, 19, result.width, result.height, result.size), new SDFCharacter('e', 757, 44, 27, 30, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('f', 704, 0, 27, 36, 4, 30, 19, result.width, result.height, result.size), new SDFCharacter('g', 257, 0, 28, 37, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('h', 810, 0, 26, 36, 3, 30, 19, result.width, result.height, result.size), new SDFCharacter('i', 836, 0, 26, 36, 3, 30, 19, result.width, result.height, result.size), new SDFCharacter('j', 0, 0, 23, 44, 4, 30, 19, result.width, result.height, result.size), new SDFCharacter('k', 731, 0, 27, 36, 3, 30, 19, result.width, result.height, result.size), new SDFCharacter('l', 862, 0, 26, 36, 3, 30, 19, result.width, result.height, result.size), new SDFCharacter('m', 909, 44, 29, 29, 5, 23, 19, result.width, result.height, result.size), new SDFCharacter('n', 995, 44, 26, 29, 3, 23, 19, result.width, result.height, result.size), new SDFCharacter('o', 729, 44, 28, 30, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('p', 339, 0, 27, 37, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('q', 366, 0, 27, 37, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('r', 52, 79, 25, 29, 2, 23, 19, result.width, result.height, result.size), new SDFCharacter('s', 836, 44, 25, 30, 3, 23, 19, result.width, result.height, result.size), new SDFCharacter('t', 685, 44, 26, 34, 4, 28, 19, result.width, result.height, result.size), new SDFCharacter('u', 0, 79, 26, 29, 3, 23, 19, result.width, result.height, result.size), new SDFCharacter('v', 938, 44, 29, 29, 5, 23, 19, result.width, result.height, result.size), new SDFCharacter('w', 877, 44, 32, 29, 6, 23, 19, result.width, result.height, result.size), new SDFCharacter('x', 967, 44, 28, 29, 4, 23, 19, result.width, result.height, result.size), new SDFCharacter('y', 484, 0, 29, 36, 5, 23, 19, result.width, result.height, result.size), new SDFCharacter('z', 26, 79, 26, 29, 3, 23, 19, result.width, result.height, result.size), new SDFCharacter('{', 67, 0, 24, 40, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('|', 23, 0, 15, 44, -2, 30, 19, result.width, result.height, result.size), new SDFCharacter('}', 91, 0, 24, 40, 2, 29, 19, result.width, result.height, result.size), new SDFCharacter('~', 332, 79, 27, 16, 4, 19, 19, result.width, result.height, result.size) }; result.characters = characters; return result; } } } [DOTSCompilerGenerated] internal class __JobReflectionRegistrationOutput__3150089336157158032 { public static void CreateJobReflectionData() { try { IJobExtensions.EarlyJobInit(); IJobExtensions.EarlyJobInit(); IJobExtensions.EarlyJobInit(); } catch (Exception ex) { EarlyInitHelpers.JobReflectionDataCreationFailed(ex); } } [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] public static void EarlyInit() { CreateJobReflectionData(); } } internal static class $BurstDirectCallInitializer { [RuntimeInitializeOnLoadMethod(/*Could not decode attribute arguments.*/)] private static void Initialize() { CommandBuilder.Initialize$JobWireMesh_WireMesh_000000FE$BurstDirectCall(); CommandBuilder.Initialize$JobWireMesh_Execute_000000FF$BurstDirectCall(); DrawingData.Initialize$BuilderData_AnyBuffersWrittenTo_000002F4$BurstDirectCall(); DrawingData.Initialize$BuilderData_ResetAllBuffers_000002F5$BurstDirectCall(); } }