///
/// Internals of the bindings between native and .NET code.
/// Game code shouldn't go here.
///
///
/// Jackson Dunstan, 2017, http://JacksonDunstan.com
///
///
/// MIT
///
// Type definitions
#include "Bindings.h"
// For assert()
#include
// For int32_t, etc.
#include
// For malloc(), etc.
#include
// For memset(), etc.
#include
// Macro to put before functions that need to be exposed to C#
#ifdef _WIN32
#define DLLEXPORT extern "C" __declspec(dllexport)
#else
#define DLLEXPORT extern "C"
#endif
////////////////////////////////////////////////////////////////
// Global variables
////////////////////////////////////////////////////////////////
namespace Plugin
{
System::String NullString(nullptr);
}
////////////////////////////////////////////////////////////////
// Support for using IEnumerable with range for loops
////////////////////////////////////////////////////////////////
namespace Plugin
{
// End iterators are dummies full of null
EnumerableIterator::EnumerableIterator(decltype(nullptr))
: enumerator(nullptr)
, hasMore(false)
{
}
// Begin iterators keep track of an IEnumerator
EnumerableIterator::EnumerableIterator(
System::Collections::IEnumerable& enumerable)
: enumerator(enumerable.GetEnumerator())
{
hasMore = enumerator.MoveNext();
}
EnumerableIterator& EnumerableIterator::operator++()
{
hasMore = enumerator.MoveNext();
return *this;
}
bool EnumerableIterator::operator!=(const EnumerableIterator& other)
{
return hasMore;
}
System::Object EnumerableIterator::operator*()
{
return enumerator.GetCurrent();
}
}
////////////////////////////////////////////////////////////////
// C# functions for C++ to call
////////////////////////////////////////////////////////////////
namespace Plugin
{
void (*ReleaseObject)(int32_t handle);
int32_t (*StringNew)(const char* chars);
void (*SetException)(int32_t handle);
int32_t (*ArrayGetLength)(int32_t handle);
int32_t (*EnumerableGetEnumerator)(int32_t handle);
/*BEGIN FUNCTION POINTERS*/
void (*SystemIDisposableMethodDispose)(int32_t thisHandle);
UnityEngine::Vector3 (*UnityEngineVector3ConstructorSystemSingle_SystemSingle_SystemSingle)(float x, float y, float z);
float (*UnityEngineVector3PropertyGetMagnitude)(UnityEngine::Vector3* thiz);
void (*UnityEngineVector3MethodSetSystemSingle_SystemSingle_SystemSingle)(UnityEngine::Vector3* thiz, float newX, float newY, float newZ);
UnityEngine::Vector3 (*UnityEngineVector3Methodop_AdditionUnityEngineVector3_UnityEngineVector3)(UnityEngine::Vector3& a, UnityEngine::Vector3& b);
UnityEngine::Vector3 (*UnityEngineVector3Methodop_UnaryNegationUnityEngineVector3)(UnityEngine::Vector3& a);
int32_t (*BoxVector3)(UnityEngine::Vector3& val);
UnityEngine::Vector3 (*UnboxVector3)(int32_t valHandle);
int32_t (*UnityEngineObjectPropertyGetName)(int32_t thisHandle);
void (*UnityEngineObjectPropertySetName)(int32_t thisHandle, int32_t valueHandle);
int32_t (*UnityEngineObjectMethodop_EqualityUnityEngineObject_UnityEngineObject)(int32_t xHandle, int32_t yHandle);
int32_t (*UnityEngineObjectMethodop_ImplicitUnityEngineObject)(int32_t existsHandle);
int32_t (*UnityEngineComponentPropertyGetTransform)(int32_t thisHandle);
UnityEngine::Vector3 (*UnityEngineTransformPropertyGetPosition)(int32_t thisHandle);
void (*UnityEngineTransformPropertySetPosition)(int32_t thisHandle, UnityEngine::Vector3& value);
void (*UnityEngineTransformMethodSetParentUnityEngineTransform)(int32_t thisHandle, int32_t parentHandle);
int32_t (*BoxColor)(UnityEngine::Color& val);
UnityEngine::Color (*UnboxColor)(int32_t valHandle);
int32_t (*BoxGradientColorKey)(UnityEngine::GradientColorKey& val);
UnityEngine::GradientColorKey (*UnboxGradientColorKey)(int32_t valHandle);
void (*ReleaseUnityEngineResolution)(int32_t handle);
int32_t (*UnityEngineResolutionPropertyGetWidth)(int32_t thisHandle);
void (*UnityEngineResolutionPropertySetWidth)(int32_t thisHandle, int32_t value);
int32_t (*UnityEngineResolutionPropertyGetHeight)(int32_t thisHandle);
void (*UnityEngineResolutionPropertySetHeight)(int32_t thisHandle, int32_t value);
int32_t (*UnityEngineResolutionPropertyGetRefreshRate)(int32_t thisHandle);
void (*UnityEngineResolutionPropertySetRefreshRate)(int32_t thisHandle, int32_t value);
int32_t (*BoxResolution)(int32_t valHandle);
int32_t (*UnboxResolution)(int32_t valHandle);
void (*ReleaseUnityEngineRaycastHit)(int32_t handle);
UnityEngine::Vector3 (*UnityEngineRaycastHitPropertyGetPoint)(int32_t thisHandle);
void (*UnityEngineRaycastHitPropertySetPoint)(int32_t thisHandle, UnityEngine::Vector3& value);
int32_t (*UnityEngineRaycastHitPropertyGetTransform)(int32_t thisHandle);
int32_t (*BoxRaycastHit)(int32_t valHandle);
int32_t (*UnboxRaycastHit)(int32_t valHandle);
int32_t (*SystemCollectionsIEnumeratorPropertyGetCurrent)(int32_t thisHandle);
int32_t (*SystemCollectionsIEnumeratorMethodMoveNext)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumeratorSystemStringPropertyGetCurrent)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumeratorSystemInt32PropertyGetCurrent)(int32_t thisHandle);
float (*SystemCollectionsGenericIEnumeratorSystemSinglePropertyGetCurrent)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumeratorUnityEngineRaycastHitPropertyGetCurrent)(int32_t thisHandle);
UnityEngine::GradientColorKey (*SystemCollectionsGenericIEnumeratorUnityEngineGradientColorKeyPropertyGetCurrent)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumeratorUnityEngineResolutionPropertyGetCurrent)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableSystemStringMethodGetEnumerator)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableSystemInt32MethodGetEnumerator)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableSystemSingleMethodGetEnumerator)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableUnityEngineRaycastHitMethodGetEnumerator)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableUnityEngineGradientColorKeyMethodGetEnumerator)(int32_t thisHandle);
int32_t (*SystemCollectionsGenericIEnumerableUnityEngineResolutionMethodGetEnumerator)(int32_t thisHandle);
void (*ReleaseUnityEnginePlayablesPlayableGraph)(int32_t handle);
int32_t (*BoxPlayableGraph)(int32_t valHandle);
int32_t (*UnboxPlayableGraph)(int32_t valHandle);
void (*ReleaseUnityEngineAnimationsAnimationMixerPlayable)(int32_t handle);
int32_t (*UnityEngineAnimationsAnimationMixerPlayableMethodCreateUnityEnginePlayablesPlayableGraph_SystemInt32_SystemBoolean)(int32_t graphHandle, int32_t inputCount, System::Boolean normalizeWeights);
int32_t (*BoxAnimationMixerPlayable)(int32_t valHandle);
int32_t (*UnboxAnimationMixerPlayable)(int32_t valHandle);
int32_t (*SystemDiagnosticsStopwatchConstructor)();
int64_t (*SystemDiagnosticsStopwatchPropertyGetElapsedMilliseconds)(int32_t thisHandle);
void (*SystemDiagnosticsStopwatchMethodStart)(int32_t thisHandle);
void (*SystemDiagnosticsStopwatchMethodReset)(int32_t thisHandle);
int32_t (*UnityEngineGameObjectConstructor)();
int32_t (*UnityEngineGameObjectConstructorSystemString)(int32_t nameHandle);
int32_t (*UnityEngineGameObjectPropertyGetTransform)(int32_t thisHandle);
int32_t (*UnityEngineGameObjectMethodAddComponentMyGameMonoBehavioursTestScript)(int32_t thisHandle);
int32_t (*UnityEngineGameObjectMethodAddComponentMyGameMonoBehavioursAnotherScript)(int32_t thisHandle);
int32_t (*UnityEngineGameObjectMethodCreatePrimitiveUnityEnginePrimitiveType)(UnityEngine::PrimitiveType type);
void (*UnityEngineDebugMethodLogSystemObject)(int32_t messageHandle);
int32_t (*UnityEngineAssertionsAssertFieldGetRaiseExceptions)();
void (*UnityEngineAssertionsAssertFieldSetRaiseExceptions)(System::Boolean value);
void (*UnityEngineAssertionsAssertMethodAreEqualSystemStringSystemString_SystemString)(int32_t expectedHandle, int32_t actualHandle);
void (*UnityEngineAssertionsAssertMethodAreEqualUnityEngineGameObjectUnityEngineGameObject_UnityEngineGameObject)(int32_t expectedHandle, int32_t actualHandle);
int32_t (*UnityEngineMonoBehaviourPropertyGetTransform)(int32_t thisHandle);
void (*UnityEngineAudioSettingsMethodGetDSPBufferSizeSystemInt32_SystemInt32)(int32_t* bufferLength, int32_t* numBuffers);
void (*UnityEngineNetworkingNetworkTransportMethodGetBroadcastConnectionInfoSystemInt32_SystemString_SystemInt32_SystemByte)(int32_t hostId, int32_t* addressHandle, int32_t* port, uint8_t* error);
void (*UnityEngineNetworkingNetworkTransportMethodInit)();
int32_t (*BoxQuaternion)(UnityEngine::Quaternion& val);
UnityEngine::Quaternion (*UnboxQuaternion)(int32_t valHandle);
float (*UnityEngineMatrix4x4PropertyGetItem)(UnityEngine::Matrix4x4* thiz, int32_t row, int32_t column);
void (*UnityEngineMatrix4x4PropertySetItem)(UnityEngine::Matrix4x4* thiz, int32_t row, int32_t column, float value);
int32_t (*BoxMatrix4x4)(UnityEngine::Matrix4x4& val);
UnityEngine::Matrix4x4 (*UnboxMatrix4x4)(int32_t valHandle);
int32_t (*BoxQueryTriggerInteraction)(UnityEngine::QueryTriggerInteraction val);
UnityEngine::QueryTriggerInteraction (*UnboxQueryTriggerInteraction)(int32_t valHandle);
void (*ReleaseSystemCollectionsGenericKeyValuePairSystemString_SystemDouble)(int32_t handle);
int32_t (*SystemCollectionsGenericKeyValuePairSystemString_SystemDoubleConstructorSystemString_SystemDouble)(int32_t keyHandle, double value);
int32_t (*SystemCollectionsGenericKeyValuePairSystemString_SystemDoublePropertyGetKey)(int32_t thisHandle);
double (*SystemCollectionsGenericKeyValuePairSystemString_SystemDoublePropertyGetValue)(int32_t thisHandle);
int32_t (*BoxKeyValuePairSystemString_SystemDouble)(int32_t valHandle);
int32_t (*UnboxKeyValuePairSystemString_SystemDouble)(int32_t valHandle);
int32_t (*SystemCollectionsGenericListSystemStringConstructor)();
int32_t (*SystemCollectionsGenericListSystemStringPropertyGetItem)(int32_t thisHandle, int32_t index);
void (*SystemCollectionsGenericListSystemStringPropertySetItem)(int32_t thisHandle, int32_t index, int32_t valueHandle);
void (*SystemCollectionsGenericListSystemStringMethodAddSystemString)(int32_t thisHandle, int32_t itemHandle);
void (*SystemCollectionsGenericListSystemStringMethodSortSystemCollectionsGenericIComparer)(int32_t thisHandle, int32_t comparerHandle);
int32_t (*SystemCollectionsGenericListSystemInt32Constructor)();
int32_t (*SystemCollectionsGenericListSystemInt32PropertyGetItem)(int32_t thisHandle, int32_t index);
void (*SystemCollectionsGenericListSystemInt32PropertySetItem)(int32_t thisHandle, int32_t index, int32_t value);
void (*SystemCollectionsGenericListSystemInt32MethodAddSystemInt32)(int32_t thisHandle, int32_t item);
void (*SystemCollectionsGenericListSystemInt32MethodSortSystemCollectionsGenericIComparer)(int32_t thisHandle, int32_t comparerHandle);
int32_t (*SystemCollectionsGenericLinkedListNodeSystemStringConstructorSystemString)(int32_t valueHandle);
int32_t (*SystemCollectionsGenericLinkedListNodeSystemStringPropertyGetValue)(int32_t thisHandle);
void (*SystemCollectionsGenericLinkedListNodeSystemStringPropertySetValue)(int32_t thisHandle, int32_t valueHandle);
int32_t (*SystemRuntimeCompilerServicesStrongBoxSystemStringConstructorSystemString)(int32_t valueHandle);
int32_t (*SystemRuntimeCompilerServicesStrongBoxSystemStringFieldGetValue)(int32_t thisHandle);
void (*SystemRuntimeCompilerServicesStrongBoxSystemStringFieldSetValue)(int32_t thisHandle, int32_t valueHandle);
int32_t (*SystemExceptionConstructorSystemString)(int32_t messageHandle);
int32_t (*UnityEngineScreenPropertyGetResolutions)();
void (*ReleaseUnityEngineRay)(int32_t handle);
int32_t (*UnityEngineRayConstructorUnityEngineVector3_UnityEngineVector3)(UnityEngine::Vector3& origin, UnityEngine::Vector3& direction);
int32_t (*BoxRay)(int32_t valHandle);
int32_t (*UnboxRay)(int32_t valHandle);
int32_t (*UnityEnginePhysicsMethodRaycastNonAllocUnityEngineRay_UnityEngineRaycastHitArray1)(int32_t rayHandle, int32_t resultsHandle);
int32_t (*UnityEnginePhysicsMethodRaycastAllUnityEngineRay)(int32_t rayHandle);
int32_t (*UnityEngineGradientConstructor)();
int32_t (*UnityEngineGradientPropertyGetColorKeys)(int32_t thisHandle);
void (*UnityEngineGradientPropertySetColorKeys)(int32_t thisHandle, int32_t valueHandle);
int32_t (*SystemAppDomainSetupConstructor)();
int32_t (*SystemAppDomainSetupPropertyGetAppDomainInitializer)(int32_t thisHandle);
void (*SystemAppDomainSetupPropertySetAppDomainInitializer)(int32_t thisHandle, int32_t valueHandle);
void (*UnityEngineApplicationAddEventOnBeforeRender)(int32_t delHandle);
void (*UnityEngineApplicationRemoveEventOnBeforeRender)(int32_t delHandle);
void (*UnityEngineSceneManagementSceneManagerAddEventSceneLoaded)(int32_t delHandle);
void (*UnityEngineSceneManagementSceneManagerRemoveEventSceneLoaded)(int32_t delHandle);
void (*ReleaseUnityEngineSceneManagementScene)(int32_t handle);
int32_t (*BoxScene)(int32_t valHandle);
int32_t (*UnboxScene)(int32_t valHandle);
int32_t (*BoxLoadSceneMode)(UnityEngine::SceneManagement::LoadSceneMode val);
UnityEngine::SceneManagement::LoadSceneMode (*UnboxLoadSceneMode)(int32_t valHandle);
int32_t (*BoxPrimitiveType)(UnityEngine::PrimitiveType val);
UnityEngine::PrimitiveType (*UnboxPrimitiveType)(int32_t valHandle);
float (*UnityEngineTimePropertyGetDeltaTime)();
int32_t (*BoxFileMode)(System::IO::FileMode val);
System::IO::FileMode (*UnboxFileMode)(int32_t valHandle);
void (*ReleaseSystemCollectionsGenericBaseIComparerSystemInt32)(int32_t handle);
void (*SystemCollectionsGenericBaseIComparerSystemInt32Constructor)(int32_t cppHandle, int32_t* handle);
void (*ReleaseSystemCollectionsGenericBaseIComparerSystemString)(int32_t handle);
void (*SystemCollectionsGenericBaseIComparerSystemStringConstructor)(int32_t cppHandle, int32_t* handle);
void (*ReleaseSystemBaseStringComparer)(int32_t handle);
void (*SystemBaseStringComparerConstructor)(int32_t cppHandle, int32_t* handle);
int32_t (*SystemCollectionsQueuePropertyGetCount)(int32_t thisHandle);
void (*ReleaseSystemCollectionsBaseQueue)(int32_t handle);
void (*SystemCollectionsBaseQueueConstructor)(int32_t cppHandle, int32_t* handle);
void (*ReleaseSystemComponentModelDesignBaseIComponentChangeService)(int32_t handle);
void (*SystemComponentModelDesignBaseIComponentChangeServiceConstructor)(int32_t cppHandle, int32_t* handle);
int32_t (*SystemIOFileStreamConstructorSystemString_SystemIOFileMode)(int32_t pathHandle, System::IO::FileMode mode);
void (*SystemIOFileStreamMethodWriteByteSystemByte)(int32_t thisHandle, uint8_t value);
void (*ReleaseSystemIOBaseFileStream)(int32_t handle);
void (*SystemIOBaseFileStreamConstructorSystemString_SystemIOFileMode)(int32_t cppHandle, int32_t* handle, int32_t pathHandle, System::IO::FileMode mode);
void (*ReleaseUnityEnginePlayablesPlayableHandle)(int32_t handle);
int32_t (*BoxPlayableHandle)(int32_t valHandle);
int32_t (*UnboxPlayableHandle)(int32_t valHandle);
int32_t (*UnityEngineExperimentalUIElementsUQueryExtensionsMethodQUnityEngineExperimentalUIElementsVisualElement_SystemString_SystemStringArray1)(int32_t eHandle, int32_t nameHandle, int32_t classesHandle);
int32_t (*UnityEngineExperimentalUIElementsUQueryExtensionsMethodQUnityEngineExperimentalUIElementsVisualElement_SystemString_SystemString)(int32_t eHandle, int32_t nameHandle, int32_t classNameHandle);
int32_t (*BoxInteractionSourcePositionAccuracy)(UnityEngine::XR::WSA::Input::InteractionSourcePositionAccuracy val);
UnityEngine::XR::WSA::Input::InteractionSourcePositionAccuracy (*UnboxInteractionSourcePositionAccuracy)(int32_t valHandle);
int32_t (*BoxInteractionSourceNode)(UnityEngine::XR::WSA::Input::InteractionSourceNode val);
UnityEngine::XR::WSA::Input::InteractionSourceNode (*UnboxInteractionSourceNode)(int32_t valHandle);
void (*ReleaseUnityEngineXRWSAInputInteractionSourcePose)(int32_t handle);
int32_t (*UnityEngineXRWSAInputInteractionSourcePoseMethodTryGetRotationUnityEngineQuaternion_UnityEngineXRWSAInputInteractionSourceNode)(int32_t thisHandle, UnityEngine::Quaternion* rotation, UnityEngine::XR::WSA::Input::InteractionSourceNode node);
int32_t (*BoxInteractionSourcePose)(int32_t valHandle);
int32_t (*UnboxInteractionSourcePose)(int32_t valHandle);
int32_t (*BoxBoolean)(System::Boolean val);
int32_t (*UnboxBoolean)(int32_t valHandle);
int32_t (*BoxSByte)(int8_t val);
int8_t (*UnboxSByte)(int32_t valHandle);
int32_t (*BoxByte)(uint8_t val);
uint8_t (*UnboxByte)(int32_t valHandle);
int32_t (*BoxInt16)(int16_t val);
int16_t (*UnboxInt16)(int32_t valHandle);
int32_t (*BoxUInt16)(uint16_t val);
uint16_t (*UnboxUInt16)(int32_t valHandle);
int32_t (*BoxInt32)(int32_t val);
int32_t (*UnboxInt32)(int32_t valHandle);
int32_t (*BoxUInt32)(uint32_t val);
uint32_t (*UnboxUInt32)(int32_t valHandle);
int32_t (*BoxInt64)(int64_t val);
int64_t (*UnboxInt64)(int32_t valHandle);
int32_t (*BoxUInt64)(uint64_t val);
uint64_t (*UnboxUInt64)(int32_t valHandle);
int32_t (*BoxChar)(System::Char val);
int16_t (*UnboxChar)(int32_t valHandle);
int32_t (*BoxSingle)(float val);
float (*UnboxSingle)(int32_t valHandle);
int32_t (*BoxDouble)(double val);
double (*UnboxDouble)(int32_t valHandle);
int32_t (*SystemSystemInt32Array1Constructor1)(int32_t length0);
int32_t (*SystemInt32Array1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*SystemInt32Array1SetItem1)(int32_t thisHandle, int32_t index0, int32_t item);
int32_t (*SystemSystemSingleArray1Constructor1)(int32_t length0);
float (*SystemSingleArray1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*SystemSingleArray1SetItem1)(int32_t thisHandle, int32_t index0, float item);
int32_t (*SystemSystemSingleArray2Constructor2)(int32_t length0, int32_t length1);
int32_t (*SystemSystemSingleArray2GetLength2)(int32_t thisHandle, int32_t dimension);
float (*SystemSingleArray2GetItem2)(int32_t thisHandle, int32_t index0, int32_t index1);
int32_t (*SystemSingleArray2SetItem2)(int32_t thisHandle, int32_t index0, int32_t index1, float item);
int32_t (*SystemSystemSingleArray3Constructor3)(int32_t length0, int32_t length1, int32_t length2);
int32_t (*SystemSystemSingleArray3GetLength3)(int32_t thisHandle, int32_t dimension);
float (*SystemSingleArray3GetItem3)(int32_t thisHandle, int32_t index0, int32_t index1, int32_t index2);
int32_t (*SystemSingleArray3SetItem3)(int32_t thisHandle, int32_t index0, int32_t index1, int32_t index2, float item);
int32_t (*SystemSystemStringArray1Constructor1)(int32_t length0);
int32_t (*SystemStringArray1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*SystemStringArray1SetItem1)(int32_t thisHandle, int32_t index0, int32_t itemHandle);
int32_t (*UnityEngineUnityEngineResolutionArray1Constructor1)(int32_t length0);
int32_t (*UnityEngineResolutionArray1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*UnityEngineResolutionArray1SetItem1)(int32_t thisHandle, int32_t index0, int32_t itemHandle);
int32_t (*UnityEngineUnityEngineRaycastHitArray1Constructor1)(int32_t length0);
int32_t (*UnityEngineRaycastHitArray1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*UnityEngineRaycastHitArray1SetItem1)(int32_t thisHandle, int32_t index0, int32_t itemHandle);
int32_t (*UnityEngineUnityEngineGradientColorKeyArray1Constructor1)(int32_t length0);
UnityEngine::GradientColorKey (*UnityEngineGradientColorKeyArray1GetItem1)(int32_t thisHandle, int32_t index0);
int32_t (*UnityEngineGradientColorKeyArray1SetItem1)(int32_t thisHandle, int32_t index0, UnityEngine::GradientColorKey& item);
void (*ReleaseSystemAction)(int32_t handle, int32_t classHandle);
void (*SystemActionConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemActionAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionInvoke)(int32_t thisHandle);
void (*ReleaseSystemActionSystemSingle)(int32_t handle, int32_t classHandle);
void (*SystemActionSystemSingleConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemActionSystemSingleAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionSystemSingleRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionSystemSingleInvoke)(int32_t thisHandle, float obj);
void (*ReleaseSystemActionSystemSingle_SystemSingle)(int32_t handle, int32_t classHandle);
void (*SystemActionSystemSingle_SystemSingleConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemActionSystemSingle_SystemSingleAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionSystemSingle_SystemSingleRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemActionSystemSingle_SystemSingleInvoke)(int32_t thisHandle, float arg1, float arg2);
void (*ReleaseSystemFuncSystemInt32_SystemSingle_SystemDouble)(int32_t handle, int32_t classHandle);
void (*SystemFuncSystemInt32_SystemSingle_SystemDoubleConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemFuncSystemInt32_SystemSingle_SystemDoubleAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemFuncSystemInt32_SystemSingle_SystemDoubleRemove)(int32_t thisHandle, int32_t delHandle);
double (*SystemFuncSystemInt32_SystemSingle_SystemDoubleInvoke)(int32_t thisHandle, int32_t arg1, float arg2);
void (*ReleaseSystemFuncSystemInt16_SystemInt32_SystemString)(int32_t handle, int32_t classHandle);
void (*SystemFuncSystemInt16_SystemInt32_SystemStringConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemFuncSystemInt16_SystemInt32_SystemStringAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemFuncSystemInt16_SystemInt32_SystemStringRemove)(int32_t thisHandle, int32_t delHandle);
int32_t (*SystemFuncSystemInt16_SystemInt32_SystemStringInvoke)(int32_t thisHandle, int16_t arg1, int32_t arg2);
void (*ReleaseSystemAppDomainInitializer)(int32_t handle, int32_t classHandle);
void (*SystemAppDomainInitializerConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemAppDomainInitializerAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemAppDomainInitializerRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemAppDomainInitializerInvoke)(int32_t thisHandle, int32_t argsHandle);
void (*ReleaseUnityEngineEventsUnityAction)(int32_t handle, int32_t classHandle);
void (*UnityEngineEventsUnityActionConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*UnityEngineEventsUnityActionAdd)(int32_t thisHandle, int32_t delHandle);
void (*UnityEngineEventsUnityActionRemove)(int32_t thisHandle, int32_t delHandle);
void (*UnityEngineEventsUnityActionInvoke)(int32_t thisHandle);
void (*ReleaseUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode)(int32_t handle, int32_t classHandle);
void (*UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeAdd)(int32_t thisHandle, int32_t delHandle);
void (*UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeRemove)(int32_t thisHandle, int32_t delHandle);
void (*UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeInvoke)(int32_t thisHandle, int32_t arg0Handle, UnityEngine::SceneManagement::LoadSceneMode arg1);
void (*ReleaseSystemComponentModelDesignComponentEventHandler)(int32_t handle, int32_t classHandle);
void (*SystemComponentModelDesignComponentEventHandlerConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemComponentModelDesignComponentEventHandlerAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentEventHandlerRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentEventHandlerInvoke)(int32_t thisHandle, int32_t senderHandle, int32_t eHandle);
void (*ReleaseSystemComponentModelDesignComponentChangingEventHandler)(int32_t handle, int32_t classHandle);
void (*SystemComponentModelDesignComponentChangingEventHandlerConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemComponentModelDesignComponentChangingEventHandlerAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentChangingEventHandlerRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentChangingEventHandlerInvoke)(int32_t thisHandle, int32_t senderHandle, int32_t eHandle);
void (*ReleaseSystemComponentModelDesignComponentChangedEventHandler)(int32_t handle, int32_t classHandle);
void (*SystemComponentModelDesignComponentChangedEventHandlerConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemComponentModelDesignComponentChangedEventHandlerAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentChangedEventHandlerRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentChangedEventHandlerInvoke)(int32_t thisHandle, int32_t senderHandle, int32_t eHandle);
void (*ReleaseSystemComponentModelDesignComponentRenameEventHandler)(int32_t handle, int32_t classHandle);
void (*SystemComponentModelDesignComponentRenameEventHandlerConstructor)(int32_t cppHandle, int32_t* handle, int32_t* classHandle);
void (*SystemComponentModelDesignComponentRenameEventHandlerAdd)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentRenameEventHandlerRemove)(int32_t thisHandle, int32_t delHandle);
void (*SystemComponentModelDesignComponentRenameEventHandlerInvoke)(int32_t thisHandle, int32_t senderHandle, int32_t eHandle);
/*END FUNCTION POINTERS*/
}
////////////////////////////////////////////////////////////////
// Reference counting of managed objects
////////////////////////////////////////////////////////////////
namespace Plugin
{
int32_t RefCountsLenClass;
int32_t* RefCountsClass;
void ReferenceManagedClass(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenClass);
if (handle != 0)
{
RefCountsClass[handle]++;
}
}
void DereferenceManagedClass(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenClass);
if (handle != 0)
{
int32_t numRemain = --RefCountsClass[handle];
if (numRemain == 0)
{
ReleaseObject(handle);
}
}
}
bool DereferenceManagedClassNoRelease(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenClass);
if (handle != 0)
{
int32_t numRemain = --RefCountsClass[handle];
if (numRemain == 0)
{
return true;
}
}
return false;
}
/*BEGIN GLOBAL STATE AND FUNCTIONS*/
int32_t RefCountsLenUnityEngineResolution;
int32_t* RefCountsUnityEngineResolution;
void ReferenceManagedUnityEngineResolution(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineResolution);
if (handle != 0)
{
RefCountsUnityEngineResolution[handle]++;
}
}
void DereferenceManagedUnityEngineResolution(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineResolution);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineResolution[handle];
if (numRemain == 0)
{
ReleaseUnityEngineResolution(handle);
}
}
}
int32_t RefCountsLenUnityEngineRaycastHit;
int32_t* RefCountsUnityEngineRaycastHit;
void ReferenceManagedUnityEngineRaycastHit(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineRaycastHit);
if (handle != 0)
{
RefCountsUnityEngineRaycastHit[handle]++;
}
}
void DereferenceManagedUnityEngineRaycastHit(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineRaycastHit);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineRaycastHit[handle];
if (numRemain == 0)
{
ReleaseUnityEngineRaycastHit(handle);
}
}
}
int32_t RefCountsLenUnityEnginePlayablesPlayableGraph;
int32_t* RefCountsUnityEnginePlayablesPlayableGraph;
void ReferenceManagedUnityEnginePlayablesPlayableGraph(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEnginePlayablesPlayableGraph);
if (handle != 0)
{
RefCountsUnityEnginePlayablesPlayableGraph[handle]++;
}
}
void DereferenceManagedUnityEnginePlayablesPlayableGraph(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEnginePlayablesPlayableGraph);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEnginePlayablesPlayableGraph[handle];
if (numRemain == 0)
{
ReleaseUnityEnginePlayablesPlayableGraph(handle);
}
}
}
int32_t RefCountsLenUnityEngineAnimationsAnimationMixerPlayable;
int32_t* RefCountsUnityEngineAnimationsAnimationMixerPlayable;
void ReferenceManagedUnityEngineAnimationsAnimationMixerPlayable(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineAnimationsAnimationMixerPlayable);
if (handle != 0)
{
RefCountsUnityEngineAnimationsAnimationMixerPlayable[handle]++;
}
}
void DereferenceManagedUnityEngineAnimationsAnimationMixerPlayable(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineAnimationsAnimationMixerPlayable);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineAnimationsAnimationMixerPlayable[handle];
if (numRemain == 0)
{
ReleaseUnityEngineAnimationsAnimationMixerPlayable(handle);
}
}
}
int32_t RefCountsLenSystemCollectionsGenericKeyValuePairSystemString_SystemDouble;
int32_t* RefCountsSystemCollectionsGenericKeyValuePairSystemString_SystemDouble;
void ReferenceManagedSystemCollectionsGenericKeyValuePairSystemString_SystemDouble(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenSystemCollectionsGenericKeyValuePairSystemString_SystemDouble);
if (handle != 0)
{
RefCountsSystemCollectionsGenericKeyValuePairSystemString_SystemDouble[handle]++;
}
}
void DereferenceManagedSystemCollectionsGenericKeyValuePairSystemString_SystemDouble(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenSystemCollectionsGenericKeyValuePairSystemString_SystemDouble);
if (handle != 0)
{
int32_t numRemain = --RefCountsSystemCollectionsGenericKeyValuePairSystemString_SystemDouble[handle];
if (numRemain == 0)
{
ReleaseSystemCollectionsGenericKeyValuePairSystemString_SystemDouble(handle);
}
}
}
int32_t RefCountsLenUnityEngineRay;
int32_t* RefCountsUnityEngineRay;
void ReferenceManagedUnityEngineRay(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineRay);
if (handle != 0)
{
RefCountsUnityEngineRay[handle]++;
}
}
void DereferenceManagedUnityEngineRay(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineRay);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineRay[handle];
if (numRemain == 0)
{
ReleaseUnityEngineRay(handle);
}
}
}
int32_t RefCountsLenUnityEngineSceneManagementScene;
int32_t* RefCountsUnityEngineSceneManagementScene;
void ReferenceManagedUnityEngineSceneManagementScene(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineSceneManagementScene);
if (handle != 0)
{
RefCountsUnityEngineSceneManagementScene[handle]++;
}
}
void DereferenceManagedUnityEngineSceneManagementScene(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineSceneManagementScene);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineSceneManagementScene[handle];
if (numRemain == 0)
{
ReleaseUnityEngineSceneManagementScene(handle);
}
}
}
int32_t SystemCollectionsGenericBaseIComparerSystemInt32FreeListSize;
System::Collections::Generic::BaseIComparer** SystemCollectionsGenericBaseIComparerSystemInt32FreeList;
System::Collections::Generic::BaseIComparer** NextFreeSystemCollectionsGenericBaseIComparerSystemInt32;
int32_t StoreSystemCollectionsGenericBaseIComparerSystemInt32(System::Collections::Generic::BaseIComparer* del)
{
assert(NextFreeSystemCollectionsGenericBaseIComparerSystemInt32 != nullptr);
System::Collections::Generic::BaseIComparer** pNext = NextFreeSystemCollectionsGenericBaseIComparerSystemInt32;
NextFreeSystemCollectionsGenericBaseIComparerSystemInt32 = (System::Collections::Generic::BaseIComparer**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemCollectionsGenericBaseIComparerSystemInt32FreeList);
}
System::Collections::Generic::BaseIComparer* GetSystemCollectionsGenericBaseIComparerSystemInt32(int32_t handle)
{
assert(handle >= 0 && handle < SystemCollectionsGenericBaseIComparerSystemInt32FreeListSize);
return SystemCollectionsGenericBaseIComparerSystemInt32FreeList[handle];
}
void RemoveSystemCollectionsGenericBaseIComparerSystemInt32(int32_t handle)
{
System::Collections::Generic::BaseIComparer** pRelease = SystemCollectionsGenericBaseIComparerSystemInt32FreeList + handle;
*pRelease = (System::Collections::Generic::BaseIComparer*)NextFreeSystemCollectionsGenericBaseIComparerSystemInt32;
NextFreeSystemCollectionsGenericBaseIComparerSystemInt32 = pRelease;
}
int32_t SystemCollectionsGenericBaseIComparerSystemStringFreeListSize;
System::Collections::Generic::BaseIComparer** SystemCollectionsGenericBaseIComparerSystemStringFreeList;
System::Collections::Generic::BaseIComparer** NextFreeSystemCollectionsGenericBaseIComparerSystemString;
int32_t StoreSystemCollectionsGenericBaseIComparerSystemString(System::Collections::Generic::BaseIComparer* del)
{
assert(NextFreeSystemCollectionsGenericBaseIComparerSystemString != nullptr);
System::Collections::Generic::BaseIComparer** pNext = NextFreeSystemCollectionsGenericBaseIComparerSystemString;
NextFreeSystemCollectionsGenericBaseIComparerSystemString = (System::Collections::Generic::BaseIComparer**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemCollectionsGenericBaseIComparerSystemStringFreeList);
}
System::Collections::Generic::BaseIComparer* GetSystemCollectionsGenericBaseIComparerSystemString(int32_t handle)
{
assert(handle >= 0 && handle < SystemCollectionsGenericBaseIComparerSystemStringFreeListSize);
return SystemCollectionsGenericBaseIComparerSystemStringFreeList[handle];
}
void RemoveSystemCollectionsGenericBaseIComparerSystemString(int32_t handle)
{
System::Collections::Generic::BaseIComparer** pRelease = SystemCollectionsGenericBaseIComparerSystemStringFreeList + handle;
*pRelease = (System::Collections::Generic::BaseIComparer*)NextFreeSystemCollectionsGenericBaseIComparerSystemString;
NextFreeSystemCollectionsGenericBaseIComparerSystemString = pRelease;
}
int32_t SystemBaseStringComparerFreeListSize;
System::BaseStringComparer** SystemBaseStringComparerFreeList;
System::BaseStringComparer** NextFreeSystemBaseStringComparer;
int32_t StoreSystemBaseStringComparer(System::BaseStringComparer* del)
{
assert(NextFreeSystemBaseStringComparer != nullptr);
System::BaseStringComparer** pNext = NextFreeSystemBaseStringComparer;
NextFreeSystemBaseStringComparer = (System::BaseStringComparer**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemBaseStringComparerFreeList);
}
System::BaseStringComparer* GetSystemBaseStringComparer(int32_t handle)
{
assert(handle >= 0 && handle < SystemBaseStringComparerFreeListSize);
return SystemBaseStringComparerFreeList[handle];
}
void RemoveSystemBaseStringComparer(int32_t handle)
{
System::BaseStringComparer** pRelease = SystemBaseStringComparerFreeList + handle;
*pRelease = (System::BaseStringComparer*)NextFreeSystemBaseStringComparer;
NextFreeSystemBaseStringComparer = pRelease;
}
int32_t SystemCollectionsBaseQueueFreeListSize;
System::Collections::BaseQueue** SystemCollectionsBaseQueueFreeList;
System::Collections::BaseQueue** NextFreeSystemCollectionsBaseQueue;
int32_t StoreSystemCollectionsBaseQueue(System::Collections::BaseQueue* del)
{
assert(NextFreeSystemCollectionsBaseQueue != nullptr);
System::Collections::BaseQueue** pNext = NextFreeSystemCollectionsBaseQueue;
NextFreeSystemCollectionsBaseQueue = (System::Collections::BaseQueue**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemCollectionsBaseQueueFreeList);
}
System::Collections::BaseQueue* GetSystemCollectionsBaseQueue(int32_t handle)
{
assert(handle >= 0 && handle < SystemCollectionsBaseQueueFreeListSize);
return SystemCollectionsBaseQueueFreeList[handle];
}
void RemoveSystemCollectionsBaseQueue(int32_t handle)
{
System::Collections::BaseQueue** pRelease = SystemCollectionsBaseQueueFreeList + handle;
*pRelease = (System::Collections::BaseQueue*)NextFreeSystemCollectionsBaseQueue;
NextFreeSystemCollectionsBaseQueue = pRelease;
}
int32_t SystemComponentModelDesignBaseIComponentChangeServiceFreeListSize;
System::ComponentModel::Design::BaseIComponentChangeService** SystemComponentModelDesignBaseIComponentChangeServiceFreeList;
System::ComponentModel::Design::BaseIComponentChangeService** NextFreeSystemComponentModelDesignBaseIComponentChangeService;
int32_t StoreSystemComponentModelDesignBaseIComponentChangeService(System::ComponentModel::Design::BaseIComponentChangeService* del)
{
assert(NextFreeSystemComponentModelDesignBaseIComponentChangeService != nullptr);
System::ComponentModel::Design::BaseIComponentChangeService** pNext = NextFreeSystemComponentModelDesignBaseIComponentChangeService;
NextFreeSystemComponentModelDesignBaseIComponentChangeService = (System::ComponentModel::Design::BaseIComponentChangeService**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemComponentModelDesignBaseIComponentChangeServiceFreeList);
}
System::ComponentModel::Design::BaseIComponentChangeService* GetSystemComponentModelDesignBaseIComponentChangeService(int32_t handle)
{
assert(handle >= 0 && handle < SystemComponentModelDesignBaseIComponentChangeServiceFreeListSize);
return SystemComponentModelDesignBaseIComponentChangeServiceFreeList[handle];
}
void RemoveSystemComponentModelDesignBaseIComponentChangeService(int32_t handle)
{
System::ComponentModel::Design::BaseIComponentChangeService** pRelease = SystemComponentModelDesignBaseIComponentChangeServiceFreeList + handle;
*pRelease = (System::ComponentModel::Design::BaseIComponentChangeService*)NextFreeSystemComponentModelDesignBaseIComponentChangeService;
NextFreeSystemComponentModelDesignBaseIComponentChangeService = pRelease;
}
int32_t SystemIOBaseFileStreamFreeListSize;
System::IO::BaseFileStream** SystemIOBaseFileStreamFreeList;
System::IO::BaseFileStream** NextFreeSystemIOBaseFileStream;
int32_t StoreSystemIOBaseFileStream(System::IO::BaseFileStream* del)
{
assert(NextFreeSystemIOBaseFileStream != nullptr);
System::IO::BaseFileStream** pNext = NextFreeSystemIOBaseFileStream;
NextFreeSystemIOBaseFileStream = (System::IO::BaseFileStream**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemIOBaseFileStreamFreeList);
}
System::IO::BaseFileStream* GetSystemIOBaseFileStream(int32_t handle)
{
assert(handle >= 0 && handle < SystemIOBaseFileStreamFreeListSize);
return SystemIOBaseFileStreamFreeList[handle];
}
void RemoveSystemIOBaseFileStream(int32_t handle)
{
System::IO::BaseFileStream** pRelease = SystemIOBaseFileStreamFreeList + handle;
*pRelease = (System::IO::BaseFileStream*)NextFreeSystemIOBaseFileStream;
NextFreeSystemIOBaseFileStream = pRelease;
}
int32_t RefCountsLenUnityEnginePlayablesPlayableHandle;
int32_t* RefCountsUnityEnginePlayablesPlayableHandle;
void ReferenceManagedUnityEnginePlayablesPlayableHandle(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEnginePlayablesPlayableHandle);
if (handle != 0)
{
RefCountsUnityEnginePlayablesPlayableHandle[handle]++;
}
}
void DereferenceManagedUnityEnginePlayablesPlayableHandle(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEnginePlayablesPlayableHandle);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEnginePlayablesPlayableHandle[handle];
if (numRemain == 0)
{
ReleaseUnityEnginePlayablesPlayableHandle(handle);
}
}
}
int32_t RefCountsLenUnityEngineXRWSAInputInteractionSourcePose;
int32_t* RefCountsUnityEngineXRWSAInputInteractionSourcePose;
void ReferenceManagedUnityEngineXRWSAInputInteractionSourcePose(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineXRWSAInputInteractionSourcePose);
if (handle != 0)
{
RefCountsUnityEngineXRWSAInputInteractionSourcePose[handle]++;
}
}
void DereferenceManagedUnityEngineXRWSAInputInteractionSourcePose(int32_t handle)
{
assert(handle >= 0 && handle < RefCountsLenUnityEngineXRWSAInputInteractionSourcePose);
if (handle != 0)
{
int32_t numRemain = --RefCountsUnityEngineXRWSAInputInteractionSourcePose[handle];
if (numRemain == 0)
{
ReleaseUnityEngineXRWSAInputInteractionSourcePose(handle);
}
}
}
int32_t SystemActionFreeListSize;
System::Action** SystemActionFreeList;
System::Action** NextFreeSystemAction;
int32_t StoreSystemAction(System::Action* del)
{
assert(NextFreeSystemAction != nullptr);
System::Action** pNext = NextFreeSystemAction;
NextFreeSystemAction = (System::Action**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemActionFreeList);
}
System::Action* GetSystemAction(int32_t handle)
{
assert(handle >= 0 && handle < SystemActionFreeListSize);
return SystemActionFreeList[handle];
}
void RemoveSystemAction(int32_t handle)
{
System::Action** pRelease = SystemActionFreeList + handle;
*pRelease = (System::Action*)NextFreeSystemAction;
NextFreeSystemAction = pRelease;
}
int32_t SystemActionSystemSingleFreeListSize;
System::Action1** SystemActionSystemSingleFreeList;
System::Action1** NextFreeSystemActionSystemSingle;
int32_t StoreSystemActionSystemSingle(System::Action1* del)
{
assert(NextFreeSystemActionSystemSingle != nullptr);
System::Action1** pNext = NextFreeSystemActionSystemSingle;
NextFreeSystemActionSystemSingle = (System::Action1**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemActionSystemSingleFreeList);
}
System::Action1* GetSystemActionSystemSingle(int32_t handle)
{
assert(handle >= 0 && handle < SystemActionSystemSingleFreeListSize);
return SystemActionSystemSingleFreeList[handle];
}
void RemoveSystemActionSystemSingle(int32_t handle)
{
System::Action1** pRelease = SystemActionSystemSingleFreeList + handle;
*pRelease = (System::Action1*)NextFreeSystemActionSystemSingle;
NextFreeSystemActionSystemSingle = pRelease;
}
int32_t SystemActionSystemSingle_SystemSingleFreeListSize;
System::Action2** SystemActionSystemSingle_SystemSingleFreeList;
System::Action2** NextFreeSystemActionSystemSingle_SystemSingle;
int32_t StoreSystemActionSystemSingle_SystemSingle(System::Action2* del)
{
assert(NextFreeSystemActionSystemSingle_SystemSingle != nullptr);
System::Action2** pNext = NextFreeSystemActionSystemSingle_SystemSingle;
NextFreeSystemActionSystemSingle_SystemSingle = (System::Action2**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemActionSystemSingle_SystemSingleFreeList);
}
System::Action2* GetSystemActionSystemSingle_SystemSingle(int32_t handle)
{
assert(handle >= 0 && handle < SystemActionSystemSingle_SystemSingleFreeListSize);
return SystemActionSystemSingle_SystemSingleFreeList[handle];
}
void RemoveSystemActionSystemSingle_SystemSingle(int32_t handle)
{
System::Action2** pRelease = SystemActionSystemSingle_SystemSingleFreeList + handle;
*pRelease = (System::Action2*)NextFreeSystemActionSystemSingle_SystemSingle;
NextFreeSystemActionSystemSingle_SystemSingle = pRelease;
}
int32_t SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeListSize;
System::Func3** SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeList;
System::Func3** NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble;
int32_t StoreSystemFuncSystemInt32_SystemSingle_SystemDouble(System::Func3* del)
{
assert(NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble != nullptr);
System::Func3** pNext = NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble;
NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble = (System::Func3**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeList);
}
System::Func3* GetSystemFuncSystemInt32_SystemSingle_SystemDouble(int32_t handle)
{
assert(handle >= 0 && handle < SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeListSize);
return SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeList[handle];
}
void RemoveSystemFuncSystemInt32_SystemSingle_SystemDouble(int32_t handle)
{
System::Func3** pRelease = SystemFuncSystemInt32_SystemSingle_SystemDoubleFreeList + handle;
*pRelease = (System::Func3*)NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble;
NextFreeSystemFuncSystemInt32_SystemSingle_SystemDouble = pRelease;
}
int32_t SystemFuncSystemInt16_SystemInt32_SystemStringFreeListSize;
System::Func3** SystemFuncSystemInt16_SystemInt32_SystemStringFreeList;
System::Func3** NextFreeSystemFuncSystemInt16_SystemInt32_SystemString;
int32_t StoreSystemFuncSystemInt16_SystemInt32_SystemString(System::Func3* del)
{
assert(NextFreeSystemFuncSystemInt16_SystemInt32_SystemString != nullptr);
System::Func3** pNext = NextFreeSystemFuncSystemInt16_SystemInt32_SystemString;
NextFreeSystemFuncSystemInt16_SystemInt32_SystemString = (System::Func3**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemFuncSystemInt16_SystemInt32_SystemStringFreeList);
}
System::Func3* GetSystemFuncSystemInt16_SystemInt32_SystemString(int32_t handle)
{
assert(handle >= 0 && handle < SystemFuncSystemInt16_SystemInt32_SystemStringFreeListSize);
return SystemFuncSystemInt16_SystemInt32_SystemStringFreeList[handle];
}
void RemoveSystemFuncSystemInt16_SystemInt32_SystemString(int32_t handle)
{
System::Func3** pRelease = SystemFuncSystemInt16_SystemInt32_SystemStringFreeList + handle;
*pRelease = (System::Func3*)NextFreeSystemFuncSystemInt16_SystemInt32_SystemString;
NextFreeSystemFuncSystemInt16_SystemInt32_SystemString = pRelease;
}
int32_t SystemAppDomainInitializerFreeListSize;
System::AppDomainInitializer** SystemAppDomainInitializerFreeList;
System::AppDomainInitializer** NextFreeSystemAppDomainInitializer;
int32_t StoreSystemAppDomainInitializer(System::AppDomainInitializer* del)
{
assert(NextFreeSystemAppDomainInitializer != nullptr);
System::AppDomainInitializer** pNext = NextFreeSystemAppDomainInitializer;
NextFreeSystemAppDomainInitializer = (System::AppDomainInitializer**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemAppDomainInitializerFreeList);
}
System::AppDomainInitializer* GetSystemAppDomainInitializer(int32_t handle)
{
assert(handle >= 0 && handle < SystemAppDomainInitializerFreeListSize);
return SystemAppDomainInitializerFreeList[handle];
}
void RemoveSystemAppDomainInitializer(int32_t handle)
{
System::AppDomainInitializer** pRelease = SystemAppDomainInitializerFreeList + handle;
*pRelease = (System::AppDomainInitializer*)NextFreeSystemAppDomainInitializer;
NextFreeSystemAppDomainInitializer = pRelease;
}
int32_t UnityEngineEventsUnityActionFreeListSize;
UnityEngine::Events::UnityAction** UnityEngineEventsUnityActionFreeList;
UnityEngine::Events::UnityAction** NextFreeUnityEngineEventsUnityAction;
int32_t StoreUnityEngineEventsUnityAction(UnityEngine::Events::UnityAction* del)
{
assert(NextFreeUnityEngineEventsUnityAction != nullptr);
UnityEngine::Events::UnityAction** pNext = NextFreeUnityEngineEventsUnityAction;
NextFreeUnityEngineEventsUnityAction = (UnityEngine::Events::UnityAction**)*pNext;
*pNext = del;
return (int32_t)(pNext - UnityEngineEventsUnityActionFreeList);
}
UnityEngine::Events::UnityAction* GetUnityEngineEventsUnityAction(int32_t handle)
{
assert(handle >= 0 && handle < UnityEngineEventsUnityActionFreeListSize);
return UnityEngineEventsUnityActionFreeList[handle];
}
void RemoveUnityEngineEventsUnityAction(int32_t handle)
{
UnityEngine::Events::UnityAction** pRelease = UnityEngineEventsUnityActionFreeList + handle;
*pRelease = (UnityEngine::Events::UnityAction*)NextFreeUnityEngineEventsUnityAction;
NextFreeUnityEngineEventsUnityAction = pRelease;
}
int32_t UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeListSize;
UnityEngine::Events::UnityAction2** UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeList;
UnityEngine::Events::UnityAction2** NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode;
int32_t StoreUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode(UnityEngine::Events::UnityAction2* del)
{
assert(NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode != nullptr);
UnityEngine::Events::UnityAction2** pNext = NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode;
NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode = (UnityEngine::Events::UnityAction2**)*pNext;
*pNext = del;
return (int32_t)(pNext - UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeList);
}
UnityEngine::Events::UnityAction2* GetUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode(int32_t handle)
{
assert(handle >= 0 && handle < UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeListSize);
return UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeList[handle];
}
void RemoveUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode(int32_t handle)
{
UnityEngine::Events::UnityAction2** pRelease = UnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneModeFreeList + handle;
*pRelease = (UnityEngine::Events::UnityAction2*)NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode;
NextFreeUnityEngineEventsUnityActionUnityEngineSceneManagementScene_UnityEngineSceneManagementLoadSceneMode = pRelease;
}
int32_t SystemComponentModelDesignComponentEventHandlerFreeListSize;
System::ComponentModel::Design::ComponentEventHandler** SystemComponentModelDesignComponentEventHandlerFreeList;
System::ComponentModel::Design::ComponentEventHandler** NextFreeSystemComponentModelDesignComponentEventHandler;
int32_t StoreSystemComponentModelDesignComponentEventHandler(System::ComponentModel::Design::ComponentEventHandler* del)
{
assert(NextFreeSystemComponentModelDesignComponentEventHandler != nullptr);
System::ComponentModel::Design::ComponentEventHandler** pNext = NextFreeSystemComponentModelDesignComponentEventHandler;
NextFreeSystemComponentModelDesignComponentEventHandler = (System::ComponentModel::Design::ComponentEventHandler**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemComponentModelDesignComponentEventHandlerFreeList);
}
System::ComponentModel::Design::ComponentEventHandler* GetSystemComponentModelDesignComponentEventHandler(int32_t handle)
{
assert(handle >= 0 && handle < SystemComponentModelDesignComponentEventHandlerFreeListSize);
return SystemComponentModelDesignComponentEventHandlerFreeList[handle];
}
void RemoveSystemComponentModelDesignComponentEventHandler(int32_t handle)
{
System::ComponentModel::Design::ComponentEventHandler** pRelease = SystemComponentModelDesignComponentEventHandlerFreeList + handle;
*pRelease = (System::ComponentModel::Design::ComponentEventHandler*)NextFreeSystemComponentModelDesignComponentEventHandler;
NextFreeSystemComponentModelDesignComponentEventHandler = pRelease;
}
int32_t SystemComponentModelDesignComponentChangingEventHandlerFreeListSize;
System::ComponentModel::Design::ComponentChangingEventHandler** SystemComponentModelDesignComponentChangingEventHandlerFreeList;
System::ComponentModel::Design::ComponentChangingEventHandler** NextFreeSystemComponentModelDesignComponentChangingEventHandler;
int32_t StoreSystemComponentModelDesignComponentChangingEventHandler(System::ComponentModel::Design::ComponentChangingEventHandler* del)
{
assert(NextFreeSystemComponentModelDesignComponentChangingEventHandler != nullptr);
System::ComponentModel::Design::ComponentChangingEventHandler** pNext = NextFreeSystemComponentModelDesignComponentChangingEventHandler;
NextFreeSystemComponentModelDesignComponentChangingEventHandler = (System::ComponentModel::Design::ComponentChangingEventHandler**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemComponentModelDesignComponentChangingEventHandlerFreeList);
}
System::ComponentModel::Design::ComponentChangingEventHandler* GetSystemComponentModelDesignComponentChangingEventHandler(int32_t handle)
{
assert(handle >= 0 && handle < SystemComponentModelDesignComponentChangingEventHandlerFreeListSize);
return SystemComponentModelDesignComponentChangingEventHandlerFreeList[handle];
}
void RemoveSystemComponentModelDesignComponentChangingEventHandler(int32_t handle)
{
System::ComponentModel::Design::ComponentChangingEventHandler** pRelease = SystemComponentModelDesignComponentChangingEventHandlerFreeList + handle;
*pRelease = (System::ComponentModel::Design::ComponentChangingEventHandler*)NextFreeSystemComponentModelDesignComponentChangingEventHandler;
NextFreeSystemComponentModelDesignComponentChangingEventHandler = pRelease;
}
int32_t SystemComponentModelDesignComponentChangedEventHandlerFreeListSize;
System::ComponentModel::Design::ComponentChangedEventHandler** SystemComponentModelDesignComponentChangedEventHandlerFreeList;
System::ComponentModel::Design::ComponentChangedEventHandler** NextFreeSystemComponentModelDesignComponentChangedEventHandler;
int32_t StoreSystemComponentModelDesignComponentChangedEventHandler(System::ComponentModel::Design::ComponentChangedEventHandler* del)
{
assert(NextFreeSystemComponentModelDesignComponentChangedEventHandler != nullptr);
System::ComponentModel::Design::ComponentChangedEventHandler** pNext = NextFreeSystemComponentModelDesignComponentChangedEventHandler;
NextFreeSystemComponentModelDesignComponentChangedEventHandler = (System::ComponentModel::Design::ComponentChangedEventHandler**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemComponentModelDesignComponentChangedEventHandlerFreeList);
}
System::ComponentModel::Design::ComponentChangedEventHandler* GetSystemComponentModelDesignComponentChangedEventHandler(int32_t handle)
{
assert(handle >= 0 && handle < SystemComponentModelDesignComponentChangedEventHandlerFreeListSize);
return SystemComponentModelDesignComponentChangedEventHandlerFreeList[handle];
}
void RemoveSystemComponentModelDesignComponentChangedEventHandler(int32_t handle)
{
System::ComponentModel::Design::ComponentChangedEventHandler** pRelease = SystemComponentModelDesignComponentChangedEventHandlerFreeList + handle;
*pRelease = (System::ComponentModel::Design::ComponentChangedEventHandler*)NextFreeSystemComponentModelDesignComponentChangedEventHandler;
NextFreeSystemComponentModelDesignComponentChangedEventHandler = pRelease;
}
int32_t SystemComponentModelDesignComponentRenameEventHandlerFreeListSize;
System::ComponentModel::Design::ComponentRenameEventHandler** SystemComponentModelDesignComponentRenameEventHandlerFreeList;
System::ComponentModel::Design::ComponentRenameEventHandler** NextFreeSystemComponentModelDesignComponentRenameEventHandler;
int32_t StoreSystemComponentModelDesignComponentRenameEventHandler(System::ComponentModel::Design::ComponentRenameEventHandler* del)
{
assert(NextFreeSystemComponentModelDesignComponentRenameEventHandler != nullptr);
System::ComponentModel::Design::ComponentRenameEventHandler** pNext = NextFreeSystemComponentModelDesignComponentRenameEventHandler;
NextFreeSystemComponentModelDesignComponentRenameEventHandler = (System::ComponentModel::Design::ComponentRenameEventHandler**)*pNext;
*pNext = del;
return (int32_t)(pNext - SystemComponentModelDesignComponentRenameEventHandlerFreeList);
}
System::ComponentModel::Design::ComponentRenameEventHandler* GetSystemComponentModelDesignComponentRenameEventHandler(int32_t handle)
{
assert(handle >= 0 && handle < SystemComponentModelDesignComponentRenameEventHandlerFreeListSize);
return SystemComponentModelDesignComponentRenameEventHandlerFreeList[handle];
}
void RemoveSystemComponentModelDesignComponentRenameEventHandler(int32_t handle)
{
System::ComponentModel::Design::ComponentRenameEventHandler** pRelease = SystemComponentModelDesignComponentRenameEventHandlerFreeList + handle;
*pRelease = (System::ComponentModel::Design::ComponentRenameEventHandler*)NextFreeSystemComponentModelDesignComponentRenameEventHandler;
NextFreeSystemComponentModelDesignComponentRenameEventHandler = pRelease;
}
/*END GLOBAL STATE AND FUNCTIONS*/
}
namespace Plugin
{
// An unhandled exception caused by C++ calling into C#
System::Exception* unhandledCsharpException = nullptr;
}
////////////////////////////////////////////////////////////////
// Mirrors of C# types. These wrap the C# functions to present
// a similiar API as in C#.
////////////////////////////////////////////////////////////////
namespace System
{
Object::Object()
: Handle(0)
{
}
Object::Object(Plugin::InternalUse iu, int32_t handle)
: Handle(handle)
{
}
Object::Object(decltype(nullptr))
: Handle(0)
{
}
bool Object::operator==(decltype(nullptr)) const
{
return Handle == 0;
}
bool Object::operator!=(decltype(nullptr)) const
{
return Handle != 0;
}
void Object::ThrowReferenceToThis()
{
throw *this;
}
ValueType::ValueType(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
{
}
ValueType::ValueType(decltype(nullptr))
: Object(nullptr)
{
}
String::String(decltype(nullptr))
: Object(Plugin::InternalUse::Only, 0)
{
}
String::String(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
{
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
String::String(const String& other)
: Object(Plugin::InternalUse::Only, other.Handle)
{
if (Handle)
{
Plugin::ReferenceManagedClass(Handle);
}
}
String::String(String&& other)
: Object(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
String::~String()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
String& String::operator=(const String& other)
{
if (Handle != other.Handle)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
if (Handle)
{
Plugin::ReferenceManagedClass(Handle);
}
}
return *this;
}
String& String::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
String& String::operator=(String&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
String::String(const char* chars)
: Object(Plugin::InternalUse::Only, Plugin::StringNew(chars))
{
}
ICloneable::ICloneable(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
{
}
ICloneable::ICloneable(decltype(nullptr))
: Object(nullptr)
{
}
namespace Collections
{
IEnumerable::IEnumerable(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
{
}
IEnumerable::IEnumerable(decltype(nullptr))
: Object(nullptr)
{
}
IEnumerator IEnumerable::GetEnumerator()
{
return IEnumerator(
Plugin::InternalUse::Only,
Plugin::EnumerableGetEnumerator(Handle));
}
Plugin::EnumerableIterator begin(
System::Collections::IEnumerable& enumerable)
{
return Plugin::EnumerableIterator(enumerable);
}
Plugin::EnumerableIterator end(
System::Collections::IEnumerable& enumerable)
{
return Plugin::EnumerableIterator(nullptr);
}
ICollection::ICollection(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
, IEnumerable(nullptr)
{
}
ICollection::ICollection(decltype(nullptr))
: Object(nullptr)
, IEnumerable(nullptr)
{
}
IList::IList(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
, IEnumerable(nullptr)
, ICollection(nullptr)
{
}
IList::IList(decltype(nullptr))
: Object(nullptr)
, IEnumerable(nullptr)
, ICollection(nullptr)
{
}
}
Array::Array(Plugin::InternalUse iu, int32_t handle)
: Object(iu, handle)
, ICloneable(nullptr)
, Collections::IEnumerable(nullptr)
, Collections::ICollection(nullptr)
, Collections::IList(nullptr)
{
}
Array::Array(decltype(nullptr))
: Object(nullptr)
, ICloneable(nullptr)
, Collections::IEnumerable(nullptr)
, Collections::ICollection(nullptr)
, Collections::IList(nullptr)
{
}
int32_t Array::GetLength()
{
return Plugin::ArrayGetLength(Handle);
}
int32_t Array::GetRank()
{
return 0;
}
}
/*BEGIN METHOD DEFINITIONS*/
namespace System
{
IDisposable::IDisposable(decltype(nullptr))
{
}
IDisposable::IDisposable(Plugin::InternalUse iu, int32_t handle)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IDisposable::IDisposable(const IDisposable& other)
: IDisposable(Plugin::InternalUse::Only, other.Handle)
{
}
IDisposable::IDisposable(IDisposable&& other)
: IDisposable(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IDisposable::~IDisposable()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IDisposable& IDisposable::operator=(const IDisposable& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IDisposable& IDisposable::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IDisposable& IDisposable::operator=(IDisposable&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IDisposable::operator==(const IDisposable& other) const
{
return Handle == other.Handle;
}
bool IDisposable::operator!=(const IDisposable& other) const
{
return Handle != other.Handle;
}
void IDisposable::Dispose()
{
Plugin::SystemIDisposableMethodDispose(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
}
namespace UnityEngine
{
Vector3::Vector3()
{
}
Vector3::Vector3(float x, float y, float z)
{
auto returnValue = Plugin::UnityEngineVector3ConstructorSystemSingle_SystemSingle_SystemSingle(x, y, z);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
*this = returnValue;
}
float Vector3::GetMagnitude()
{
auto returnValue = Plugin::UnityEngineVector3PropertyGetMagnitude(this);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void Vector3::Set(float newX, float newY, float newZ)
{
Plugin::UnityEngineVector3MethodSetSystemSingle_SystemSingle_SystemSingle(this, newX, newY, newZ);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
UnityEngine::Vector3 Vector3::operator+(UnityEngine::Vector3& a)
{
auto returnValue = Plugin::UnityEngineVector3Methodop_AdditionUnityEngineVector3_UnityEngineVector3(*this, a);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
UnityEngine::Vector3 Vector3::operator-()
{
auto returnValue = Plugin::UnityEngineVector3Methodop_UnaryNegationUnityEngineVector3(*this);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
namespace System
{
Object::Object(UnityEngine::Vector3& val)
{
int32_t handle = Plugin::BoxVector3(val);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
if (handle)
{
Plugin::ReferenceManagedClass(handle);
Handle = handle;
}
}
Object::operator UnityEngine::Vector3()
{
UnityEngine::Vector3 returnVal(Plugin::UnboxVector3(Handle));
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnVal;
}
}
namespace UnityEngine
{
Object::Object(decltype(nullptr))
{
}
Object::Object(Plugin::InternalUse iu, int32_t handle)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
Object::Object(const Object& other)
: Object(Plugin::InternalUse::Only, other.Handle)
{
}
Object::Object(Object&& other)
: Object(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
Object::~Object()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
Object& Object::operator=(const Object& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
Object& Object::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
Object& Object::operator=(Object&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool Object::operator==(const Object& other) const
{
return Handle == other.Handle;
}
bool Object::operator!=(const Object& other) const
{
return Handle != other.Handle;
}
System::String Object::GetName()
{
auto returnValue = Plugin::UnityEngineObjectPropertyGetName(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::String(Plugin::InternalUse::Only, returnValue);
}
void Object::SetName(System::String& value)
{
Plugin::UnityEngineObjectPropertySetName(Handle, value.Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
System::Boolean Object::operator==(UnityEngine::Object& x)
{
auto returnValue = Plugin::UnityEngineObjectMethodop_EqualityUnityEngineObject_UnityEngineObject(Handle, x.Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
Object::operator System::Boolean()
{
auto returnValue = Plugin::UnityEngineObjectMethodop_ImplicitUnityEngineObject(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
namespace UnityEngine
{
Component::Component(decltype(nullptr))
: UnityEngine::Object(nullptr)
{
}
Component::Component(Plugin::InternalUse iu, int32_t handle)
: UnityEngine::Object(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
Component::Component(const Component& other)
: Component(Plugin::InternalUse::Only, other.Handle)
{
}
Component::Component(Component&& other)
: Component(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
Component::~Component()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
Component& Component::operator=(const Component& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
Component& Component::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
Component& Component::operator=(Component&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool Component::operator==(const Component& other) const
{
return Handle == other.Handle;
}
bool Component::operator!=(const Component& other) const
{
return Handle != other.Handle;
}
UnityEngine::Transform Component::GetTransform()
{
auto returnValue = Plugin::UnityEngineComponentPropertyGetTransform(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return UnityEngine::Transform(Plugin::InternalUse::Only, returnValue);
}
}
namespace UnityEngine
{
Transform::Transform(decltype(nullptr))
: UnityEngine::Object(nullptr)
, UnityEngine::Component(nullptr)
, System::Collections::IEnumerable(nullptr)
{
}
Transform::Transform(Plugin::InternalUse iu, int32_t handle)
: UnityEngine::Object(nullptr)
, UnityEngine::Component(nullptr)
, System::Collections::IEnumerable(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
Transform::Transform(const Transform& other)
: Transform(Plugin::InternalUse::Only, other.Handle)
{
}
Transform::Transform(Transform&& other)
: Transform(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
Transform::~Transform()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
Transform& Transform::operator=(const Transform& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
Transform& Transform::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
Transform& Transform::operator=(Transform&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool Transform::operator==(const Transform& other) const
{
return Handle == other.Handle;
}
bool Transform::operator!=(const Transform& other) const
{
return Handle != other.Handle;
}
UnityEngine::Vector3 Transform::GetPosition()
{
auto returnValue = Plugin::UnityEngineTransformPropertyGetPosition(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void Transform::SetPosition(UnityEngine::Vector3& value)
{
Plugin::UnityEngineTransformPropertySetPosition(Handle, value);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
void Transform::SetParent(UnityEngine::Transform& parent)
{
Plugin::UnityEngineTransformMethodSetParentUnityEngineTransform(Handle, parent.Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
}
namespace UnityEngine
{
Color::Color()
{
}
}
namespace System
{
Object::Object(UnityEngine::Color& val)
{
int32_t handle = Plugin::BoxColor(val);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
if (handle)
{
Plugin::ReferenceManagedClass(handle);
Handle = handle;
}
}
Object::operator UnityEngine::Color()
{
UnityEngine::Color returnVal(Plugin::UnboxColor(Handle));
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnVal;
}
}
namespace UnityEngine
{
GradientColorKey::GradientColorKey()
{
}
}
namespace System
{
Object::Object(UnityEngine::GradientColorKey& val)
{
int32_t handle = Plugin::BoxGradientColorKey(val);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
if (handle)
{
Plugin::ReferenceManagedClass(handle);
Handle = handle;
}
}
Object::operator UnityEngine::GradientColorKey()
{
UnityEngine::GradientColorKey returnVal(Plugin::UnboxGradientColorKey(Handle));
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnVal;
}
}
namespace UnityEngine
{
Resolution::Resolution(decltype(nullptr))
: System::ValueType(nullptr)
{
}
Resolution::Resolution(Plugin::InternalUse iu, int32_t handle)
: System::ValueType(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedUnityEngineResolution(Handle);
}
}
Resolution::Resolution(const Resolution& other)
: Resolution(Plugin::InternalUse::Only, other.Handle)
{
}
Resolution::Resolution(Resolution&& other)
: Resolution(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
Resolution::~Resolution()
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineResolution(Handle);
Handle = 0;
}
}
Resolution& Resolution::operator=(const Resolution& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedUnityEngineResolution(Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedUnityEngineResolution(Handle);
}
return *this;
}
Resolution& Resolution::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineResolution(Handle);
Handle = 0;
}
return *this;
}
Resolution& Resolution::operator=(Resolution&& other)
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineResolution(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool Resolution::operator==(const Resolution& other) const
{
return Handle == other.Handle;
}
bool Resolution::operator!=(const Resolution& other) const
{
return Handle != other.Handle;
}
int32_t Resolution::GetWidth()
{
auto returnValue = Plugin::UnityEngineResolutionPropertyGetWidth(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void Resolution::SetWidth(int32_t value)
{
Plugin::UnityEngineResolutionPropertySetWidth(Handle, value);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
int32_t Resolution::GetHeight()
{
auto returnValue = Plugin::UnityEngineResolutionPropertyGetHeight(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void Resolution::SetHeight(int32_t value)
{
Plugin::UnityEngineResolutionPropertySetHeight(Handle, value);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
int32_t Resolution::GetRefreshRate()
{
auto returnValue = Plugin::UnityEngineResolutionPropertyGetRefreshRate(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void Resolution::SetRefreshRate(int32_t value)
{
Plugin::UnityEngineResolutionPropertySetRefreshRate(Handle, value);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
}
namespace System
{
Object::Object(UnityEngine::Resolution& val)
{
int32_t handle = Plugin::BoxResolution(val.Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
if (handle)
{
Plugin::ReferenceManagedClass(handle);
Handle = handle;
}
}
Object::operator UnityEngine::Resolution()
{
UnityEngine::Resolution returnVal(Plugin::InternalUse::Only, Plugin::UnboxResolution(Handle));
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnVal;
}
}
namespace UnityEngine
{
RaycastHit::RaycastHit(decltype(nullptr))
: System::ValueType(nullptr)
{
}
RaycastHit::RaycastHit(Plugin::InternalUse iu, int32_t handle)
: System::ValueType(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedUnityEngineRaycastHit(Handle);
}
}
RaycastHit::RaycastHit(const RaycastHit& other)
: RaycastHit(Plugin::InternalUse::Only, other.Handle)
{
}
RaycastHit::RaycastHit(RaycastHit&& other)
: RaycastHit(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
RaycastHit::~RaycastHit()
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineRaycastHit(Handle);
Handle = 0;
}
}
RaycastHit& RaycastHit::operator=(const RaycastHit& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedUnityEngineRaycastHit(Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedUnityEngineRaycastHit(Handle);
}
return *this;
}
RaycastHit& RaycastHit::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineRaycastHit(Handle);
Handle = 0;
}
return *this;
}
RaycastHit& RaycastHit::operator=(RaycastHit&& other)
{
if (Handle)
{
Plugin::DereferenceManagedUnityEngineRaycastHit(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool RaycastHit::operator==(const RaycastHit& other) const
{
return Handle == other.Handle;
}
bool RaycastHit::operator!=(const RaycastHit& other) const
{
return Handle != other.Handle;
}
UnityEngine::Vector3 RaycastHit::GetPoint()
{
auto returnValue = Plugin::UnityEngineRaycastHitPropertyGetPoint(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
void RaycastHit::SetPoint(UnityEngine::Vector3& value)
{
Plugin::UnityEngineRaycastHitPropertySetPoint(Handle, value);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
}
UnityEngine::Transform RaycastHit::GetTransform()
{
auto returnValue = Plugin::UnityEngineRaycastHitPropertyGetTransform(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return UnityEngine::Transform(Plugin::InternalUse::Only, returnValue);
}
}
namespace System
{
Object::Object(UnityEngine::RaycastHit& val)
{
int32_t handle = Plugin::BoxRaycastHit(val.Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
if (handle)
{
Plugin::ReferenceManagedClass(handle);
Handle = handle;
}
}
Object::operator UnityEngine::RaycastHit()
{
UnityEngine::RaycastHit returnVal(Plugin::InternalUse::Only, Plugin::UnboxRaycastHit(Handle));
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnVal;
}
}
namespace System
{
namespace Collections
{
IEnumerator::IEnumerator(decltype(nullptr))
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
System::Object IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsIEnumeratorPropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::Object(Plugin::InternalUse::Only, returnValue);
}
System::Boolean IEnumerator::MoveNext()
{
auto returnValue = Plugin::SystemCollectionsIEnumeratorMethodMoveNext(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
System::String IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorSystemStringPropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::String(Plugin::InternalUse::Only, returnValue);
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
int32_t IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorSystemInt32PropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
float IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorSystemSinglePropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
UnityEngine::RaycastHit IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorUnityEngineRaycastHitPropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return UnityEngine::RaycastHit(Plugin::InternalUse::Only, returnValue);
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
UnityEngine::GradientColorKey IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorUnityEngineGradientColorKeyPropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return returnValue;
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerator::IEnumerator(decltype(nullptr))
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
}
IEnumerator::IEnumerator(Plugin::InternalUse iu, int32_t handle)
: System::IDisposable(nullptr)
, System::Collections::IEnumerator(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerator::IEnumerator(const IEnumerator& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerator::IEnumerator(IEnumerator&& other)
: IEnumerator(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerator::~IEnumerator()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerator& IEnumerator::operator=(const IEnumerator& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerator& IEnumerator::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerator& IEnumerator::operator=(IEnumerator&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerator::operator==(const IEnumerator& other) const
{
return Handle == other.Handle;
}
bool IEnumerator::operator!=(const IEnumerator& other) const
{
return Handle != other.Handle;
}
UnityEngine::Resolution IEnumerator::GetCurrent()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumeratorUnityEngineResolutionPropertyGetCurrent(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return UnityEngine::Resolution(Plugin::InternalUse::Only, returnValue);
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerable::IEnumerable(decltype(nullptr))
: System::Collections::IEnumerable(nullptr)
{
}
IEnumerable::IEnumerable(Plugin::InternalUse iu, int32_t handle)
: System::Collections::IEnumerable(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerable::IEnumerable(const IEnumerable& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerable::IEnumerable(IEnumerable&& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerable::~IEnumerable()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerable& IEnumerable::operator=(const IEnumerable& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerable& IEnumerable::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerable& IEnumerable::operator=(IEnumerable&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerable::operator==(const IEnumerable& other) const
{
return Handle == other.Handle;
}
bool IEnumerable::operator!=(const IEnumerable& other) const
{
return Handle != other.Handle;
}
System::Collections::Generic::IEnumerator IEnumerable::GetEnumerator()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumerableSystemStringMethodGetEnumerator(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::Collections::Generic::IEnumerator(Plugin::InternalUse::Only, returnValue);
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerable::IEnumerable(decltype(nullptr))
: System::Collections::IEnumerable(nullptr)
{
}
IEnumerable::IEnumerable(Plugin::InternalUse iu, int32_t handle)
: System::Collections::IEnumerable(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerable::IEnumerable(const IEnumerable& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerable::IEnumerable(IEnumerable&& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerable::~IEnumerable()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerable& IEnumerable::operator=(const IEnumerable& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerable& IEnumerable::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerable& IEnumerable::operator=(IEnumerable&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerable::operator==(const IEnumerable& other) const
{
return Handle == other.Handle;
}
bool IEnumerable::operator!=(const IEnumerable& other) const
{
return Handle != other.Handle;
}
System::Collections::Generic::IEnumerator IEnumerable::GetEnumerator()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumerableSystemInt32MethodGetEnumerator(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::Collections::Generic::IEnumerator(Plugin::InternalUse::Only, returnValue);
}
}
}
}
namespace System
{
namespace Collections
{
namespace Generic
{
IEnumerable::IEnumerable(decltype(nullptr))
: System::Collections::IEnumerable(nullptr)
{
}
IEnumerable::IEnumerable(Plugin::InternalUse iu, int32_t handle)
: System::Collections::IEnumerable(nullptr)
{
Handle = handle;
if (handle)
{
Plugin::ReferenceManagedClass(handle);
}
}
IEnumerable::IEnumerable(const IEnumerable& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
}
IEnumerable::IEnumerable(IEnumerable&& other)
: IEnumerable(Plugin::InternalUse::Only, other.Handle)
{
other.Handle = 0;
}
IEnumerable::~IEnumerable()
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
}
IEnumerable& IEnumerable::operator=(const IEnumerable& other)
{
if (this->Handle)
{
Plugin::DereferenceManagedClass(this->Handle);
}
this->Handle = other.Handle;
if (this->Handle)
{
Plugin::ReferenceManagedClass(this->Handle);
}
return *this;
}
IEnumerable& IEnumerable::operator=(decltype(nullptr))
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
Handle = 0;
}
return *this;
}
IEnumerable& IEnumerable::operator=(IEnumerable&& other)
{
if (Handle)
{
Plugin::DereferenceManagedClass(Handle);
}
Handle = other.Handle;
other.Handle = 0;
return *this;
}
bool IEnumerable::operator==(const IEnumerable& other) const
{
return Handle == other.Handle;
}
bool IEnumerable::operator!=(const IEnumerable& other) const
{
return Handle != other.Handle;
}
System::Collections::Generic::IEnumerator IEnumerable::GetEnumerator()
{
auto returnValue = Plugin::SystemCollectionsGenericIEnumerableSystemSingleMethodGetEnumerator(Handle);
if (Plugin::unhandledCsharpException)
{
System::Exception* ex = Plugin::unhandledCsharpException;
Plugin::unhandledCsharpException = nullptr;
ex->ThrowReferenceToThis();
delete ex;
}
return System::Collections::Generic::IEnumerator