#pragma once

#include "il2cpp-config.h"

#ifndef _MSC_VER
# include <alloca.h>
#else
# include <malloc.h>
#endif

#include <stdint.h>
#include <assert.h>
#include <exception>

// UnityEngine.CullingGroup
struct CullingGroup_t1868862003;
struct CullingGroup_t1868862003_marshaled_pinvoke;
struct CullingGroup_t1868862003_marshaled_com;

#include "codegen/il2cpp-codegen.h"
#include "UnityEngine_UnityEngine_CullingGroup1868862003.h"
#include "mscorlib_System_IntPtr4010401971.h"

// System.Void UnityEngine.CullingGroup::Finalize()
extern "C"  void CullingGroup_Finalize_m1779710340 (CullingGroup_t1868862003 * __this, const MethodInfo* method) IL2CPP_METHOD_ATTR;
// System.Void UnityEngine.CullingGroup::Dispose()
extern "C"  void CullingGroup_Dispose_m3554617051 (CullingGroup_t1868862003 * __this, const MethodInfo* method) IL2CPP_METHOD_ATTR;
// System.Void UnityEngine.CullingGroup::SendEvents(UnityEngine.CullingGroup,System.IntPtr,System.Int32)
extern "C"  void CullingGroup_SendEvents_m1355834984 (Il2CppObject * __this /* static, unused */, CullingGroup_t1868862003 * ___cullingGroup0, IntPtr_t ___eventsPtr1, int32_t ___count2, const MethodInfo* method) IL2CPP_METHOD_ATTR;
// System.Void UnityEngine.CullingGroup::FinalizerFailure()
extern "C"  void CullingGroup_FinalizerFailure_m4240538940 (CullingGroup_t1868862003 * __this, const MethodInfo* method) IL2CPP_METHOD_ATTR;

// Methods for marshaling
struct CullingGroup_t1868862003;
struct CullingGroup_t1868862003_marshaled_pinvoke;

extern "C" void CullingGroup_t1868862003_marshal_pinvoke(const CullingGroup_t1868862003& unmarshaled, CullingGroup_t1868862003_marshaled_pinvoke& marshaled);
extern "C" void CullingGroup_t1868862003_marshal_pinvoke_back(const CullingGroup_t1868862003_marshaled_pinvoke& marshaled, CullingGroup_t1868862003& unmarshaled);
extern "C" void CullingGroup_t1868862003_marshal_pinvoke_cleanup(CullingGroup_t1868862003_marshaled_pinvoke& marshaled);

// Methods for marshaling
struct CullingGroup_t1868862003;
struct CullingGroup_t1868862003_marshaled_com;

extern "C" void CullingGroup_t1868862003_marshal_com(const CullingGroup_t1868862003& unmarshaled, CullingGroup_t1868862003_marshaled_com& marshaled);
extern "C" void CullingGroup_t1868862003_marshal_com_back(const CullingGroup_t1868862003_marshaled_com& marshaled, CullingGroup_t1868862003& unmarshaled);
extern "C" void CullingGroup_t1868862003_marshal_com_cleanup(CullingGroup_t1868862003_marshaled_com& marshaled);
