public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, NativeArray <ShaderTagId> renderTypes, NativeArray <RenderStateBlock> stateBlocks)
 {
     Validate();
     cullingResults.Validate();
     if (renderTypes.Length != stateBlocks.Length)
     {
         throw new ArgumentException($"Arrays {nameof(renderTypes)} and {nameof(stateBlocks)} should have same length, but {nameof(renderTypes)} had length {renderTypes.Length} while {nameof(stateBlocks)} had length {stateBlocks.Length}.");
     }
     DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, (IntPtr)renderTypes.GetUnsafeReadOnlyPtr(), (IntPtr)stateBlocks.GetUnsafeReadOnlyPtr(), renderTypes.Length);
 }
        public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ref RenderStateBlock stateBlock)
        {
            Validate();
            cullingResults.Validate();
            var renderType = new ShaderTagId();

            fixed(RenderStateBlock *stateBlockPtr = &stateBlock)
            {
                DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, (IntPtr)(&renderType), (IntPtr)stateBlockPtr, 1);
            }
        }
        public unsafe void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ref RenderStateBlock stateBlock)
        {
            this.Validate();
            cullingResults.Validate();
            ShaderTagId shaderTagId = default(ShaderTagId);

            fixed(RenderStateBlock *ptr = &stateBlock)
            {
                RenderStateBlock *value = ptr;

                this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, ShaderTagId.none, false, (IntPtr)((void *)(&shaderTagId)), (IntPtr)((void *)value), 1);
            }
        }
 internal void Validate()
 {
     cullingResults.Validate();
     if (tagValues.HasValue && stateBlocks.HasValue)
     {
         if (tagValues.Value.Length != stateBlocks.Value.Length)
         {
             throw new ArgumentException($"Arrays {nameof(tagValues)} and {nameof(stateBlocks)} should have same length, but {nameof(tagValues)} had length {tagValues.Value.Length} while {nameof(stateBlocks)} had length {stateBlocks.Value.Length}.");
         }
     }
     else if ((tagValues.HasValue && !stateBlocks.HasValue) || (!tagValues.HasValue && stateBlocks.HasValue))
     {
         throw new ArgumentException($"Arrays {nameof(tagValues)} and {nameof(stateBlocks)} should have same length, but one of them is null ({nameof(tagValues)} : {tagValues.HasValue}, {nameof(stateBlocks)} : {stateBlocks.HasValue}).");
     }
 }
        public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings, ShaderTagId tagName, bool isPassTagName, NativeArray <ShaderTagId> tagValues, NativeArray <RenderStateBlock> stateBlocks)
        {
            this.Validate();
            cullingResults.Validate();
            bool flag = tagValues.Length != stateBlocks.Length;

            if (flag)
            {
                throw new ArgumentException(string.Format("Arrays {0} and {1} should have same length, but {2} had length {3} while {4} had length {5}.", new object[]
                {
                    "tagValues",
                    "stateBlocks",
                    "tagValues",
                    tagValues.Length,
                    "stateBlocks",
                    stateBlocks.Length
                }));
            }
            this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, tagName, isPassTagName, (IntPtr)tagValues.GetUnsafeReadOnlyPtr <ShaderTagId>(), (IntPtr)stateBlocks.GetUnsafeReadOnlyPtr <RenderStateBlock>(), tagValues.Length);
        }
 public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings)
 {
     Validate();
     cullingResults.Validate();
     DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, IntPtr.Zero, IntPtr.Zero, 0);
 }
 public void DrawRenderers(CullingResults cullingResults, ref DrawingSettings drawingSettings, ref FilteringSettings filteringSettings)
 {
     this.Validate();
     cullingResults.Validate();
     this.DrawRenderers_Internal(cullingResults.ptr, ref drawingSettings, ref filteringSettings, ShaderTagId.none, false, IntPtr.Zero, IntPtr.Zero, 0);
 }