| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438 |
- #include "BsManagedSerializableField.h"
- #include "BsManagedSerializableObjectInfo.h"
- #include "BsManagedSerializableFieldRTTI.h"
- #include "BsMonoUtil.h"
- #include "BsMonoManager.h"
- #include "BsScriptResourceManager.h"
- #include "BsScriptGameObjectManager.h"
- #include "BsScriptTexture2D.h"
- #include "BsScriptTexture3D.h"
- #include "BsScriptTextureCube.h"
- #include "BsScriptSpriteTexture.h"
- #include "BsScriptManagedResource.h"
- #include "BsScriptPlainText.h"
- #include "BsScriptScriptCode.h"
- #include "BsScriptShader.h"
- #include "BsScriptMaterial.h"
- #include "BsScriptMesh.h"
- #include "BsScriptSceneObject.h"
- #include "BsScriptComponent.h"
- #include "BsManagedSerializableObject.h"
- #include "BsManagedSerializableArray.h"
- #include "BsManagedSerializableList.h"
- #include "BsManagedSerializableDictionary.h"
- namespace BansheeEngine
- {
- template<class T>
- bool compareFieldData(const T* a, const ManagedSerializableFieldDataPtr& b)
- {
- if (rtti_is_of_type<T>(b))
- {
- auto castObj = std::static_pointer_cast<T>(b);
- return a->value == castObj->value;
- }
- return false;
- }
- ManagedSerializableFieldKey::ManagedSerializableFieldKey()
- :mTypeId(0), mFieldId(0)
- { }
- ManagedSerializableFieldKey::ManagedSerializableFieldKey(UINT16 typeId, UINT16 fieldId)
- :mTypeId(typeId), mFieldId(fieldId)
- { }
- ManagedSerializableFieldKeyPtr ManagedSerializableFieldKey::create(UINT16 typeId, UINT16 fieldId)
- {
- ManagedSerializableFieldKeyPtr fieldKey = bs_shared_ptr<ManagedSerializableFieldKey>(typeId, fieldId);
- return fieldKey;
- }
- ManagedSerializableFieldDataEntryPtr ManagedSerializableFieldDataEntry::create(const ManagedSerializableFieldKeyPtr& key, const ManagedSerializableFieldDataPtr& value)
- {
- ManagedSerializableFieldDataEntryPtr fieldDataEntry = bs_shared_ptr<ManagedSerializableFieldDataEntry>();
- fieldDataEntry->mKey = key;
- fieldDataEntry->mValue = value;
- return fieldDataEntry;
- }
- ManagedSerializableFieldDataPtr ManagedSerializableFieldData::create(const ManagedSerializableTypeInfoPtr& typeInfo, MonoObject* value)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- switch (primitiveTypeInfo->mType)
- {
- case ScriptPrimitiveType::Bool:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataBool>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::Char:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataChar>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::I8:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataI8>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::U8:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataU8>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::I16:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataI16>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::U16:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataU16>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::I32:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataI32>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::U32:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataU32>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::I64:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataI64>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::U64:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataU64>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::Float:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataFloat>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::Double:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataDouble>();
- if(value != nullptr)
- memcpy(&fieldData->value, mono_object_unbox(value), sizeof(fieldData->value));
- return fieldData;
- }
- case ScriptPrimitiveType::String:
- {
- MonoString* strVal = (MonoString*)(value);
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataString>();
- if(strVal != nullptr)
- fieldData->value = MonoUtil::monoToWString(strVal);
- return fieldData;
- }
- case ScriptPrimitiveType::Texture2DRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if(value != nullptr)
- {
- ScriptTexture2D* scriptTexture2D = ScriptTexture2D::toNative(value);
- fieldData->value = static_resource_cast<ScriptTexture2D>(scriptTexture2D->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::Texture3DRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptTexture3D* scriptTexture3D = ScriptTexture3D::toNative(value);
- fieldData->value = static_resource_cast<ScriptTexture3D>(scriptTexture3D->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::TextureCubeRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptTextureCube* scriptTextureCube = ScriptTextureCube::toNative(value);
- fieldData->value = static_resource_cast<ScriptTextureCube>(scriptTextureCube->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::SpriteTextureRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
-
- if(value != nullptr)
- {
- ScriptSpriteTexture* scriptSpriteTexture = ScriptSpriteTexture::toNative(value);
- fieldData->value = static_resource_cast<SpriteTexture>(scriptSpriteTexture->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::ShaderRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptShader* scriptShader = ScriptShader::toNative(value);
- fieldData->value = static_resource_cast<ScriptShader>(scriptShader->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::MaterialRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptMaterial* scriptMaterial = ScriptMaterial::toNative(value);
- fieldData->value = static_resource_cast<ScriptMaterial>(scriptMaterial->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::MeshRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptMesh* scriptMesh = ScriptMesh::toNative(value);
- fieldData->value = static_resource_cast<ScriptMesh>(scriptMesh->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::ManagedResourceRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
-
- if(value != nullptr)
- {
- ScriptManagedResource* scriptManagedResource = ScriptManagedResource::toNative(value);
- fieldData->value = static_resource_cast<ManagedResource>(scriptManagedResource->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::PlainTextRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptPlainText* scriptPlainResource = ScriptPlainText::toNative(value);
- fieldData->value = static_resource_cast<PlainText>(scriptPlainResource->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::ScriptCodeRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataResourceRef>();
- if (value != nullptr)
- {
- ScriptScriptCode* scriptScriptCode = ScriptScriptCode::toNative(value);
- fieldData->value = static_resource_cast<ScriptCode>(scriptScriptCode->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::SceneObjectRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataGameObjectRef>();
- if(value != nullptr)
- {
- ScriptSceneObject* scriptSceneObject = ScriptSceneObject::toNative(value);
- fieldData->value = static_object_cast<SceneObject>(scriptSceneObject->getNativeHandle());
- }
- return fieldData;
- }
- case ScriptPrimitiveType::ComponentRef:
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataGameObjectRef>();
- if(value != nullptr)
- {
- ScriptComponent* scriptComponent = ScriptComponent::toNative(value);
- fieldData->value = static_object_cast<Component>(scriptComponent->getNativeHandle());
- }
- return fieldData;
- }
- }
- }
- else if(typeInfo->getTypeId() == TID_SerializableTypeInfoObject)
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataObject>();
- if(value != nullptr)
- {
- fieldData->value = ManagedSerializableObject::createFromExisting(value);
- }
- return fieldData;
- }
- else if(typeInfo->getTypeId() == TID_SerializableTypeInfoArray)
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataArray>();
- if(value != nullptr)
- {
- fieldData->value = ManagedSerializableArray::createFromExisting(value, std::static_pointer_cast<ManagedSerializableTypeInfoArray>(typeInfo));
- }
- return fieldData;
- }
- else if(typeInfo->getTypeId() == TID_SerializableTypeInfoList)
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataList>();
- if(value != nullptr)
- {
- fieldData->value = ManagedSerializableList::createFromExisting(value, std::static_pointer_cast<ManagedSerializableTypeInfoList>(typeInfo));
- }
- return fieldData;
- }
- else if(typeInfo->getTypeId() == TID_SerializableTypeInfoDictionary)
- {
- auto fieldData = bs_shared_ptr<ManagedSerializableFieldDataDictionary>();
- if(value != nullptr)
- {
- fieldData->value = ManagedSerializableDictionary::createFromExisting(value, std::static_pointer_cast<ManagedSerializableTypeInfoDictionary>(typeInfo));
- }
- return fieldData;
- }
- return nullptr;
- }
- void* ManagedSerializableFieldDataBool::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::Bool)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataChar::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::Char)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataI8::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::I8)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataU8::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::U8)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataI16::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::I16)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataU16::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::U16)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataI32::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::I32)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataU32::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::U32)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataI64::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::I64)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataU64::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::U64)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataFloat::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::Float)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataDouble::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::Double)
- return &value;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataString::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::String)
- {
- return MonoUtil::wstringToMono(MonoManager::instance().getDomain(), value);
- }
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataResourceRef::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::Texture2DRef)
- {
- if(value)
- {
- HTexture texture = static_resource_cast<Texture>(value);
- ScriptTexture2D* scriptResource = ScriptResourceManager::instance().getScriptTexture2D(texture);
- if(scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptTexture2D(texture);
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::Texture3DRef)
- {
- if (value)
- {
- HTexture texture = static_resource_cast<Texture>(value);
- ScriptTexture3D* scriptResource = ScriptResourceManager::instance().getScriptTexture3D(texture);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptTexture3D(texture);
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::TextureCubeRef)
- {
- if (value)
- {
- HTexture texture = static_resource_cast<Texture>(value);
- ScriptTextureCube* scriptResource = ScriptResourceManager::instance().getScriptTextureCube(texture);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptTextureCube(texture);
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if(primitiveTypeInfo->mType == ScriptPrimitiveType::SpriteTextureRef)
- {
- if(value)
- {
- HSpriteTexture spriteTexture = static_resource_cast<SpriteTexture>(value);
- ScriptSpriteTexture* scriptResource = ScriptResourceManager::instance().getScriptSpriteTexture(spriteTexture);
- if(scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptSpriteTexture(spriteTexture);
- if(scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::ShaderRef)
- {
- if (value)
- {
- HShader shader = static_resource_cast<Shader>(value);
- ScriptShader* scriptResource = ScriptResourceManager::instance().getScriptShader(shader);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptShader(shader);
- if (scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::MaterialRef)
- {
- if (value)
- {
- HMaterial material = static_resource_cast<Material>(value);
- ScriptMaterial* scriptResource = ScriptResourceManager::instance().getScriptMaterial(material);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptMaterial(material);
- if (scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::MeshRef)
- {
- if (value)
- {
- HMesh mesh = static_resource_cast<Mesh>(value);
- ScriptMesh* scriptResource = ScriptResourceManager::instance().getScriptMesh(mesh);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptMesh(mesh);
- if (scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::PlainTextRef)
- {
- if (value)
- {
- HPlainText plainText = static_resource_cast<PlainText>(value);
- ScriptPlainText* scriptResource = ScriptResourceManager::instance().getScriptPlainText(plainText);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptPlainText(plainText);
- if (scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::ScriptCodeRef)
- {
- if (value)
- {
- HScriptCode scriptCode = static_resource_cast<ScriptCode>(value);
- ScriptScriptCode* scriptResource = ScriptResourceManager::instance().getScriptScriptCode(scriptCode);
- if (scriptResource == nullptr)
- scriptResource = ScriptResourceManager::instance().createScriptScriptCode(scriptCode);
- if (scriptResource != nullptr)
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if (primitiveTypeInfo->mType == ScriptPrimitiveType::ManagedResourceRef)
- {
- if (value)
- {
- HManagedResource managedResource = static_resource_cast<ManagedResource>(value);
- ScriptManagedResource* scriptResource = ScriptResourceManager::instance().getScriptManagedResource(managedResource);
- assert(scriptResource != nullptr); // Managed resource managed instance is created upon creation so it may never be null
- return scriptResource->getManagedInstance();
- }
- else
- return nullptr;
- }
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataGameObjectRef::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if(primitiveTypeInfo->mType == ScriptPrimitiveType::SceneObjectRef)
- {
- if(value)
- {
- ScriptSceneObject* scriptSceneObject = ScriptGameObjectManager::instance().getScriptSceneObject(value);
- if(scriptSceneObject == nullptr)
- scriptSceneObject = ScriptGameObjectManager::instance().createScriptSceneObject(value);
- return scriptSceneObject->getManagedInstance();
- }
- else
- return nullptr;
- }
- else if(primitiveTypeInfo->mType == ScriptPrimitiveType::ComponentRef)
- {
- if (value)
- {
- ScriptComponent* scriptComponent = ScriptGameObjectManager::instance().getScriptComponent(value);
- assert(scriptComponent != nullptr);
- return scriptComponent->getManagedInstance();
- }
- else
- return nullptr;
- }
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataObject::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoObject)
- {
- auto objectTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoObject>(typeInfo);
- if(value != nullptr)
- {
- if(objectTypeInfo->mValueType)
- {
- MonoObject* managedInstance = value->getManagedInstance();
-
- if(managedInstance != nullptr)
- return mono_object_unbox(managedInstance); // Structs are passed as raw types because mono expects them as such
- }
- else
- return value->getManagedInstance();
- }
- return nullptr;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataArray::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoArray)
- {
- auto objectTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoArray>(typeInfo);
- if(value != nullptr)
- return value->getManagedInstance();
- return nullptr;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataList::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoList)
- {
- auto listTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoList>(typeInfo);
- if(value != nullptr)
- return value->getManagedInstance();
- return nullptr;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- void* ManagedSerializableFieldDataDictionary::getValue(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if(typeInfo->getTypeId() == TID_SerializableTypeInfoDictionary)
- {
- auto dictionaryTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoDictionary>(typeInfo);
- if(value != nullptr)
- return value->getManagedInstance();
- return nullptr;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataBool::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::Bool)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_boolean_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataChar::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::Char)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_char_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataI8::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::I8)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_sbyte_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataU8::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::U8)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_byte_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataI16::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::I16)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_int16_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataU16::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::U16)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_uint16_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataI32::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::I32)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_int32_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataU32::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::U32)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_uint32_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataI64::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::I64)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_int64_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataU64::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::U64)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_uint64_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataFloat::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::Float)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_single_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataDouble::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoPrimitive)
- {
- auto primitiveTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoPrimitive>(typeInfo);
- if (primitiveTypeInfo->mType == ScriptPrimitiveType::Double)
- return mono_value_box(MonoManager::instance().getDomain(), mono_get_double_class(), &value);
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataString::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- MonoObject* ManagedSerializableFieldDataResourceRef::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- MonoObject* ManagedSerializableFieldDataGameObjectRef::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- MonoObject* ManagedSerializableFieldDataObject::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- if (typeInfo->getTypeId() == TID_SerializableTypeInfoObject)
- {
- auto objectTypeInfo = std::static_pointer_cast<ManagedSerializableTypeInfoObject>(typeInfo);
- if (value != nullptr)
- return value->getManagedInstance();
- return nullptr;
- }
- BS_EXCEPT(InvalidParametersException, "Requesting an invalid type in serializable field.");
- }
- MonoObject* ManagedSerializableFieldDataArray::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- MonoObject* ManagedSerializableFieldDataList::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- MonoObject* ManagedSerializableFieldDataDictionary::getValueBoxed(const ManagedSerializableTypeInfoPtr& typeInfo)
- {
- return (MonoObject*)getValue(typeInfo);
- }
- bool ManagedSerializableFieldDataBool::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataChar::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataI8::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataU8::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataI16::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataU16::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataI32::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataU32::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataI64::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataU64::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataFloat::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataDouble::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataString::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataResourceRef::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataGameObjectRef::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataObject::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataArray::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataList::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- bool ManagedSerializableFieldDataDictionary::equals(const ManagedSerializableFieldDataPtr& other)
- {
- return compareFieldData(this, other);
- }
- size_t ManagedSerializableFieldDataBool::getHash()
- {
- std::hash<bool> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataChar::getHash()
- {
- std::hash<wchar_t> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataI8::getHash()
- {
- std::hash<INT8> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataU8::getHash()
- {
- std::hash<UINT8> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataI16::getHash()
- {
- std::hash<INT16> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataU16::getHash()
- {
- std::hash<UINT16> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataI32::getHash()
- {
- std::hash<INT32> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataU32::getHash()
- {
- std::hash<UINT32> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataI64::getHash()
- {
- std::hash<INT64> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataU64::getHash()
- {
- std::hash<UINT64> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataFloat::getHash()
- {
- std::hash<float> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataDouble::getHash()
- {
- std::hash<double> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataString::getHash()
- {
- std::hash<WString> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataResourceRef::getHash()
- {
- std::hash<String> hasher;
- return hasher(value.getUUID());
- }
- size_t ManagedSerializableFieldDataGameObjectRef::getHash()
- {
- std::hash<UINT64> hasher;
- return hasher(value.getInstanceId());
- }
- size_t ManagedSerializableFieldDataObject::getHash()
- {
- std::hash<std::shared_ptr<ManagedSerializableObject>> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataArray::getHash()
- {
- std::hash<std::shared_ptr<ManagedSerializableArray>> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataList::getHash()
- {
- std::hash<std::shared_ptr<ManagedSerializableList>> hasher;
- return hasher(value);
- }
- size_t ManagedSerializableFieldDataDictionary::getHash()
- {
- std::hash<std::shared_ptr<ManagedSerializableDictionary>> hasher;
- return hasher(value);
- }
- void ManagedSerializableFieldDataObject::serialize()
- {
- if (value != nullptr)
- value->serialize();
- }
- void ManagedSerializableFieldDataObject::deserialize()
- {
- if (value != nullptr)
- value->deserialize();
- }
- void ManagedSerializableFieldDataArray::serialize()
- {
- if (value != nullptr)
- value->serialize();
- }
- void ManagedSerializableFieldDataArray::deserialize()
- {
- if (value != nullptr)
- value->deserialize();
- }
- void ManagedSerializableFieldDataList::serialize()
- {
- if (value != nullptr)
- value->serialize();
- }
- void ManagedSerializableFieldDataList::deserialize()
- {
- if (value != nullptr)
- value->deserialize();
- }
- void ManagedSerializableFieldDataDictionary::serialize()
- {
- if (value != nullptr)
- value->serialize();
- }
- void ManagedSerializableFieldDataDictionary::deserialize()
- {
- if (value != nullptr)
- value->deserialize();
- }
- RTTITypeBase* ManagedSerializableFieldKey::getRTTIStatic()
- {
- return ManagedSerializableFieldKeyRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldKey::getRTTI() const
- {
- return ManagedSerializableFieldKey::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldData::getRTTIStatic()
- {
- return ManagedSerializableFieldDataRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldData::getRTTI() const
- {
- return ManagedSerializableFieldData::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataEntry::getRTTIStatic()
- {
- return ManagedSerializableFieldDataEntryRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataEntry::getRTTI() const
- {
- return ManagedSerializableFieldDataEntry::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataBool::getRTTIStatic()
- {
- return ManagedSerializableFieldDataBoolRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataBool::getRTTI() const
- {
- return ManagedSerializableFieldDataBool::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataChar::getRTTIStatic()
- {
- return ManagedSerializableFieldDataCharRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataChar::getRTTI() const
- {
- return ManagedSerializableFieldDataChar::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataI8::getRTTIStatic()
- {
- return ManagedSerializableFieldDataI8RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataI8::getRTTI() const
- {
- return ManagedSerializableFieldDataI8::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataU8::getRTTIStatic()
- {
- return ManagedSerializableFieldDataU8RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataU8::getRTTI() const
- {
- return ManagedSerializableFieldDataU8::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataI16::getRTTIStatic()
- {
- return ManagedSerializableFieldDataI16RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataI16::getRTTI() const
- {
- return ManagedSerializableFieldDataI16::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataU16::getRTTIStatic()
- {
- return ManagedSerializableFieldDataU16RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataU16::getRTTI() const
- {
- return ManagedSerializableFieldDataU16::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataI32::getRTTIStatic()
- {
- return ManagedSerializableFieldDataI32RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataI32::getRTTI() const
- {
- return ManagedSerializableFieldDataI32::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataU32::getRTTIStatic()
- {
- return ManagedSerializableFieldDataU32RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataU32::getRTTI() const
- {
- return ManagedSerializableFieldDataU32::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataI64::getRTTIStatic()
- {
- return ManagedSerializableFieldDataI64RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataI64::getRTTI() const
- {
- return ManagedSerializableFieldDataI64::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataU64::getRTTIStatic()
- {
- return ManagedSerializableFieldDataU64RTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataU64::getRTTI() const
- {
- return ManagedSerializableFieldDataU64::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataFloat::getRTTIStatic()
- {
- return ManagedSerializableFieldDataFloatRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataFloat::getRTTI() const
- {
- return ManagedSerializableFieldDataFloat::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataDouble::getRTTIStatic()
- {
- return ManagedSerializableFieldDataDoubleRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataDouble::getRTTI() const
- {
- return ManagedSerializableFieldDataDouble::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataString::getRTTIStatic()
- {
- return ManagedSerializableFieldDataStringRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataString::getRTTI() const
- {
- return ManagedSerializableFieldDataString::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataResourceRef::getRTTIStatic()
- {
- return ManagedSerializableFieldDataResourceRefRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataResourceRef::getRTTI() const
- {
- return ManagedSerializableFieldDataResourceRef::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataGameObjectRef::getRTTIStatic()
- {
- return ManagedSerializableFieldDataGameObjectRefRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataGameObjectRef::getRTTI() const
- {
- return ManagedSerializableFieldDataGameObjectRef::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataObject::getRTTIStatic()
- {
- return ManagedSerializableFieldDataObjectRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataObject::getRTTI() const
- {
- return ManagedSerializableFieldDataObject::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataArray::getRTTIStatic()
- {
- return ManagedSerializableFieldDataArrayRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataArray::getRTTI() const
- {
- return ManagedSerializableFieldDataArray::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataList::getRTTIStatic()
- {
- return ManagedSerializableFieldDataListRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataList::getRTTI() const
- {
- return ManagedSerializableFieldDataList::getRTTIStatic();
- }
- RTTITypeBase* ManagedSerializableFieldDataDictionary::getRTTIStatic()
- {
- return ManagedSerializableFieldDataDictionaryRTTI::instance();
- }
- RTTITypeBase* ManagedSerializableFieldDataDictionary::getRTTI() const
- {
- return ManagedSerializableFieldDataDictionary::getRTTIStatic();
- }
- }
|