// DO NOT EDIT. This file is generated #pragma once #include "../AngelScript/APITemplates.h" #include "../AngelScript/Generated_Includes.h" #include "../AngelScript/Manual.h" namespace Urho3D { // struct AnimationControl | File: ../Graphics/AnimationController.h template void RegisterMembers_AnimationControl(asIScriptEngine* engine, const char* className) { // String AnimationControl::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // StringHash AnimationControl::hash_ engine->RegisterObjectProperty(className, "StringHash hash", offsetof(T, hash_)); // float AnimationControl::speed_ engine->RegisterObjectProperty(className, "float speed", offsetof(T, speed_)); // float AnimationControl::targetWeight_ engine->RegisterObjectProperty(className, "float targetWeight", offsetof(T, targetWeight_)); // float AnimationControl::fadeTime_ engine->RegisterObjectProperty(className, "float fadeTime", offsetof(T, fadeTime_)); // float AnimationControl::autoFadeTime_ engine->RegisterObjectProperty(className, "float autoFadeTime", offsetof(T, autoFadeTime_)); // float AnimationControl::setTimeTtl_ engine->RegisterObjectProperty(className, "float setTimeTtl", offsetof(T, setTimeTtl_)); // float AnimationControl::setWeightTtl_ engine->RegisterObjectProperty(className, "float setWeightTtl", offsetof(T, setWeightTtl_)); // unsigned short AnimationControl::setTime_ engine->RegisterObjectProperty(className, "uint16 setTime", offsetof(T, setTime_)); // unsigned char AnimationControl::setWeight_ engine->RegisterObjectProperty(className, "uint8 setWeight", offsetof(T, setWeight_)); // unsigned char AnimationControl::setTimeRev_ engine->RegisterObjectProperty(className, "uint8 setTimeRev", offsetof(T, setTimeRev_)); // unsigned char AnimationControl::setWeightRev_ engine->RegisterObjectProperty(className, "uint8 setWeightRev", offsetof(T, setWeightRev_)); // bool AnimationControl::removeOnCompletion_ engine->RegisterObjectProperty(className, "bool removeOnCompletion", offsetof(T, removeOnCompletion_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationControl REGISTER_MEMBERS_MANUAL_PART_AnimationControl(); #endif } // struct AnimationKeyFrame | File: ../Graphics/Animation.h template void RegisterMembers_AnimationKeyFrame(asIScriptEngine* engine, const char* className) { // float AnimationKeyFrame::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); // Vector3 AnimationKeyFrame::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Quaternion AnimationKeyFrame::rotation_ engine->RegisterObjectProperty(className, "Quaternion rotation", offsetof(T, rotation_)); // Vector3 AnimationKeyFrame::scale_ engine->RegisterObjectProperty(className, "Vector3 scale", offsetof(T, scale_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationKeyFrame REGISTER_MEMBERS_MANUAL_PART_AnimationKeyFrame(); #endif } // struct AnimationStateTrack | File: ../Graphics/AnimationState.h template void RegisterMembers_AnimationStateTrack(asIScriptEngine* engine, const char* className) { // const AnimationTrack* AnimationStateTrack::track_ // Not registered because pointer // Bone* AnimationStateTrack::bone_ // Not registered because pointer // WeakPtr AnimationStateTrack::node_ // Error: type "WeakPtr" can not automatically bind // float AnimationStateTrack::weight_ engine->RegisterObjectProperty(className, "float weight", offsetof(T, weight_)); // i32 AnimationStateTrack::keyFrame_ engine->RegisterObjectProperty(className, "int keyFrame", offsetof(T, keyFrame_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationStateTrack REGISTER_MEMBERS_MANUAL_PART_AnimationStateTrack(); #endif } // struct AnimationTrack | File: ../Graphics/Animation.h template void RegisterMembers_AnimationTrack(asIScriptEngine* engine, const char* className) { // AnimationKeyFrame* AnimationTrack::GetKeyFrame(i32 index) // Error: type "AnimationKeyFrame*" can not automatically bind // void AnimationTrack::AddKeyFrame(const AnimationKeyFrame& keyFrame) engine->RegisterObjectMethod(className, "void AddKeyFrame(const AnimationKeyFrame&in)", AS_METHODPR(T, AddKeyFrame, (const AnimationKeyFrame&), void), AS_CALL_THISCALL); // bool AnimationTrack::GetKeyFrameIndex(float time, i32& index) const engine->RegisterObjectMethod(className, "bool GetKeyFrameIndex(float, int&) const", AS_METHODPR(T, GetKeyFrameIndex, (float, i32&) const, bool), AS_CALL_THISCALL); // i32 AnimationTrack::GetNumKeyFrames() const engine->RegisterObjectMethod(className, "int GetNumKeyFrames() const", AS_METHODPR(T, GetNumKeyFrames, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numKeyFrames() const", AS_METHODPR(T, GetNumKeyFrames, () const, i32), AS_CALL_THISCALL); // void AnimationTrack::InsertKeyFrame(i32 index, const AnimationKeyFrame& keyFrame) engine->RegisterObjectMethod(className, "void InsertKeyFrame(int, const AnimationKeyFrame&in)", AS_METHODPR(T, InsertKeyFrame, (i32, const AnimationKeyFrame&), void), AS_CALL_THISCALL); // void AnimationTrack::RemoveAllKeyFrames() engine->RegisterObjectMethod(className, "void RemoveAllKeyFrames()", AS_METHODPR(T, RemoveAllKeyFrames, (), void), AS_CALL_THISCALL); // void AnimationTrack::RemoveKeyFrame(i32 index) engine->RegisterObjectMethod(className, "void RemoveKeyFrame(int)", AS_METHODPR(T, RemoveKeyFrame, (i32), void), AS_CALL_THISCALL); // void AnimationTrack::SetKeyFrame(i32 index, const AnimationKeyFrame& keyFrame) engine->RegisterObjectMethod(className, "void SetKeyFrame(int, const AnimationKeyFrame&in)", AS_METHODPR(T, SetKeyFrame, (i32, const AnimationKeyFrame&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_keyFrames(int, const AnimationKeyFrame&in)", AS_METHODPR(T, SetKeyFrame, (i32, const AnimationKeyFrame&), void), AS_CALL_THISCALL); // Vector AnimationTrack::keyFrames_ // Error: type "Vector" can not automatically bind // String AnimationTrack::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // StringHash AnimationTrack::nameHash_ engine->RegisterObjectProperty(className, "StringHash nameHash", offsetof(T, nameHash_)); // AnimationChannels AnimationTrack::channelMask_ engine->RegisterObjectProperty(className, "AnimationChannels channelMask", offsetof(T, channelMask_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationTrack REGISTER_MEMBERS_MANUAL_PART_AnimationTrack(); #endif } // struct AnimationTriggerPoint | File: ../Graphics/Animation.h template void RegisterMembers_AnimationTriggerPoint(asIScriptEngine* engine, const char* className) { // float AnimationTriggerPoint::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); // Variant AnimationTriggerPoint::data_ engine->RegisterObjectProperty(className, "Variant data", offsetof(T, data_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationTriggerPoint REGISTER_MEMBERS_MANUAL_PART_AnimationTriggerPoint(); #endif } // class AreaAllocator | File: ../Math/AreaAllocator.h template void RegisterMembers_AreaAllocator(asIScriptEngine* engine, const char* className) { // bool AreaAllocator::Allocate(i32 width, i32 height, i32& x, i32& y) engine->RegisterObjectMethod(className, "bool Allocate(int, int, int&, int&)", AS_METHODPR(T, Allocate, (i32, i32, i32&, i32&), bool), AS_CALL_THISCALL); // bool AreaAllocator::GetFastMode() const engine->RegisterObjectMethod(className, "bool GetFastMode() const", AS_METHODPR(T, GetFastMode, () const, bool), AS_CALL_THISCALL); // i32 AreaAllocator::GetHeight() const engine->RegisterObjectMethod(className, "int GetHeight() const", AS_METHODPR(T, GetHeight, () const, i32), AS_CALL_THISCALL); // i32 AreaAllocator::GetWidth() const engine->RegisterObjectMethod(className, "int GetWidth() const", AS_METHODPR(T, GetWidth, () const, i32), AS_CALL_THISCALL); // void AreaAllocator::Reset(i32 width, i32 height, i32 maxWidth = 0, i32 maxHeight = 0, bool fastMode = true) engine->RegisterObjectMethod(className, "void Reset(int, int, int = 0, int = 0, bool = true)", AS_METHODPR(T, Reset, (i32, i32, i32, i32, bool), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_AreaAllocator REGISTER_MEMBERS_MANUAL_PART_AreaAllocator(); #endif } // struct AsyncProgress | File: ../Scene/Scene.h template void RegisterMembers_AsyncProgress(asIScriptEngine* engine, const char* className) { // SharedPtr AsyncProgress::file_ // Error: type "SharedPtr" can not automatically bind // SharedPtr AsyncProgress::xmlFile_ // Error: type "SharedPtr" can not automatically bind // SharedPtr AsyncProgress::jsonFile_ // Error: type "SharedPtr" can not automatically bind // HashSet AsyncProgress::resources_ // Error: type "HashSet" can not automatically bind // XMLElement AsyncProgress::xmlElement_ engine->RegisterObjectProperty(className, "XMLElement xmlElement", offsetof(T, xmlElement_)); // i32 AsyncProgress::jsonIndex_ engine->RegisterObjectProperty(className, "int jsonIndex", offsetof(T, jsonIndex_)); // LoadMode AsyncProgress::mode_ engine->RegisterObjectProperty(className, "LoadMode mode", offsetof(T, mode_)); // i32 AsyncProgress::loadedResources_ engine->RegisterObjectProperty(className, "int loadedResources", offsetof(T, loadedResources_)); // i32 AsyncProgress::totalResources_ engine->RegisterObjectProperty(className, "int totalResources", offsetof(T, totalResources_)); // i32 AsyncProgress::loadedNodes_ engine->RegisterObjectProperty(className, "int loadedNodes", offsetof(T, loadedNodes_)); // i32 AsyncProgress::totalNodes_ engine->RegisterObjectProperty(className, "int totalNodes", offsetof(T, totalNodes_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AsyncProgress REGISTER_MEMBERS_MANUAL_PART_AsyncProgress(); #endif } // struct AttributeHandle | File: ../Core/Attribute.h template void RegisterMembers_AttributeHandle(asIScriptEngine* engine, const char* className) { // AttributeHandle& AttributeHandle::SetMetadata(StringHash key, const Variant& value) // Error: type "AttributeHandle" can not automatically bind bacause have @nobind mark #ifdef REGISTER_MEMBERS_MANUAL_PART_AttributeHandle REGISTER_MEMBERS_MANUAL_PART_AttributeHandle(); #endif } // struct AttributeInfo | File: ../Core/Attribute.h template void RegisterMembers_AttributeInfo(asIScriptEngine* engine, const char* className) { // const Variant& AttributeInfo::GetMetadata(const StringHash& key) const engine->RegisterObjectMethod(className, "const Variant& GetMetadata(const StringHash&in) const", AS_METHODPR(T, GetMetadata, (const StringHash&) const, const Variant&), AS_CALL_THISCALL); // template T AttributeInfo::GetMetadata(const StringHash& key) const // Not registered because template // const char** AttributeInfo::enumNames_ // Error: type "const char**" can not automatically bind // SharedPtr AttributeInfo::accessor_ // Error: type "SharedPtr" can not automatically bind // void* AttributeInfo::ptr_ // Not registered because pointer // VariantType AttributeInfo::type_ engine->RegisterObjectProperty(className, "VariantType type", offsetof(T, type_)); // String AttributeInfo::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // Variant AttributeInfo::defaultValue_ engine->RegisterObjectProperty(className, "Variant defaultValue", offsetof(T, defaultValue_)); // AttributeModeFlags AttributeInfo::mode_ engine->RegisterObjectProperty(className, "AttributeModeFlags mode", offsetof(T, mode_)); // VariantMap AttributeInfo::metadata_ engine->RegisterObjectProperty(className, "VariantMap metadata", offsetof(T, metadata_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_AttributeInfo REGISTER_MEMBERS_MANUAL_PART_AttributeInfo(); #endif } // class AutoProfileBlock | File: ../Core/Profiler.h template void RegisterMembers_AutoProfileBlock(asIScriptEngine* engine, const char* className) { #ifdef REGISTER_MEMBERS_MANUAL_PART_AutoProfileBlock REGISTER_MEMBERS_MANUAL_PART_AutoProfileBlock(); #endif } // struct BackgroundLoadItem | File: ../Resource/BackgroundLoader.h template void RegisterMembers_BackgroundLoadItem(asIScriptEngine* engine, const char* className) { // SharedPtr BackgroundLoadItem::resource_ // Error: type "SharedPtr" can not automatically bind // HashSet> BackgroundLoadItem::dependencies_ // Error: type "HashSet>" can not automatically bind // HashSet> BackgroundLoadItem::dependents_ // Error: type "HashSet>" can not automatically bind // bool BackgroundLoadItem::sendEventOnFailure_ engine->RegisterObjectProperty(className, "bool sendEventOnFailure", offsetof(T, sendEventOnFailure_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BackgroundLoadItem REGISTER_MEMBERS_MANUAL_PART_BackgroundLoadItem(); #endif } // struct Batch | File: ../Graphics/Batch.h template void RegisterMembers_Batch(asIScriptEngine* engine, const char* className) { // void Batch::CalculateSortKey() engine->RegisterObjectMethod(className, "void CalculateSortKey()", AS_METHODPR(T, CalculateSortKey, (), void), AS_CALL_THISCALL); // void Batch::Draw(View* view, Camera* camera, bool allowDepthWrite) const engine->RegisterObjectMethod(className, "void Draw(View@+, Camera@+, bool) const", AS_METHODPR(T, Draw, (View*, Camera*, bool) const, void), AS_CALL_THISCALL); // void Batch::Prepare(View* view, Camera* camera, bool setModelTransform, bool allowDepthWrite) const engine->RegisterObjectMethod(className, "void Prepare(View@+, Camera@+, bool, bool) const", AS_METHODPR(T, Prepare, (View*, Camera*, bool, bool) const, void), AS_CALL_THISCALL); // Geometry* Batch::geometry_ // Not registered because pointer // Material* Batch::material_ // Not registered because pointer // const Matrix3x4* Batch::worldTransform_ // Not registered because pointer // void* Batch::instancingData_ // Not registered because pointer // Zone* Batch::zone_ // Not registered because pointer // LightBatchQueue* Batch::lightQueue_ // Not registered because pointer // Pass* Batch::pass_ // Not registered because pointer // ShaderVariation* Batch::vertexShader_ // Not registered because pointer // ShaderVariation* Batch::pixelShader_ // Not registered because pointer // hash64 Batch::sortKey_ engine->RegisterObjectProperty(className, "hash64 sortKey", offsetof(T, sortKey_)); // float Batch::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); // i8 Batch::renderOrder_ engine->RegisterObjectProperty(className, "int8 renderOrder", offsetof(T, renderOrder_)); // unsigned char Batch::lightMask_ engine->RegisterObjectProperty(className, "uint8 lightMask", offsetof(T, lightMask_)); // bool Batch::isBase_ engine->RegisterObjectProperty(className, "bool isBase", offsetof(T, isBase_)); // i32 Batch::numWorldTransforms_ engine->RegisterObjectProperty(className, "int numWorldTransforms", offsetof(T, numWorldTransforms_)); // GeometryType Batch::geometryType_ engine->RegisterObjectProperty(className, "GeometryType geometryType", offsetof(T, geometryType_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Batch REGISTER_MEMBERS_MANUAL_PART_Batch(); #endif } // struct BatchGroupKey | File: ../Graphics/Batch.h template void RegisterMembers_BatchGroupKey(asIScriptEngine* engine, const char* className) { // bool BatchGroupKey::operator !=(const BatchGroupKey& rhs) const // Only operator == is needed // bool BatchGroupKey::operator ==(const BatchGroupKey& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const BatchGroupKey&in) const", AS_METHODPR(T, operator==, (const BatchGroupKey&) const, bool), AS_CALL_THISCALL); // hash32 BatchGroupKey::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // Zone* BatchGroupKey::zone_ // Not registered because pointer // LightBatchQueue* BatchGroupKey::lightQueue_ // Not registered because pointer // Pass* BatchGroupKey::pass_ // Not registered because pointer // Material* BatchGroupKey::material_ // Not registered because pointer // Geometry* BatchGroupKey::geometry_ // Not registered because pointer // i8 BatchGroupKey::renderOrder_ engine->RegisterObjectProperty(className, "int8 renderOrder", offsetof(T, renderOrder_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BatchGroupKey REGISTER_MEMBERS_MANUAL_PART_BatchGroupKey(); #endif } // struct BatchQueue | File: ../Graphics/Batch.h template void RegisterMembers_BatchQueue(asIScriptEngine* engine, const char* className) { // void BatchQueue::SetInstancingData(void* lockedData, i32 stride, i32& freeIndex) // Error: type "void*" can not automatically bind // void BatchQueue::SortFrontToBack2Pass(Vector& batches) // Error: type "Vector&" can not automatically bind // void BatchQueue::Clear(int maxSortedInstances) engine->RegisterObjectMethod(className, "void Clear(int)", AS_METHODPR(T, Clear, (int), void), AS_CALL_THISCALL); // void BatchQueue::Draw(View* view, Camera* camera, bool markToStencil, bool usingLightOptimization, bool allowDepthWrite) const engine->RegisterObjectMethod(className, "void Draw(View@+, Camera@+, bool, bool, bool) const", AS_METHODPR(T, Draw, (View*, Camera*, bool, bool, bool) const, void), AS_CALL_THISCALL); // i32 BatchQueue::GetNumInstances() const engine->RegisterObjectMethod(className, "int GetNumInstances() const", AS_METHODPR(T, GetNumInstances, () const, i32), AS_CALL_THISCALL); // bool BatchQueue::IsEmpty() const engine->RegisterObjectMethod(className, "bool IsEmpty() const", AS_METHODPR(T, IsEmpty, () const, bool), AS_CALL_THISCALL); // void BatchQueue::SortBackToFront() engine->RegisterObjectMethod(className, "void SortBackToFront()", AS_METHODPR(T, SortBackToFront, (), void), AS_CALL_THISCALL); // void BatchQueue::SortFrontToBack() engine->RegisterObjectMethod(className, "void SortFrontToBack()", AS_METHODPR(T, SortFrontToBack, (), void), AS_CALL_THISCALL); // HashMap BatchQueue::batchGroups_ // Error: type "HashMap" can not automatically bind // HashMap BatchQueue::shaderRemapping_ // Error: type "HashMap" can not automatically bind // HashMap BatchQueue::materialRemapping_ // Error: type "HashMap" can not automatically bind // HashMap BatchQueue::geometryRemapping_ // Error: type "HashMap" can not automatically bind // Vector BatchQueue::batches_ // Error: type "Vector" can not automatically bind // Vector BatchQueue::sortedBatches_ // Error: type "Vector" can not automatically bind // Vector BatchQueue::sortedBatchGroups_ // Error: type "Vector" can not automatically bind // i32 BatchQueue::maxSortedInstances_ engine->RegisterObjectProperty(className, "int maxSortedInstances", offsetof(T, maxSortedInstances_)); // bool BatchQueue::hasExtraDefines_ engine->RegisterObjectProperty(className, "bool hasExtraDefines", offsetof(T, hasExtraDefines_)); // String BatchQueue::vsExtraDefines_ engine->RegisterObjectProperty(className, "String vsExtraDefines", offsetof(T, vsExtraDefines_)); // String BatchQueue::psExtraDefines_ engine->RegisterObjectProperty(className, "String psExtraDefines", offsetof(T, psExtraDefines_)); // StringHash BatchQueue::vsExtraDefinesHash_ engine->RegisterObjectProperty(className, "StringHash vsExtraDefinesHash", offsetof(T, vsExtraDefinesHash_)); // StringHash BatchQueue::psExtraDefinesHash_ engine->RegisterObjectProperty(className, "StringHash psExtraDefinesHash", offsetof(T, psExtraDefinesHash_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BatchQueue REGISTER_MEMBERS_MANUAL_PART_BatchQueue(); #endif } // struct BiasParameters | File: ../Graphics/Light.h template void RegisterMembers_BiasParameters(asIScriptEngine* engine, const char* className) { // void BiasParameters::Validate() engine->RegisterObjectMethod(className, "void Validate()", AS_METHODPR(T, Validate, (), void), AS_CALL_THISCALL); // float BiasParameters::constantBias_ engine->RegisterObjectProperty(className, "float constantBias", offsetof(T, constantBias_)); // float BiasParameters::slopeScaledBias_ engine->RegisterObjectProperty(className, "float slopeScaledBias", offsetof(T, slopeScaledBias_)); // float BiasParameters::normalOffset_ engine->RegisterObjectProperty(className, "float normalOffset", offsetof(T, normalOffset_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BiasParameters REGISTER_MEMBERS_MANUAL_PART_BiasParameters(); #endif } // BigInt BigInt::operator ++(int x) template BigInt BigInt_BigInt_operatorplusplus_int_template(T* _ptr) { int x{}; BigInt result = _ptr->operator++(x); return result; } // BigInt BigInt::operator --(int x) template BigInt BigInt_BigInt_operatorminmin_int_template(T* _ptr) { int x{}; BigInt result = _ptr->operator--(x); return result; } // bool BigInt::operator <(const BigInt& rhs) const template int BigInt_bool_operatorles_constspBigIntamp(const T& lhs, const T& rhs) { if (lhs < rhs) return -1; if (lhs > rhs) return 1; return 0; } // class BigInt | File: ../Math/BigInt.h template void RegisterMembers_BigInt(asIScriptEngine* engine, const char* className) { // bool BigInt::operator !=(const BigInt& rhs) const // Only operator == is needed // bool BigInt::operator <(const BigInt& rhs) const // Registerd as opCmp separately // bool BigInt::operator <=(const BigInt& rhs) const // Registerd as opCmp separately // bool BigInt::operator >(const BigInt& rhs) const // Registerd as opCmp separately // bool BigInt::operator <=(const BigInt& rhs) const // Registerd as opCmp separately // bool BigInt::IsNegative() const engine->RegisterObjectMethod(className, "bool IsNegative() const", AS_METHODPR(T, IsNegative, () const, bool), AS_CALL_THISCALL); // bool BigInt::IsPositive() const engine->RegisterObjectMethod(className, "bool IsPositive() const", AS_METHODPR(T, IsPositive, () const, bool), AS_CALL_THISCALL); // bool BigInt::IsZero() const engine->RegisterObjectMethod(className, "bool IsZero() const", AS_METHODPR(T, IsZero, () const, bool), AS_CALL_THISCALL); // BigInt BigInt::operator %(const BigInt& rhs) const engine->RegisterObjectMethod(className, "BigInt opMod(const BigInt&in) const", AS_METHODPR(T, operator%, (const BigInt&) const, BigInt), AS_CALL_THISCALL); // BigInt& BigInt::operator %=(const BigInt& rhs) engine->RegisterObjectMethod(className, "BigInt& opModAssign(const BigInt&in)", AS_METHODPR(T, operator%=, (const BigInt&), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator *(const BigInt& rhs) const engine->RegisterObjectMethod(className, "BigInt opMul(const BigInt&in) const", AS_METHODPR(T, operator*, (const BigInt&) const, BigInt), AS_CALL_THISCALL); // BigInt& BigInt::operator *=(const BigInt& rhs) engine->RegisterObjectMethod(className, "BigInt& opMulAssign(const BigInt&in)", AS_METHODPR(T, operator*=, (const BigInt&), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator +(const BigInt& rhs) const engine->RegisterObjectMethod(className, "BigInt opAdd(const BigInt&in) const", AS_METHODPR(T, operator+, (const BigInt&) const, BigInt), AS_CALL_THISCALL); // BigInt& BigInt::operator ++() engine->RegisterObjectMethod(className, "BigInt& opPreInc()", AS_METHODPR(T, operator++, (), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator ++(int x) engine->RegisterObjectMethod(className, "BigInt opPostInc()", AS_FUNCTION_OBJFIRST(BigInt_BigInt_operatorplusplus_int_template), AS_CALL_CDECL_OBJFIRST); // BigInt& BigInt::operator +=(const BigInt& rhs) engine->RegisterObjectMethod(className, "BigInt& opAddAssign(const BigInt&in)", AS_METHODPR(T, operator+=, (const BigInt&), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator -(const BigInt& rhs) const engine->RegisterObjectMethod(className, "BigInt opSub(const BigInt&in) const", AS_METHODPR(T, operator-, (const BigInt&) const, BigInt), AS_CALL_THISCALL); // BigInt BigInt::operator -() const engine->RegisterObjectMethod(className, "BigInt opNeg() const", AS_METHODPR(T, operator-, () const, BigInt), AS_CALL_THISCALL); // BigInt& BigInt::operator --() engine->RegisterObjectMethod(className, "BigInt& opPreDec()", AS_METHODPR(T, operator--, (), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator --(int x) engine->RegisterObjectMethod(className, "BigInt opPostDec()", AS_FUNCTION_OBJFIRST(BigInt_BigInt_operatorminmin_int_template), AS_CALL_CDECL_OBJFIRST); // BigInt& BigInt::operator -=(const BigInt& rhs) engine->RegisterObjectMethod(className, "BigInt& opSubAssign(const BigInt&in)", AS_METHODPR(T, operator-=, (const BigInt&), BigInt&), AS_CALL_THISCALL); // BigInt BigInt::operator /(const BigInt& rhs) const engine->RegisterObjectMethod(className, "BigInt opDiv(const BigInt&in) const", AS_METHODPR(T, operator/, (const BigInt&) const, BigInt), AS_CALL_THISCALL); // BigInt& BigInt::operator /=(const BigInt& rhs) engine->RegisterObjectMethod(className, "BigInt& opDivAssign(const BigInt&in)", AS_METHODPR(T, operator/=, (const BigInt&), BigInt&), AS_CALL_THISCALL); // bool BigInt::operator ==(const BigInt& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const BigInt&in) const", AS_METHODPR(T, operator==, (const BigInt&) const, bool), AS_CALL_THISCALL); // String BigInt::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // bool BigInt::operator <(const BigInt& rhs) const engine->RegisterObjectMethod(className, "int opCmp(const BigInt& in) const", AS_FUNCTION_OBJFIRST(BigInt_bool_operatorles_constspBigIntamp), AS_CALL_CDECL_OBJFIRST); #ifdef REGISTER_MEMBERS_MANUAL_PART_BigInt REGISTER_MEMBERS_MANUAL_PART_BigInt(); #endif } // struct Billboard | File: ../Graphics/BillboardSet.h template void RegisterMembers_Billboard(asIScriptEngine* engine, const char* className) { // Vector3 Billboard::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector2 Billboard::size_ engine->RegisterObjectProperty(className, "Vector2 size", offsetof(T, size_)); // Rect Billboard::uv_ engine->RegisterObjectProperty(className, "Rect uv", offsetof(T, uv_)); // Color Billboard::color_ engine->RegisterObjectProperty(className, "Color color", offsetof(T, color_)); // float Billboard::rotation_ engine->RegisterObjectProperty(className, "float rotation", offsetof(T, rotation_)); // Vector3 Billboard::direction_ engine->RegisterObjectProperty(className, "Vector3 direction", offsetof(T, direction_)); // bool Billboard::enabled_ engine->RegisterObjectProperty(className, "bool enabled", offsetof(T, enabled_)); // float Billboard::sortDistance_ engine->RegisterObjectProperty(className, "float sortDistance", offsetof(T, sortDistance_)); // float Billboard::screenScaleFactor_ engine->RegisterObjectProperty(className, "float screenScaleFactor", offsetof(T, screenScaleFactor_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Billboard REGISTER_MEMBERS_MANUAL_PART_Billboard(); #endif } // struct Bone | File: ../Graphics/Skeleton.h template void RegisterMembers_Bone(asIScriptEngine* engine, const char* className) { // WeakPtr Bone::node_ // Error: type "WeakPtr" can not automatically bind // String Bone::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // StringHash Bone::nameHash_ engine->RegisterObjectProperty(className, "StringHash nameHash", offsetof(T, nameHash_)); // i32 Bone::parentIndex_ engine->RegisterObjectProperty(className, "int parentIndex", offsetof(T, parentIndex_)); // Vector3 Bone::initialPosition_ engine->RegisterObjectProperty(className, "Vector3 initialPosition", offsetof(T, initialPosition_)); // Quaternion Bone::initialRotation_ engine->RegisterObjectProperty(className, "Quaternion initialRotation", offsetof(T, initialRotation_)); // Vector3 Bone::initialScale_ engine->RegisterObjectProperty(className, "Vector3 initialScale", offsetof(T, initialScale_)); // Matrix3x4 Bone::offsetMatrix_ engine->RegisterObjectProperty(className, "Matrix3x4 offsetMatrix", offsetof(T, offsetMatrix_)); // bool Bone::animated_ engine->RegisterObjectProperty(className, "bool animated", offsetof(T, animated_)); // BoneCollisionShapeFlags Bone::collisionMask_ engine->RegisterObjectProperty(className, "BoneCollisionShapeFlags collisionMask", offsetof(T, collisionMask_)); // float Bone::radius_ engine->RegisterObjectProperty(className, "float radius", offsetof(T, radius_)); // BoundingBox Bone::boundingBox_ engine->RegisterObjectProperty(className, "BoundingBox boundingBox", offsetof(T, boundingBox_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Bone REGISTER_MEMBERS_MANUAL_PART_Bone(); #endif } // class BoundingBox | File: ../Math/BoundingBox.h template void RegisterMembers_BoundingBox(asIScriptEngine* engine, const char* className) { // void BoundingBox::Define(const Vector3* vertices, unsigned count) // Error: type "const Vector3*" can not automatically bind // void BoundingBox::Merge(const Vector3* vertices, unsigned count) // Error: type "const Vector3*" can not automatically bind // bool BoundingBox::operator !=(const BoundingBox& rhs) const // Only operator == is needed // Vector3 BoundingBox::Center() const engine->RegisterObjectMethod(className, "Vector3 Center() const", AS_METHODPR(T, Center, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_center() const", AS_METHODPR(T, Center, () const, Vector3), AS_CALL_THISCALL); // void BoundingBox::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void BoundingBox::Clip(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Clip(const BoundingBox&in)", AS_METHODPR(T, Clip, (const BoundingBox&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Define(const BoundingBox&in)", AS_METHODPR(T, Define, (const BoundingBox&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Rect& rect) engine->RegisterObjectMethod(className, "void Define(const Rect&in)", AS_METHODPR(T, Define, (const Rect&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Vector3& min, const Vector3& max) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, const Vector3&in)", AS_METHODPR(T, Define, (const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void BoundingBox::Define(float min, float max) engine->RegisterObjectMethod(className, "void Define(float, float)", AS_METHODPR(T, Define, (float, float), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Vector3& point) engine->RegisterObjectMethod(className, "void Define(const Vector3&in)", AS_METHODPR(T, Define, (const Vector3&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Define(const Frustum&in)", AS_METHODPR(T, Define, (const Frustum&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Polyhedron& poly) engine->RegisterObjectMethod(className, "void Define(const Polyhedron&in)", AS_METHODPR(T, Define, (const Polyhedron&), void), AS_CALL_THISCALL); // void BoundingBox::Define(const Sphere& sphere) engine->RegisterObjectMethod(className, "void Define(const Sphere&in)", AS_METHODPR(T, Define, (const Sphere&), void), AS_CALL_THISCALL); // bool BoundingBox::Defined() const engine->RegisterObjectMethod(className, "bool Defined() const", AS_METHODPR(T, Defined, () const, bool), AS_CALL_THISCALL); // float BoundingBox::DistanceToPoint(const Vector3& point) const engine->RegisterObjectMethod(className, "float DistanceToPoint(const Vector3&in) const", AS_METHODPR(T, DistanceToPoint, (const Vector3&) const, float), AS_CALL_THISCALL); // Vector3 BoundingBox::HalfSize() const engine->RegisterObjectMethod(className, "Vector3 HalfSize() const", AS_METHODPR(T, HalfSize, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_halfSize() const", AS_METHODPR(T, HalfSize, () const, Vector3), AS_CALL_THISCALL); // Intersection BoundingBox::IsInside(const Vector3& point) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Vector3&in) const", AS_METHODPR(T, IsInside, (const Vector3&) const, Intersection), AS_CALL_THISCALL); // Intersection BoundingBox::IsInside(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInside(const BoundingBox&in) const", AS_METHODPR(T, IsInside, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // Intersection BoundingBox::IsInside(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Sphere&in) const", AS_METHODPR(T, IsInside, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // Intersection BoundingBox::IsInsideFast(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const BoundingBox&in) const", AS_METHODPR(T, IsInsideFast, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // Intersection BoundingBox::IsInsideFast(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const Sphere&in) const", AS_METHODPR(T, IsInsideFast, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // void BoundingBox::Merge(const Vector3& point) engine->RegisterObjectMethod(className, "void Merge(const Vector3&in)", AS_METHODPR(T, Merge, (const Vector3&), void), AS_CALL_THISCALL); // void BoundingBox::Merge(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Merge(const BoundingBox&in)", AS_METHODPR(T, Merge, (const BoundingBox&), void), AS_CALL_THISCALL); // void BoundingBox::Merge(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Merge(const Frustum&in)", AS_METHODPR(T, Merge, (const Frustum&), void), AS_CALL_THISCALL); // void BoundingBox::Merge(const Polyhedron& poly) engine->RegisterObjectMethod(className, "void Merge(const Polyhedron&in)", AS_METHODPR(T, Merge, (const Polyhedron&), void), AS_CALL_THISCALL); // void BoundingBox::Merge(const Sphere& sphere) engine->RegisterObjectMethod(className, "void Merge(const Sphere&in)", AS_METHODPR(T, Merge, (const Sphere&), void), AS_CALL_THISCALL); // BoundingBox& BoundingBox::operator =(const BoundingBox& rhs) noexcept engine->RegisterObjectMethod(className, "BoundingBox& opAssign(const BoundingBox&in)", AS_METHODPR(T, operator=, (const BoundingBox&), BoundingBox&), AS_CALL_THISCALL); // BoundingBox& BoundingBox::operator =(const Rect& rhs) noexcept engine->RegisterObjectMethod(className, "BoundingBox& opAssign(const Rect&in)", AS_METHODPR(T, operator=, (const Rect&), BoundingBox&), AS_CALL_THISCALL); // bool BoundingBox::operator ==(const BoundingBox& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const BoundingBox&in) const", AS_METHODPR(T, operator==, (const BoundingBox&) const, bool), AS_CALL_THISCALL); // Rect BoundingBox::Projected(const Matrix4& projection) const engine->RegisterObjectMethod(className, "Rect Projected(const Matrix4&in) const", AS_METHODPR(T, Projected, (const Matrix4&) const, Rect), AS_CALL_THISCALL); // Vector3 BoundingBox::Size() const engine->RegisterObjectMethod(className, "Vector3 Size() const", AS_METHODPR(T, Size, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_size() const", AS_METHODPR(T, Size, () const, Vector3), AS_CALL_THISCALL); // String BoundingBox::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // void BoundingBox::Transform(const Matrix3& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3&in)", AS_METHODPR(T, Transform, (const Matrix3&), void), AS_CALL_THISCALL); // void BoundingBox::Transform(const Matrix3x4& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3x4&in)", AS_METHODPR(T, Transform, (const Matrix3x4&), void), AS_CALL_THISCALL); // BoundingBox BoundingBox::Transformed(const Matrix3& transform) const engine->RegisterObjectMethod(className, "BoundingBox Transformed(const Matrix3&in) const", AS_METHODPR(T, Transformed, (const Matrix3&) const, BoundingBox), AS_CALL_THISCALL); // BoundingBox BoundingBox::Transformed(const Matrix3x4& transform) const engine->RegisterObjectMethod(className, "BoundingBox Transformed(const Matrix3x4&in) const", AS_METHODPR(T, Transformed, (const Matrix3x4&) const, BoundingBox), AS_CALL_THISCALL); // Vector3 BoundingBox::min_ engine->RegisterObjectProperty(className, "Vector3 min", offsetof(T, min_)); // float BoundingBox::dummyMin_ engine->RegisterObjectProperty(className, "float dummyMin", offsetof(T, dummyMin_)); // Vector3 BoundingBox::max_ engine->RegisterObjectProperty(className, "Vector3 max", offsetof(T, max_)); // float BoundingBox::dummyMax_ engine->RegisterObjectProperty(className, "float dummyMax", offsetof(T, dummyMax_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BoundingBox REGISTER_MEMBERS_MANUAL_PART_BoundingBox(); #endif } // struct CascadeParameters | File: ../Graphics/Light.h template void RegisterMembers_CascadeParameters(asIScriptEngine* engine, const char* className) { // float CascadeParameters::GetShadowRange() const engine->RegisterObjectMethod(className, "float GetShadowRange() const", AS_METHODPR(T, GetShadowRange, () const, float), AS_CALL_THISCALL); // void CascadeParameters::Validate() engine->RegisterObjectMethod(className, "void Validate()", AS_METHODPR(T, Validate, (), void), AS_CALL_THISCALL); // Vector4 CascadeParameters::splits_ engine->RegisterObjectProperty(className, "Vector4 splits", offsetof(T, splits_)); // float CascadeParameters::fadeStart_ engine->RegisterObjectProperty(className, "float fadeStart", offsetof(T, fadeStart_)); // float CascadeParameters::biasAutoAdjust_ engine->RegisterObjectProperty(className, "float biasAutoAdjust", offsetof(T, biasAutoAdjust_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CascadeParameters REGISTER_MEMBERS_MANUAL_PART_CascadeParameters(); #endif } // struct CharLocation | File: ../UI/Text.h template void RegisterMembers_CharLocation(asIScriptEngine* engine, const char* className) { // Vector2 CharLocation::position_ engine->RegisterObjectProperty(className, "Vector2 position", offsetof(T, position_)); // Vector2 CharLocation::size_ engine->RegisterObjectProperty(className, "Vector2 size", offsetof(T, size_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CharLocation REGISTER_MEMBERS_MANUAL_PART_CharLocation(); #endif } // class Color | File: ../Math/Color.h template void RegisterMembers_Color(asIScriptEngine* engine, const char* className) { // void Color::Bounds(float* min, float* max, bool clipped = false) const // Error: type "float*" can not automatically bind // const float* Color::Data() const // Error: type "const float*" can not automatically bind // void Color::FromU32(color32 color, const ChannelMask& mask) // Error: type "const ChannelMask&" can not automatically bind // bool Color::operator !=(const Color& rhs) const // Only operator == is needed // color32 Color::ToU32(const ChannelMask& mask) const // Error: type "const ChannelMask&" can not automatically bind // Color Color::Abs() const engine->RegisterObjectMethod(className, "Color Abs() const", AS_METHODPR(T, Abs, () const, Color), AS_CALL_THISCALL); // float Color::Average() const engine->RegisterObjectMethod(className, "float Average() const", AS_METHODPR(T, Average, () const, float), AS_CALL_THISCALL); // float Color::Chroma() const engine->RegisterObjectMethod(className, "float Chroma() const", AS_METHODPR(T, Chroma, () const, float), AS_CALL_THISCALL); // void Color::Clip(bool clipAlpha = false) engine->RegisterObjectMethod(className, "void Clip(bool = false)", AS_METHODPR(T, Clip, (bool), void), AS_CALL_THISCALL); // bool Color::Equals(const Color& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Color&in) const", AS_METHODPR(T, Equals, (const Color&) const, bool), AS_CALL_THISCALL); // void Color::FromHSL(float h, float s, float l, float a = 1.0f) engine->RegisterObjectMethod(className, "void FromHSL(float, float, float, float = 1.0f)", AS_METHODPR(T, FromHSL, (float, float, float, float), void), AS_CALL_THISCALL); // void Color::FromHSV(float h, float s, float v, float a = 1.0f) engine->RegisterObjectMethod(className, "void FromHSV(float, float, float, float = 1.0f)", AS_METHODPR(T, FromHSV, (float, float, float, float), void), AS_CALL_THISCALL); // void Color::FromU32(color32 color) engine->RegisterObjectMethod(className, "void FromU32(color32)", AS_METHODPR(T, FromU32, (color32), void), AS_CALL_THISCALL); // Color Color::GammaToLinear() const engine->RegisterObjectMethod(className, "Color GammaToLinear() const", AS_METHODPR(T, GammaToLinear, () const, Color), AS_CALL_THISCALL); // float Color::Hue() const engine->RegisterObjectMethod(className, "float Hue() const", AS_METHODPR(T, Hue, () const, float), AS_CALL_THISCALL); // void Color::Invert(bool invertAlpha = false) engine->RegisterObjectMethod(className, "void Invert(bool = false)", AS_METHODPR(T, Invert, (bool), void), AS_CALL_THISCALL); // Color Color::Lerp(const Color& rhs, float t) const engine->RegisterObjectMethod(className, "Color Lerp(const Color&in, float) const", AS_METHODPR(T, Lerp, (const Color&, float) const, Color), AS_CALL_THISCALL); // float Color::Lightness() const engine->RegisterObjectMethod(className, "float Lightness() const", AS_METHODPR(T, Lightness, () const, float), AS_CALL_THISCALL); // Color Color::LinearToGamma() const engine->RegisterObjectMethod(className, "Color LinearToGamma() const", AS_METHODPR(T, LinearToGamma, () const, Color), AS_CALL_THISCALL); // float Color::Luma() const engine->RegisterObjectMethod(className, "float Luma() const", AS_METHODPR(T, Luma, () const, float), AS_CALL_THISCALL); // float Color::MaxRGB() const engine->RegisterObjectMethod(className, "float MaxRGB() const", AS_METHODPR(T, MaxRGB, () const, float), AS_CALL_THISCALL); // float Color::MinRGB() const engine->RegisterObjectMethod(className, "float MinRGB() const", AS_METHODPR(T, MinRGB, () const, float), AS_CALL_THISCALL); // Color Color::operator *(float rhs) const engine->RegisterObjectMethod(className, "Color opMul(float) const", AS_METHODPR(T, operator*, (float) const, Color), AS_CALL_THISCALL); // Color Color::operator +(const Color& rhs) const engine->RegisterObjectMethod(className, "Color opAdd(const Color&in) const", AS_METHODPR(T, operator+, (const Color&) const, Color), AS_CALL_THISCALL); // Color& Color::operator +=(const Color& rhs) engine->RegisterObjectMethod(className, "Color& opAddAssign(const Color&in)", AS_METHODPR(T, operator+=, (const Color&), Color&), AS_CALL_THISCALL); // Color Color::operator -() const engine->RegisterObjectMethod(className, "Color opNeg() const", AS_METHODPR(T, operator-, () const, Color), AS_CALL_THISCALL); // Color Color::operator -(const Color& rhs) const engine->RegisterObjectMethod(className, "Color opSub(const Color&in) const", AS_METHODPR(T, operator-, (const Color&) const, Color), AS_CALL_THISCALL); // Color& Color::operator =(const Color& rhs) noexcept = default engine->RegisterObjectMethod(className, "Color& opAssign(const Color&in)", AS_METHODPR(T, operator=, (const Color&), Color&), AS_CALL_THISCALL); // bool Color::operator ==(const Color& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Color&in) const", AS_METHODPR(T, operator==, (const Color&) const, bool), AS_CALL_THISCALL); // float Color::Range() const engine->RegisterObjectMethod(className, "float Range() const", AS_METHODPR(T, Range, () const, float), AS_CALL_THISCALL); // float Color::SaturationHSL() const engine->RegisterObjectMethod(className, "float SaturationHSL() const", AS_METHODPR(T, SaturationHSL, () const, float), AS_CALL_THISCALL); // float Color::SaturationHSV() const engine->RegisterObjectMethod(className, "float SaturationHSV() const", AS_METHODPR(T, SaturationHSV, () const, float), AS_CALL_THISCALL); // float Color::SumRGB() const engine->RegisterObjectMethod(className, "float SumRGB() const", AS_METHODPR(T, SumRGB, () const, float), AS_CALL_THISCALL); // hash32 Color::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // Vector3 Color::ToHSL() const engine->RegisterObjectMethod(className, "Vector3 ToHSL() const", AS_METHODPR(T, ToHSL, () const, Vector3), AS_CALL_THISCALL); // Vector3 Color::ToHSV() const engine->RegisterObjectMethod(className, "Vector3 ToHSV() const", AS_METHODPR(T, ToHSV, () const, Vector3), AS_CALL_THISCALL); // String Color::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // color32 Color::ToU32() const engine->RegisterObjectMethod(className, "color32 ToU32() const", AS_METHODPR(T, ToU32, () const, color32), AS_CALL_THISCALL); // color32 Color::ToU32Argb() const engine->RegisterObjectMethod(className, "color32 ToU32Argb() const", AS_METHODPR(T, ToU32Argb, () const, color32), AS_CALL_THISCALL); // Vector3 Color::ToVector3() const engine->RegisterObjectMethod(className, "Vector3 ToVector3() const", AS_METHODPR(T, ToVector3, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_rgb() const", AS_METHODPR(T, ToVector3, () const, Vector3), AS_CALL_THISCALL); // Vector4 Color::ToVector4() const engine->RegisterObjectMethod(className, "Vector4 ToVector4() const", AS_METHODPR(T, ToVector4, () const, Vector4), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector4 get_rgba() const", AS_METHODPR(T, ToVector4, () const, Vector4), AS_CALL_THISCALL); // float Color::Value() const engine->RegisterObjectMethod(className, "float Value() const", AS_METHODPR(T, Value, () const, float), AS_CALL_THISCALL); // static float Color::ConvertGammaToLinear(float value) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("float ConvertGammaToLinear(float)", AS_FUNCTIONPR(T::ConvertGammaToLinear, (float), float), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static float Color::ConvertLinearToGamma(float value) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("float ConvertLinearToGamma(float)", AS_FUNCTIONPR(T::ConvertLinearToGamma, (float), float), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // float Color::r_ engine->RegisterObjectProperty(className, "float r", offsetof(T, r_)); // float Color::g_ engine->RegisterObjectProperty(className, "float g", offsetof(T, g_)); // float Color::b_ engine->RegisterObjectProperty(className, "float b", offsetof(T, b_)); // float Color::a_ engine->RegisterObjectProperty(className, "float a", offsetof(T, a_)); // static const ChannelMask Color::ABGR // Error: type "const ChannelMask" can not automatically bind // static const ChannelMask Color::ARGB // Error: type "const ChannelMask" can not automatically bind // static const Color Color::WHITE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color WHITE", (void*)&T::WHITE);engine->SetDefaultNamespace(""); // static const Color Color::GRAY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color GRAY", (void*)&T::GRAY);engine->SetDefaultNamespace(""); // static const Color Color::BLACK engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color BLACK", (void*)&T::BLACK);engine->SetDefaultNamespace(""); // static const Color Color::RED engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color RED", (void*)&T::RED);engine->SetDefaultNamespace(""); // static const Color Color::GREEN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color GREEN", (void*)&T::GREEN);engine->SetDefaultNamespace(""); // static const Color Color::BLUE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color BLUE", (void*)&T::BLUE);engine->SetDefaultNamespace(""); // static const Color Color::CYAN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color CYAN", (void*)&T::CYAN);engine->SetDefaultNamespace(""); // static const Color Color::MAGENTA engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color MAGENTA", (void*)&T::MAGENTA);engine->SetDefaultNamespace(""); // static const Color Color::YELLOW engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color YELLOW", (void*)&T::YELLOW);engine->SetDefaultNamespace(""); // static const Color Color::TRANSPARENT_BLACK engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Color TRANSPARENT_BLACK", (void*)&T::TRANSPARENT_BLACK);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Color REGISTER_MEMBERS_MANUAL_PART_Color(); #endif } // struct ColorFrame | File: ../Graphics/ParticleEffect.h template void RegisterMembers_ColorFrame(asIScriptEngine* engine, const char* className) { // Color ColorFrame::Interpolate(const ColorFrame& next, float time) const engine->RegisterObjectMethod(className, "Color Interpolate(const ColorFrame&in, float) const", AS_METHODPR(T, Interpolate, (const ColorFrame&, float) const, Color), AS_CALL_THISCALL); // Color ColorFrame::color_ engine->RegisterObjectProperty(className, "Color color", offsetof(T, color_)); // float ColorFrame::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ColorFrame REGISTER_MEMBERS_MANUAL_PART_ColorFrame(); #endif } // struct CompressedLevel | File: ../Resource/Image.h template void RegisterMembers_CompressedLevel(asIScriptEngine* engine, const char* className) { // bool CompressedLevel::Decompress(unsigned char* dest) const // Error: type "unsigned char*" can not automatically bind // unsigned char* CompressedLevel::data_ // Not registered because pointer // CompressedFormat CompressedLevel::format_ engine->RegisterObjectProperty(className, "CompressedFormat format", offsetof(T, format_)); // int CompressedLevel::width_ engine->RegisterObjectProperty(className, "int width", offsetof(T, width_)); // int CompressedLevel::height_ engine->RegisterObjectProperty(className, "int height", offsetof(T, height_)); // int CompressedLevel::depth_ engine->RegisterObjectProperty(className, "int depth", offsetof(T, depth_)); // unsigned CompressedLevel::blockSize_ engine->RegisterObjectProperty(className, "uint blockSize", offsetof(T, blockSize_)); // unsigned CompressedLevel::dataSize_ engine->RegisterObjectProperty(className, "uint dataSize", offsetof(T, dataSize_)); // unsigned CompressedLevel::rowSize_ engine->RegisterObjectProperty(className, "uint rowSize", offsetof(T, rowSize_)); // unsigned CompressedLevel::rows_ engine->RegisterObjectProperty(className, "uint rows", offsetof(T, rows_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CompressedLevel REGISTER_MEMBERS_MANUAL_PART_CompressedLevel(); #endif } // class Condition | File: ../Core/Condition.h template void RegisterMembers_Condition(asIScriptEngine* engine, const char* className) { // void Condition::Set() engine->RegisterObjectMethod(className, "void Set()", AS_METHODPR(T, Set, (), void), AS_CALL_THISCALL); // void Condition::Wait() engine->RegisterObjectMethod(className, "void Wait()", AS_METHODPR(T, Wait, (), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Condition REGISTER_MEMBERS_MANUAL_PART_Condition(); #endif } // class Controls | File: ../Input/Controls.h template void RegisterMembers_Controls(asIScriptEngine* engine, const char* className) { // bool Controls::IsDown(unsigned button) const engine->RegisterObjectMethod(className, "bool IsDown(uint) const", AS_METHODPR(T, IsDown, (unsigned) const, bool), AS_CALL_THISCALL); // bool Controls::IsPressed(unsigned button, const Controls& previousControls) const engine->RegisterObjectMethod(className, "bool IsPressed(uint, const Controls&in) const", AS_METHODPR(T, IsPressed, (unsigned, const Controls&) const, bool), AS_CALL_THISCALL); // void Controls::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); // void Controls::Set(unsigned buttons, bool down = true) engine->RegisterObjectMethod(className, "void Set(uint, bool = true)", AS_METHODPR(T, Set, (unsigned, bool), void), AS_CALL_THISCALL); // unsigned Controls::buttons_ engine->RegisterObjectProperty(className, "uint buttons", offsetof(T, buttons_)); // float Controls::yaw_ engine->RegisterObjectProperty(className, "float yaw", offsetof(T, yaw_)); // float Controls::pitch_ engine->RegisterObjectProperty(className, "float pitch", offsetof(T, pitch_)); // VariantMap Controls::extraData_ engine->RegisterObjectProperty(className, "VariantMap extraData", offsetof(T, extraData_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Controls REGISTER_MEMBERS_MANUAL_PART_Controls(); #endif } // struct CursorShapeInfo | File: ../UI/Cursor.h template void RegisterMembers_CursorShapeInfo(asIScriptEngine* engine, const char* className) { // SharedPtr CursorShapeInfo::image_ // Error: type "SharedPtr" can not automatically bind // SharedPtr CursorShapeInfo::texture_ // Error: type "SharedPtr" can not automatically bind // SDL_Cursor* CursorShapeInfo::osCursor_ // Not registered because pointer // IntRect CursorShapeInfo::imageRect_ engine->RegisterObjectProperty(className, "IntRect imageRect", offsetof(T, imageRect_)); // IntVector2 CursorShapeInfo::hotSpot_ engine->RegisterObjectProperty(className, "IntVector2 hotSpot", offsetof(T, hotSpot_)); // bool CursorShapeInfo::systemDefined_ engine->RegisterObjectProperty(className, "bool systemDefined", offsetof(T, systemDefined_)); // int CursorShapeInfo::systemCursor_ engine->RegisterObjectProperty(className, "int systemCursor", offsetof(T, systemCursor_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CursorShapeInfo REGISTER_MEMBERS_MANUAL_PART_CursorShapeInfo(); #endif } // struct CustomGeometryVertex | File: ../Graphics/CustomGeometry.h template void RegisterMembers_CustomGeometryVertex(asIScriptEngine* engine, const char* className) { // Vector3 CustomGeometryVertex::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector3 CustomGeometryVertex::normal_ engine->RegisterObjectProperty(className, "Vector3 normal", offsetof(T, normal_)); // color32 CustomGeometryVertex::color_ engine->RegisterObjectProperty(className, "color32 color", offsetof(T, color_)); // Vector2 CustomGeometryVertex::texCoord_ engine->RegisterObjectProperty(className, "Vector2 texCoord", offsetof(T, texCoord_)); // Vector4 CustomGeometryVertex::tangent_ engine->RegisterObjectProperty(className, "Vector4 tangent", offsetof(T, tangent_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CustomGeometryVertex REGISTER_MEMBERS_MANUAL_PART_CustomGeometryVertex(); #endif } // class CustomVariantValue | File: ../Core/Variant.h template void RegisterMembers_CustomVariantValue(asIScriptEngine* engine, const char* className) { // virtual bool CustomVariantValue::Assign(const CustomVariantValue& rhs) // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // virtual CustomVariantValue* CustomVariantValue::Clone() const // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // virtual void CustomVariantValue::Clone(void* dest) const // Error: type "void*" can not automatically bind // virtual bool CustomVariantValue::Compare(const CustomVariantValue& rhs) const // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // const std::type_info& CustomVariantValue::GetTypeInfo() const // Error: type "const std::type_info&" can not automatically bind // virtual unsigned CustomVariantValue::GetSize() const engine->RegisterObjectMethod(className, "uint GetSize() const", AS_METHODPR(T, GetSize, () const, unsigned), AS_CALL_THISCALL); // virtual bool CustomVariantValue::IsZero() const engine->RegisterObjectMethod(className, "bool IsZero() const", AS_METHODPR(T, IsZero, () const, bool), AS_CALL_THISCALL); // virtual String CustomVariantValue::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // template T* CustomVariantValue::GetValuePtr() // Not registered because template // template const T* CustomVariantValue::GetValuePtr() const // Not registered because template // template bool CustomVariantValue::IsType() const // Not registered because template #ifdef REGISTER_MEMBERS_MANUAL_PART_CustomVariantValue REGISTER_MEMBERS_MANUAL_PART_CustomVariantValue(); #endif } // struct DebugLine | File: ../Graphics/DebugRenderer.h template void RegisterMembers_DebugLine(asIScriptEngine* engine, const char* className) { // Vector3 DebugLine::start_ engine->RegisterObjectProperty(className, "Vector3 start", offsetof(T, start_)); // Vector3 DebugLine::end_ engine->RegisterObjectProperty(className, "Vector3 end", offsetof(T, end_)); // unsigned DebugLine::color_ engine->RegisterObjectProperty(className, "uint color", offsetof(T, color_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DebugLine REGISTER_MEMBERS_MANUAL_PART_DebugLine(); #endif } // struct DebugTriangle | File: ../Graphics/DebugRenderer.h template void RegisterMembers_DebugTriangle(asIScriptEngine* engine, const char* className) { // Vector3 DebugTriangle::v1_ engine->RegisterObjectProperty(className, "Vector3 v1", offsetof(T, v1_)); // Vector3 DebugTriangle::v2_ engine->RegisterObjectProperty(className, "Vector3 v2", offsetof(T, v2_)); // Vector3 DebugTriangle::v3_ engine->RegisterObjectProperty(className, "Vector3 v3", offsetof(T, v3_)); // unsigned DebugTriangle::color_ engine->RegisterObjectProperty(className, "uint color", offsetof(T, color_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DebugTriangle REGISTER_MEMBERS_MANUAL_PART_DebugTriangle(); #endif } // struct Decal | File: ../Graphics/DecalSet.h template void RegisterMembers_Decal(asIScriptEngine* engine, const char* className) { // void Decal::AddVertex(const DecalVertex& vertex) engine->RegisterObjectMethod(className, "void AddVertex(const DecalVertex&in)", AS_METHODPR(T, AddVertex, (const DecalVertex&), void), AS_CALL_THISCALL); // void Decal::CalculateBoundingBox() engine->RegisterObjectMethod(className, "void CalculateBoundingBox()", AS_METHODPR(T, CalculateBoundingBox, (), void), AS_CALL_THISCALL); // Vector Decal::vertices_ // Error: type "Vector" can not automatically bind // Vector Decal::indices_ // Error: type "Vector" can not automatically bind // float Decal::timer_ engine->RegisterObjectProperty(className, "float timer", offsetof(T, timer_)); // float Decal::timeToLive_ engine->RegisterObjectProperty(className, "float timeToLive", offsetof(T, timeToLive_)); // BoundingBox Decal::boundingBox_ engine->RegisterObjectProperty(className, "BoundingBox boundingBox", offsetof(T, boundingBox_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Decal REGISTER_MEMBERS_MANUAL_PART_Decal(); #endif } // struct DecalVertex | File: ../Graphics/DecalSet.h template void RegisterMembers_DecalVertex(asIScriptEngine* engine, const char* className) { // float DecalVertex::blendWeights_[4] // Not registered because array // unsigned char DecalVertex::blendIndices_[4] // Not registered because array // Vector3 DecalVertex::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector3 DecalVertex::normal_ engine->RegisterObjectProperty(className, "Vector3 normal", offsetof(T, normal_)); // Vector2 DecalVertex::texCoord_ engine->RegisterObjectProperty(className, "Vector2 texCoord", offsetof(T, texCoord_)); // Vector4 DecalVertex::tangent_ engine->RegisterObjectProperty(className, "Vector4 tangent", offsetof(T, tangent_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DecalVertex REGISTER_MEMBERS_MANUAL_PART_DecalVertex(); #endif } // struct DepthValue | File: ../Graphics/OcclusionBuffer.h template void RegisterMembers_DepthValue(asIScriptEngine* engine, const char* className) { // int DepthValue::min_ engine->RegisterObjectProperty(className, "int min", offsetof(T, min_)); // int DepthValue::max_ engine->RegisterObjectProperty(className, "int max", offsetof(T, max_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DepthValue REGISTER_MEMBERS_MANUAL_PART_DepthValue(); #endif } // Vector Deserializer::ReadBuffer() template CScriptArray* Deserializer_Vectorlesbytegre_ReadBuffer_void_template(T* _ptr) { Vector result = _ptr->ReadBuffer(); return VectorToArray(result, "Array"); } // StringVector Deserializer::ReadStringVector() template CScriptArray* Deserializer_StringVector_ReadStringVector_void_template(T* _ptr) { StringVector result = _ptr->ReadStringVector(); return VectorToArray(result, "Array"); } // class Deserializer | File: ../IO/Deserializer.h template void RegisterMembers_Deserializer(asIScriptEngine* engine, const char* className) { // virtual i32 Deserializer::Read(void* dest, i32 size) = 0 // Error: type "void*" can not automatically bind // VariantVector Deserializer::ReadVariantVector() // Error: type "VariantVector" can not automatically bind // virtual hash32 Deserializer::GetChecksum() engine->RegisterObjectMethod(className, "hash32 GetChecksum()", AS_METHODPR(T, GetChecksum, (), hash32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "hash32 get_checksum()", AS_METHODPR(T, GetChecksum, (), hash32), AS_CALL_THISCALL); // virtual const String& Deserializer::GetName() const engine->RegisterObjectMethod(className, "const String& GetName() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_name() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); // i64 Deserializer::GetPosition() const engine->RegisterObjectMethod(className, "int64 GetPosition() const", AS_METHODPR(T, GetPosition, () const, i64), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int64 get_position() const", AS_METHODPR(T, GetPosition, () const, i64), AS_CALL_THISCALL); // i64 Deserializer::GetSize() const engine->RegisterObjectMethod(className, "int64 GetSize() const", AS_METHODPR(T, GetSize, () const, i64), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int64 get_size() const", AS_METHODPR(T, GetSize, () const, i64), AS_CALL_THISCALL); // virtual bool Deserializer::IsEof() const engine->RegisterObjectMethod(className, "bool IsEof() const", AS_METHODPR(T, IsEof, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_eof() const", AS_METHODPR(T, IsEof, () const, bool), AS_CALL_THISCALL); // bool Deserializer::ReadBool() engine->RegisterObjectMethod(className, "bool ReadBool()", AS_METHODPR(T, ReadBool, (), bool), AS_CALL_THISCALL); // BoundingBox Deserializer::ReadBoundingBox() engine->RegisterObjectMethod(className, "BoundingBox ReadBoundingBox()", AS_METHODPR(T, ReadBoundingBox, (), BoundingBox), AS_CALL_THISCALL); // Vector Deserializer::ReadBuffer() engine->RegisterObjectMethod(className, "Array@ ReadBuffer()", AS_FUNCTION_OBJFIRST(Deserializer_Vectorlesbytegre_ReadBuffer_void_template), AS_CALL_CDECL_OBJFIRST); // byte Deserializer::ReadByte() engine->RegisterObjectMethod(className, "byte ReadByte()", AS_METHODPR(T, ReadByte, (), byte), AS_CALL_THISCALL); // Color Deserializer::ReadColor() engine->RegisterObjectMethod(className, "Color ReadColor()", AS_METHODPR(T, ReadColor, (), Color), AS_CALL_THISCALL); // double Deserializer::ReadDouble() engine->RegisterObjectMethod(className, "double ReadDouble()", AS_METHODPR(T, ReadDouble, (), double), AS_CALL_THISCALL); // String Deserializer::ReadFileID() engine->RegisterObjectMethod(className, "String ReadFileID()", AS_METHODPR(T, ReadFileID, (), String), AS_CALL_THISCALL); // float Deserializer::ReadFloat() engine->RegisterObjectMethod(className, "float ReadFloat()", AS_METHODPR(T, ReadFloat, (), float), AS_CALL_THISCALL); // i16 Deserializer::ReadI16() engine->RegisterObjectMethod(className, "int16 ReadI16()", AS_METHODPR(T, ReadI16, (), i16), AS_CALL_THISCALL); // i32 Deserializer::ReadI32() engine->RegisterObjectMethod(className, "int ReadI32()", AS_METHODPR(T, ReadI32, (), i32), AS_CALL_THISCALL); // i64 Deserializer::ReadI64() engine->RegisterObjectMethod(className, "int64 ReadI64()", AS_METHODPR(T, ReadI64, (), i64), AS_CALL_THISCALL); // i8 Deserializer::ReadI8() engine->RegisterObjectMethod(className, "int8 ReadI8()", AS_METHODPR(T, ReadI8, (), i8), AS_CALL_THISCALL); // IntRect Deserializer::ReadIntRect() engine->RegisterObjectMethod(className, "IntRect ReadIntRect()", AS_METHODPR(T, ReadIntRect, (), IntRect), AS_CALL_THISCALL); // IntVector2 Deserializer::ReadIntVector2() engine->RegisterObjectMethod(className, "IntVector2 ReadIntVector2()", AS_METHODPR(T, ReadIntVector2, (), IntVector2), AS_CALL_THISCALL); // IntVector3 Deserializer::ReadIntVector3() engine->RegisterObjectMethod(className, "IntVector3 ReadIntVector3()", AS_METHODPR(T, ReadIntVector3, (), IntVector3), AS_CALL_THISCALL); // String Deserializer::ReadLine() engine->RegisterObjectMethod(className, "String ReadLine()", AS_METHODPR(T, ReadLine, (), String), AS_CALL_THISCALL); // Matrix3 Deserializer::ReadMatrix3() engine->RegisterObjectMethod(className, "Matrix3 ReadMatrix3()", AS_METHODPR(T, ReadMatrix3, (), Matrix3), AS_CALL_THISCALL); // Matrix3x4 Deserializer::ReadMatrix3x4() engine->RegisterObjectMethod(className, "Matrix3x4 ReadMatrix3x4()", AS_METHODPR(T, ReadMatrix3x4, (), Matrix3x4), AS_CALL_THISCALL); // Matrix4 Deserializer::ReadMatrix4() engine->RegisterObjectMethod(className, "Matrix4 ReadMatrix4()", AS_METHODPR(T, ReadMatrix4, (), Matrix4), AS_CALL_THISCALL); // id32 Deserializer::ReadNetID() engine->RegisterObjectMethod(className, "id32 ReadNetID()", AS_METHODPR(T, ReadNetID, (), id32), AS_CALL_THISCALL); // Quaternion Deserializer::ReadPackedQuaternion() engine->RegisterObjectMethod(className, "Quaternion ReadPackedQuaternion()", AS_METHODPR(T, ReadPackedQuaternion, (), Quaternion), AS_CALL_THISCALL); // Vector3 Deserializer::ReadPackedVector3(float maxAbsCoord) engine->RegisterObjectMethod(className, "Vector3 ReadPackedVector3(float)", AS_METHODPR(T, ReadPackedVector3, (float), Vector3), AS_CALL_THISCALL); // Quaternion Deserializer::ReadQuaternion() engine->RegisterObjectMethod(className, "Quaternion ReadQuaternion()", AS_METHODPR(T, ReadQuaternion, (), Quaternion), AS_CALL_THISCALL); // Rect Deserializer::ReadRect() engine->RegisterObjectMethod(className, "Rect ReadRect()", AS_METHODPR(T, ReadRect, (), Rect), AS_CALL_THISCALL); // ResourceRef Deserializer::ReadResourceRef() engine->RegisterObjectMethod(className, "ResourceRef ReadResourceRef()", AS_METHODPR(T, ReadResourceRef, (), ResourceRef), AS_CALL_THISCALL); // ResourceRefList Deserializer::ReadResourceRefList() engine->RegisterObjectMethod(className, "ResourceRefList ReadResourceRefList()", AS_METHODPR(T, ReadResourceRefList, (), ResourceRefList), AS_CALL_THISCALL); // String Deserializer::ReadString() engine->RegisterObjectMethod(className, "String ReadString()", AS_METHODPR(T, ReadString, (), String), AS_CALL_THISCALL); // StringHash Deserializer::ReadStringHash() engine->RegisterObjectMethod(className, "StringHash ReadStringHash()", AS_METHODPR(T, ReadStringHash, (), StringHash), AS_CALL_THISCALL); // StringVector Deserializer::ReadStringVector() engine->RegisterObjectMethod(className, "Array@ ReadStringVector()", AS_FUNCTION_OBJFIRST(Deserializer_StringVector_ReadStringVector_void_template), AS_CALL_CDECL_OBJFIRST); // u16 Deserializer::ReadU16() engine->RegisterObjectMethod(className, "uint16 ReadU16()", AS_METHODPR(T, ReadU16, (), u16), AS_CALL_THISCALL); // u32 Deserializer::ReadU32() engine->RegisterObjectMethod(className, "uint ReadU32()", AS_METHODPR(T, ReadU32, (), u32), AS_CALL_THISCALL); // u64 Deserializer::ReadU64() engine->RegisterObjectMethod(className, "uint64 ReadU64()", AS_METHODPR(T, ReadU64, (), u64), AS_CALL_THISCALL); // u8 Deserializer::ReadU8() engine->RegisterObjectMethod(className, "uint8 ReadU8()", AS_METHODPR(T, ReadU8, (), u8), AS_CALL_THISCALL); // Variant Deserializer::ReadVariant() engine->RegisterObjectMethod(className, "Variant ReadVariant()", AS_METHODPR(T, ReadVariant, (), Variant), AS_CALL_THISCALL); // Variant Deserializer::ReadVariant(VariantType type) engine->RegisterObjectMethod(className, "Variant ReadVariant(VariantType)", AS_METHODPR(T, ReadVariant, (VariantType), Variant), AS_CALL_THISCALL); // VariantMap Deserializer::ReadVariantMap() engine->RegisterObjectMethod(className, "VariantMap ReadVariantMap()", AS_METHODPR(T, ReadVariantMap, (), VariantMap), AS_CALL_THISCALL); // Vector2 Deserializer::ReadVector2() engine->RegisterObjectMethod(className, "Vector2 ReadVector2()", AS_METHODPR(T, ReadVector2, (), Vector2), AS_CALL_THISCALL); // Vector3 Deserializer::ReadVector3() engine->RegisterObjectMethod(className, "Vector3 ReadVector3()", AS_METHODPR(T, ReadVector3, (), Vector3), AS_CALL_THISCALL); // Vector4 Deserializer::ReadVector4() engine->RegisterObjectMethod(className, "Vector4 ReadVector4()", AS_METHODPR(T, ReadVector4, (), Vector4), AS_CALL_THISCALL); // unsigned Deserializer::ReadVLE() engine->RegisterObjectMethod(className, "uint ReadVLE()", AS_METHODPR(T, ReadVLE, (), unsigned), AS_CALL_THISCALL); // virtual i64 Deserializer::Seek(i64 position) = 0 engine->RegisterObjectMethod(className, "int64 Seek(int64)", AS_METHODPR(T, Seek, (i64), i64), AS_CALL_THISCALL); // i64 Deserializer::SeekRelative(i64 delta) engine->RegisterObjectMethod(className, "int64 SeekRelative(int64)", AS_METHODPR(T, SeekRelative, (i64), i64), AS_CALL_THISCALL); // i64 Deserializer::Tell() const engine->RegisterObjectMethod(className, "int64 Tell() const", AS_METHODPR(T, Tell, () const, i64), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Deserializer REGISTER_MEMBERS_MANUAL_PART_Deserializer(); #endif } // struct DirtyBits | File: ../Scene/ReplicationState.h template void RegisterMembers_DirtyBits(asIScriptEngine* engine, const char* className) { // void DirtyBits::Clear(unsigned index) engine->RegisterObjectMethod(className, "void Clear(uint)", AS_METHODPR(T, Clear, (unsigned), void), AS_CALL_THISCALL); // void DirtyBits::ClearAll() engine->RegisterObjectMethod(className, "void ClearAll()", AS_METHODPR(T, ClearAll, (), void), AS_CALL_THISCALL); // unsigned DirtyBits::Count() const engine->RegisterObjectMethod(className, "uint Count() const", AS_METHODPR(T, Count, () const, unsigned), AS_CALL_THISCALL); // bool DirtyBits::IsSet(unsigned index) const engine->RegisterObjectMethod(className, "bool IsSet(uint) const", AS_METHODPR(T, IsSet, (unsigned) const, bool), AS_CALL_THISCALL); // void DirtyBits::Set(unsigned index) engine->RegisterObjectMethod(className, "void Set(uint)", AS_METHODPR(T, Set, (unsigned), void), AS_CALL_THISCALL); // unsigned char DirtyBits::data_[MAX_NETWORK_ATTRIBUTES/8] // Not registered because array // unsigned char DirtyBits::count_ engine->RegisterObjectProperty(className, "uint8 count", offsetof(T, count_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DirtyBits REGISTER_MEMBERS_MANUAL_PART_DirtyBits(); #endif } // struct FileSelectorEntry | File: ../UI/FileSelector.h template void RegisterMembers_FileSelectorEntry(asIScriptEngine* engine, const char* className) { // String FileSelectorEntry::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // bool FileSelectorEntry::directory_ engine->RegisterObjectProperty(className, "bool directory", offsetof(T, directory_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_FileSelectorEntry REGISTER_MEMBERS_MANUAL_PART_FileSelectorEntry(); #endif } // struct FocusParameters | File: ../Graphics/Light.h template void RegisterMembers_FocusParameters(asIScriptEngine* engine, const char* className) { // void FocusParameters::Validate() engine->RegisterObjectMethod(className, "void Validate()", AS_METHODPR(T, Validate, (), void), AS_CALL_THISCALL); // bool FocusParameters::focus_ engine->RegisterObjectProperty(className, "bool focus", offsetof(T, focus_)); // bool FocusParameters::nonUniform_ engine->RegisterObjectProperty(className, "bool nonUniform", offsetof(T, nonUniform_)); // bool FocusParameters::autoSize_ engine->RegisterObjectProperty(className, "bool autoSize", offsetof(T, autoSize_)); // float FocusParameters::quantize_ engine->RegisterObjectProperty(className, "float quantize", offsetof(T, quantize_)); // float FocusParameters::minView_ engine->RegisterObjectProperty(className, "float minView", offsetof(T, minView_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_FocusParameters REGISTER_MEMBERS_MANUAL_PART_FocusParameters(); #endif } // struct FontGlyph | File: ../UI/FontFace.h template void RegisterMembers_FontGlyph(asIScriptEngine* engine, const char* className) { // short FontGlyph::x_ engine->RegisterObjectProperty(className, "int16 x", offsetof(T, x_)); // short FontGlyph::y_ engine->RegisterObjectProperty(className, "int16 y", offsetof(T, y_)); // short FontGlyph::texWidth_ engine->RegisterObjectProperty(className, "int16 texWidth", offsetof(T, texWidth_)); // short FontGlyph::texHeight_ engine->RegisterObjectProperty(className, "int16 texHeight", offsetof(T, texHeight_)); // float FontGlyph::width_ engine->RegisterObjectProperty(className, "float width", offsetof(T, width_)); // float FontGlyph::height_ engine->RegisterObjectProperty(className, "float height", offsetof(T, height_)); // float FontGlyph::offsetX_ engine->RegisterObjectProperty(className, "float offsetX", offsetof(T, offsetX_)); // float FontGlyph::offsetY_ engine->RegisterObjectProperty(className, "float offsetY", offsetof(T, offsetY_)); // float FontGlyph::advanceX_ engine->RegisterObjectProperty(className, "float advanceX", offsetof(T, advanceX_)); // i32 FontGlyph::page_ engine->RegisterObjectProperty(className, "int page", offsetof(T, page_)); // bool FontGlyph::used_ engine->RegisterObjectProperty(className, "bool used", offsetof(T, used_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_FontGlyph REGISTER_MEMBERS_MANUAL_PART_FontGlyph(); #endif } // struct FrameInfo | File: ../Graphics/Drawable.h template void RegisterMembers_FrameInfo(asIScriptEngine* engine, const char* className) { // Camera* FrameInfo::camera_ // Not registered because pointer // i32 FrameInfo::frameNumber_ engine->RegisterObjectProperty(className, "int frameNumber", offsetof(T, frameNumber_)); // float FrameInfo::timeStep_ engine->RegisterObjectProperty(className, "float timeStep", offsetof(T, timeStep_)); // IntVector2 FrameInfo::viewSize_ engine->RegisterObjectProperty(className, "IntVector2 viewSize", offsetof(T, viewSize_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_FrameInfo REGISTER_MEMBERS_MANUAL_PART_FrameInfo(); #endif } // class Frustum | File: ../Math/Frustum.h template void RegisterMembers_Frustum(asIScriptEngine* engine, const char* className) { // void Frustum::Define(float fov, float aspectRatio, float zoom, float nearZ, float farZ, const Matrix3x4& transform = Matrix3x4::IDENTITY) engine->RegisterObjectMethod(className, "void Define(float, float, float, float, float, const Matrix3x4&in = Matrix3x4::IDENTITY)", AS_METHODPR(T, Define, (float, float, float, float, float, const Matrix3x4&), void), AS_CALL_THISCALL); // void Frustum::Define(const Vector3& near, const Vector3& far, const Matrix3x4& transform = Matrix3x4::IDENTITY) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, const Vector3&in, const Matrix3x4&in = Matrix3x4::IDENTITY)", AS_METHODPR(T, Define, (const Vector3&, const Vector3&, const Matrix3x4&), void), AS_CALL_THISCALL); // void Frustum::Define(const BoundingBox& box, const Matrix3x4& transform = Matrix3x4::IDENTITY) engine->RegisterObjectMethod(className, "void Define(const BoundingBox&in, const Matrix3x4&in = Matrix3x4::IDENTITY)", AS_METHODPR(T, Define, (const BoundingBox&, const Matrix3x4&), void), AS_CALL_THISCALL); // void Frustum::Define(const Matrix4& projection) engine->RegisterObjectMethod(className, "void Define(const Matrix4&in)", AS_METHODPR(T, Define, (const Matrix4&), void), AS_CALL_THISCALL); // void Frustum::DefineOrtho(float orthoSize, float aspectRatio, float zoom, float nearZ, float farZ, const Matrix3x4& transform = Matrix3x4::IDENTITY) engine->RegisterObjectMethod(className, "void DefineOrtho(float, float, float, float, float, const Matrix3x4&in = Matrix3x4::IDENTITY)", AS_METHODPR(T, DefineOrtho, (float, float, float, float, float, const Matrix3x4&), void), AS_CALL_THISCALL); // void Frustum::DefineSplit(const Matrix4& projection, float near, float far) engine->RegisterObjectMethod(className, "void DefineSplit(const Matrix4&in, float, float)", AS_METHODPR(T, DefineSplit, (const Matrix4&, float, float), void), AS_CALL_THISCALL); // float Frustum::Distance(const Vector3& point) const engine->RegisterObjectMethod(className, "float Distance(const Vector3&in) const", AS_METHODPR(T, Distance, (const Vector3&) const, float), AS_CALL_THISCALL); // Intersection Frustum::IsInside(const Vector3& point) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Vector3&in) const", AS_METHODPR(T, IsInside, (const Vector3&) const, Intersection), AS_CALL_THISCALL); // Intersection Frustum::IsInside(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Sphere&in) const", AS_METHODPR(T, IsInside, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // Intersection Frustum::IsInside(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInside(const BoundingBox&in) const", AS_METHODPR(T, IsInside, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // Intersection Frustum::IsInsideFast(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const Sphere&in) const", AS_METHODPR(T, IsInsideFast, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // Intersection Frustum::IsInsideFast(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const BoundingBox&in) const", AS_METHODPR(T, IsInsideFast, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // Frustum& Frustum::operator =(const Frustum& rhs) noexcept engine->RegisterObjectMethod(className, "Frustum& opAssign(const Frustum&in)", AS_METHODPR(T, operator=, (const Frustum&), Frustum&), AS_CALL_THISCALL); // Rect Frustum::Projected(const Matrix4& projection) const engine->RegisterObjectMethod(className, "Rect Projected(const Matrix4&in) const", AS_METHODPR(T, Projected, (const Matrix4&) const, Rect), AS_CALL_THISCALL); // void Frustum::Transform(const Matrix3& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3&in)", AS_METHODPR(T, Transform, (const Matrix3&), void), AS_CALL_THISCALL); // void Frustum::Transform(const Matrix3x4& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3x4&in)", AS_METHODPR(T, Transform, (const Matrix3x4&), void), AS_CALL_THISCALL); // Frustum Frustum::Transformed(const Matrix3& transform) const engine->RegisterObjectMethod(className, "Frustum Transformed(const Matrix3&in) const", AS_METHODPR(T, Transformed, (const Matrix3&) const, Frustum), AS_CALL_THISCALL); // Frustum Frustum::Transformed(const Matrix3x4& transform) const engine->RegisterObjectMethod(className, "Frustum Transformed(const Matrix3x4&in) const", AS_METHODPR(T, Transformed, (const Matrix3x4&) const, Frustum), AS_CALL_THISCALL); // void Frustum::UpdatePlanes() engine->RegisterObjectMethod(className, "void UpdatePlanes()", AS_METHODPR(T, UpdatePlanes, (), void), AS_CALL_THISCALL); // Plane Frustum::planes_[NUM_FRUSTUM_PLANES] // Not registered because array // Vector3 Frustum::vertices_[NUM_FRUSTUM_VERTICES] // Not registered because array #ifdef REGISTER_MEMBERS_MANUAL_PART_Frustum REGISTER_MEMBERS_MANUAL_PART_Frustum(); #endif } // class GPUObject | File: ../GraphicsAPI/GPUObject.h template void RegisterMembers_GPUObject(asIScriptEngine* engine, const char* className) { // void* GPUObject::GetGPUObject() const // Error: type "void*" can not automatically bind // void GPUObject::ClearDataLost() engine->RegisterObjectMethod(className, "void ClearDataLost()", AS_METHODPR(T, ClearDataLost, (), void), AS_CALL_THISCALL); // u32 GPUObject::GetGPUObjectName() const engine->RegisterObjectMethod(className, "uint GetGPUObjectName() const", AS_METHODPR(T, GetGPUObjectName, () const, u32), AS_CALL_THISCALL); // Graphics* GPUObject::GetGraphics() const engine->RegisterObjectMethod(className, "Graphics@+ GetGraphics() const", AS_METHODPR(T, GetGraphics, () const, Graphics*), AS_CALL_THISCALL); // bool GPUObject::HasPendingData() const engine->RegisterObjectMethod(className, "bool HasPendingData() const", AS_METHODPR(T, HasPendingData, () const, bool), AS_CALL_THISCALL); // bool GPUObject::IsDataLost() const engine->RegisterObjectMethod(className, "bool IsDataLost() const", AS_METHODPR(T, IsDataLost, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_dataLost() const", AS_METHODPR(T, IsDataLost, () const, bool), AS_CALL_THISCALL); // virtual void GPUObject::OnDeviceLost() engine->RegisterObjectMethod(className, "void OnDeviceLost()", AS_METHODPR(T, OnDeviceLost, (), void), AS_CALL_THISCALL); // virtual void GPUObject::OnDeviceReset() engine->RegisterObjectMethod(className, "void OnDeviceReset()", AS_METHODPR(T, OnDeviceReset, (), void), AS_CALL_THISCALL); // virtual void GPUObject::Release() engine->RegisterObjectMethod(className, "void Release()", AS_METHODPR(T, Release, (), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_GPUObject REGISTER_MEMBERS_MANUAL_PART_GPUObject(); #endif } // struct GeometryDesc | File: ../Graphics/Model.h template void RegisterMembers_GeometryDesc(asIScriptEngine* engine, const char* className) { // PrimitiveType GeometryDesc::type_ engine->RegisterObjectProperty(className, "PrimitiveType type", offsetof(T, type_)); // i32 GeometryDesc::vbRef_ engine->RegisterObjectProperty(className, "int vbRef", offsetof(T, vbRef_)); // i32 GeometryDesc::ibRef_ engine->RegisterObjectProperty(className, "int ibRef", offsetof(T, ibRef_)); // i32 GeometryDesc::indexStart_ engine->RegisterObjectProperty(className, "int indexStart", offsetof(T, indexStart_)); // i32 GeometryDesc::indexCount_ engine->RegisterObjectProperty(className, "int indexCount", offsetof(T, indexCount_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_GeometryDesc REGISTER_MEMBERS_MANUAL_PART_GeometryDesc(); #endif } // struct GlyphLocation | File: ../UI/Text.h template void RegisterMembers_GlyphLocation(asIScriptEngine* engine, const char* className) { // const FontGlyph* GlyphLocation::glyph_ // Not registered because pointer // float GlyphLocation::x_ engine->RegisterObjectProperty(className, "float x", offsetof(T, x_)); // float GlyphLocation::y_ engine->RegisterObjectProperty(className, "float y", offsetof(T, y_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_GlyphLocation REGISTER_MEMBERS_MANUAL_PART_GlyphLocation(); #endif } // class HashBase | File: ../Container/HashBase.h template void RegisterMembers_HashBase(asIScriptEngine* engine, const char* className) { // bool HashBase::Empty() const engine->RegisterObjectMethod(className, "bool Empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); // i32 HashBase::NumBuckets() const engine->RegisterObjectMethod(className, "int NumBuckets() const", AS_METHODPR(T, NumBuckets, () const, i32), AS_CALL_THISCALL); // i32 HashBase::Size() const engine->RegisterObjectMethod(className, "int Size() const", AS_METHODPR(T, Size, () const, i32), AS_CALL_THISCALL); // void HashBase::Swap(HashBase& rhs) engine->RegisterObjectMethod(className, "void Swap(HashBase&)", AS_METHODPR(T, Swap, (HashBase&), void), AS_CALL_THISCALL); // static constexpr i32 HashBase::MIN_BUCKETS engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const int MIN_BUCKETS", (void*)&T::MIN_BUCKETS);engine->SetDefaultNamespace(""); // static constexpr i32 HashBase::MAX_LOAD_FACTOR engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const int MAX_LOAD_FACTOR", (void*)&T::MAX_LOAD_FACTOR);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_HashBase REGISTER_MEMBERS_MANUAL_PART_HashBase(); #endif } // struct HashIteratorBase | File: ../Container/HashBase.h template void RegisterMembers_HashIteratorBase(asIScriptEngine* engine, const char* className) { // bool HashIteratorBase::operator !=(const HashIteratorBase& rhs) const // Only operator == is needed // void HashIteratorBase::GotoNext() engine->RegisterObjectMethod(className, "void GotoNext()", AS_METHODPR(T, GotoNext, (), void), AS_CALL_THISCALL); // void HashIteratorBase::GotoPrev() engine->RegisterObjectMethod(className, "void GotoPrev()", AS_METHODPR(T, GotoPrev, (), void), AS_CALL_THISCALL); // bool HashIteratorBase::operator ==(const HashIteratorBase& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const HashIteratorBase&in) const", AS_METHODPR(T, operator==, (const HashIteratorBase&) const, bool), AS_CALL_THISCALL); // HashNodeBase* HashIteratorBase::ptr_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_HashIteratorBase REGISTER_MEMBERS_MANUAL_PART_HashIteratorBase(); #endif } // struct HashNodeBase | File: ../Container/HashBase.h template void RegisterMembers_HashNodeBase(asIScriptEngine* engine, const char* className) { // HashNodeBase* HashNodeBase::down_ // Not registered because pointer // HashNodeBase* HashNodeBase::prev_ // Not registered because pointer // HashNodeBase* HashNodeBase::next_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_HashNodeBase REGISTER_MEMBERS_MANUAL_PART_HashNodeBase(); #endif } // class HiresTimer | File: ../Core/Timer.h template void RegisterMembers_HiresTimer(asIScriptEngine* engine, const char* className) { // long long HiresTimer::GetUSec(bool reset) engine->RegisterObjectMethod(className, "int64 GetUSec(bool)", AS_METHODPR(T, GetUSec, (bool), long long), AS_CALL_THISCALL); // void HiresTimer::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); // static bool HiresTimer::IsSupported() engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("bool IsSupported()", AS_FUNCTIONPR(T::IsSupported, (), bool), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static long long HiresTimer::GetFrequency() engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("int64 GetFrequency()", AS_FUNCTIONPR(T::GetFrequency, (), long long), AS_CALL_CDECL);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_HiresTimer REGISTER_MEMBERS_MANUAL_PART_HiresTimer(); #endif } // struct IndexBufferDesc | File: ../Graphics/Model.h template void RegisterMembers_IndexBufferDesc(asIScriptEngine* engine, const char* className) { // SharedArrayPtr IndexBufferDesc::data_ // Error: type "SharedArrayPtr" can not automatically bind // i32 IndexBufferDesc::indexCount_ engine->RegisterObjectProperty(className, "int indexCount", offsetof(T, indexCount_)); // i32 IndexBufferDesc::indexSize_ engine->RegisterObjectProperty(className, "int indexSize", offsetof(T, indexSize_)); // i32 IndexBufferDesc::dataSize_ engine->RegisterObjectProperty(className, "int dataSize", offsetof(T, dataSize_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_IndexBufferDesc REGISTER_MEMBERS_MANUAL_PART_IndexBufferDesc(); #endif } // struct InstanceData | File: ../Graphics/Batch.h template void RegisterMembers_InstanceData(asIScriptEngine* engine, const char* className) { // const Matrix3x4* InstanceData::worldTransform_ // Not registered because pointer // const void* InstanceData::instancingData_ // Not registered because pointer // float InstanceData::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_InstanceData REGISTER_MEMBERS_MANUAL_PART_InstanceData(); #endif } // class IntRect | File: ../Math/Rect.h template void RegisterMembers_IntRect(asIScriptEngine* engine, const char* className) { // const int* IntRect::Data() const // Error: type "const int*" can not automatically bind // bool IntRect::operator !=(const IntRect& rhs) const // Only operator == is needed // int IntRect::Bottom() const engine->RegisterObjectMethod(className, "int Bottom() const", AS_METHODPR(T, Bottom, () const, int), AS_CALL_THISCALL); // void IntRect::Clip(const IntRect& rect) engine->RegisterObjectMethod(className, "void Clip(const IntRect&in)", AS_METHODPR(T, Clip, (const IntRect&), void), AS_CALL_THISCALL); // int IntRect::Height() const engine->RegisterObjectMethod(className, "int Height() const", AS_METHODPR(T, Height, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_height() const", AS_METHODPR(T, Height, () const, int), AS_CALL_THISCALL); // Intersection IntRect::IsInside(const IntVector2& point) const engine->RegisterObjectMethod(className, "Intersection IsInside(const IntVector2&in) const", AS_METHODPR(T, IsInside, (const IntVector2&) const, Intersection), AS_CALL_THISCALL); // Intersection IntRect::IsInside(const IntRect& rect) const engine->RegisterObjectMethod(className, "Intersection IsInside(const IntRect&in) const", AS_METHODPR(T, IsInside, (const IntRect&) const, Intersection), AS_CALL_THISCALL); // int IntRect::Left() const engine->RegisterObjectMethod(className, "int Left() const", AS_METHODPR(T, Left, () const, int), AS_CALL_THISCALL); // IntVector2 IntRect::Max() const engine->RegisterObjectMethod(className, "IntVector2 Max() const", AS_METHODPR(T, Max, () const, IntVector2), AS_CALL_THISCALL); // void IntRect::Merge(const IntRect& rect) engine->RegisterObjectMethod(className, "void Merge(const IntRect&in)", AS_METHODPR(T, Merge, (const IntRect&), void), AS_CALL_THISCALL); // IntVector2 IntRect::Min() const engine->RegisterObjectMethod(className, "IntVector2 Min() const", AS_METHODPR(T, Min, () const, IntVector2), AS_CALL_THISCALL); // IntRect IntRect::operator *(float value) const engine->RegisterObjectMethod(className, "IntRect opMul(float) const", AS_METHODPR(T, operator*, (float) const, IntRect), AS_CALL_THISCALL); // IntRect& IntRect::operator *=(float value) engine->RegisterObjectMethod(className, "IntRect& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), IntRect&), AS_CALL_THISCALL); // IntRect IntRect::operator +(const IntRect& rhs) const engine->RegisterObjectMethod(className, "IntRect opAdd(const IntRect&in) const", AS_METHODPR(T, operator+, (const IntRect&) const, IntRect), AS_CALL_THISCALL); // IntRect& IntRect::operator +=(const IntRect& rhs) engine->RegisterObjectMethod(className, "IntRect& opAddAssign(const IntRect&in)", AS_METHODPR(T, operator+=, (const IntRect&), IntRect&), AS_CALL_THISCALL); // IntRect IntRect::operator -(const IntRect& rhs) const engine->RegisterObjectMethod(className, "IntRect opSub(const IntRect&in) const", AS_METHODPR(T, operator-, (const IntRect&) const, IntRect), AS_CALL_THISCALL); // IntRect& IntRect::operator -=(const IntRect& rhs) engine->RegisterObjectMethod(className, "IntRect& opSubAssign(const IntRect&in)", AS_METHODPR(T, operator-=, (const IntRect&), IntRect&), AS_CALL_THISCALL); // IntRect IntRect::operator /(float value) const engine->RegisterObjectMethod(className, "IntRect opDiv(float) const", AS_METHODPR(T, operator/, (float) const, IntRect), AS_CALL_THISCALL); // IntRect& IntRect::operator /=(float value) engine->RegisterObjectMethod(className, "IntRect& opDivAssign(float)", AS_METHODPR(T, operator/=, (float), IntRect&), AS_CALL_THISCALL); // bool IntRect::operator ==(const IntRect& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntRect&in) const", AS_METHODPR(T, operator==, (const IntRect&) const, bool), AS_CALL_THISCALL); // int IntRect::Right() const engine->RegisterObjectMethod(className, "int Right() const", AS_METHODPR(T, Right, () const, int), AS_CALL_THISCALL); // IntVector2 IntRect::Size() const engine->RegisterObjectMethod(className, "IntVector2 Size() const", AS_METHODPR(T, Size, () const, IntVector2), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "IntVector2 get_size() const", AS_METHODPR(T, Size, () const, IntVector2), AS_CALL_THISCALL); // int IntRect::Top() const engine->RegisterObjectMethod(className, "int Top() const", AS_METHODPR(T, Top, () const, int), AS_CALL_THISCALL); // String IntRect::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // int IntRect::Width() const engine->RegisterObjectMethod(className, "int Width() const", AS_METHODPR(T, Width, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_width() const", AS_METHODPR(T, Width, () const, int), AS_CALL_THISCALL); // int IntRect::left_ engine->RegisterObjectProperty(className, "int left", offsetof(T, left_)); // int IntRect::top_ engine->RegisterObjectProperty(className, "int top", offsetof(T, top_)); // int IntRect::right_ engine->RegisterObjectProperty(className, "int right", offsetof(T, right_)); // int IntRect::bottom_ engine->RegisterObjectProperty(className, "int bottom", offsetof(T, bottom_)); // static const IntRect IntRect::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntRect ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_IntRect REGISTER_MEMBERS_MANUAL_PART_IntRect(); #endif } // class IntVector2 | File: ../Math/Vector2.h template void RegisterMembers_IntVector2(asIScriptEngine* engine, const char* className) { // const int* IntVector2::Data() const // Error: type "const int*" can not automatically bind // bool IntVector2::operator !=(const IntVector2& rhs) const // Only operator == is needed // float IntVector2::Length() const engine->RegisterObjectMethod(className, "float Length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); // IntVector2 IntVector2::operator *(int rhs) const engine->RegisterObjectMethod(className, "IntVector2 opMul(int) const", AS_METHODPR(T, operator*, (int) const, IntVector2), AS_CALL_THISCALL); // IntVector2 IntVector2::operator *(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "IntVector2 opMul(const IntVector2&in) const", AS_METHODPR(T, operator*, (const IntVector2&) const, IntVector2), AS_CALL_THISCALL); // IntVector2& IntVector2::operator *=(int rhs) engine->RegisterObjectMethod(className, "IntVector2& opMulAssign(int)", AS_METHODPR(T, operator*=, (int), IntVector2&), AS_CALL_THISCALL); // IntVector2& IntVector2::operator *=(const IntVector2& rhs) engine->RegisterObjectMethod(className, "IntVector2& opMulAssign(const IntVector2&in)", AS_METHODPR(T, operator*=, (const IntVector2&), IntVector2&), AS_CALL_THISCALL); // IntVector2 IntVector2::operator +(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "IntVector2 opAdd(const IntVector2&in) const", AS_METHODPR(T, operator+, (const IntVector2&) const, IntVector2), AS_CALL_THISCALL); // IntVector2& IntVector2::operator +=(const IntVector2& rhs) engine->RegisterObjectMethod(className, "IntVector2& opAddAssign(const IntVector2&in)", AS_METHODPR(T, operator+=, (const IntVector2&), IntVector2&), AS_CALL_THISCALL); // IntVector2 IntVector2::operator -() const engine->RegisterObjectMethod(className, "IntVector2 opNeg() const", AS_METHODPR(T, operator-, () const, IntVector2), AS_CALL_THISCALL); // IntVector2 IntVector2::operator -(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "IntVector2 opSub(const IntVector2&in) const", AS_METHODPR(T, operator-, (const IntVector2&) const, IntVector2), AS_CALL_THISCALL); // IntVector2& IntVector2::operator -=(const IntVector2& rhs) engine->RegisterObjectMethod(className, "IntVector2& opSubAssign(const IntVector2&in)", AS_METHODPR(T, operator-=, (const IntVector2&), IntVector2&), AS_CALL_THISCALL); // IntVector2 IntVector2::operator /(int rhs) const engine->RegisterObjectMethod(className, "IntVector2 opDiv(int) const", AS_METHODPR(T, operator/, (int) const, IntVector2), AS_CALL_THISCALL); // IntVector2 IntVector2::operator /(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "IntVector2 opDiv(const IntVector2&in) const", AS_METHODPR(T, operator/, (const IntVector2&) const, IntVector2), AS_CALL_THISCALL); // IntVector2& IntVector2::operator /=(int rhs) engine->RegisterObjectMethod(className, "IntVector2& opDivAssign(int)", AS_METHODPR(T, operator/=, (int), IntVector2&), AS_CALL_THISCALL); // IntVector2& IntVector2::operator /=(const IntVector2& rhs) engine->RegisterObjectMethod(className, "IntVector2& opDivAssign(const IntVector2&in)", AS_METHODPR(T, operator/=, (const IntVector2&), IntVector2&), AS_CALL_THISCALL); // IntVector2& IntVector2::operator =(const IntVector2& rhs) noexcept = default engine->RegisterObjectMethod(className, "IntVector2& opAssign(const IntVector2&in)", AS_METHODPR(T, operator=, (const IntVector2&), IntVector2&), AS_CALL_THISCALL); // bool IntVector2::operator ==(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntVector2&in) const", AS_METHODPR(T, operator==, (const IntVector2&) const, bool), AS_CALL_THISCALL); // hash32 IntVector2::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String IntVector2::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // int IntVector2::x_ engine->RegisterObjectProperty(className, "int x", offsetof(T, x_)); // int IntVector2::y_ engine->RegisterObjectProperty(className, "int y", offsetof(T, y_)); // static const IntVector2 IntVector2::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const IntVector2 IntVector2::LEFT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 LEFT", (void*)&T::LEFT);engine->SetDefaultNamespace(""); // static const IntVector2 IntVector2::RIGHT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 RIGHT", (void*)&T::RIGHT);engine->SetDefaultNamespace(""); // static const IntVector2 IntVector2::UP engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 UP", (void*)&T::UP);engine->SetDefaultNamespace(""); // static const IntVector2 IntVector2::DOWN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 DOWN", (void*)&T::DOWN);engine->SetDefaultNamespace(""); // static const IntVector2 IntVector2::ONE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector2 ONE", (void*)&T::ONE);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_IntVector2 REGISTER_MEMBERS_MANUAL_PART_IntVector2(); #endif } // class IntVector3 | File: ../Math/Vector3.h template void RegisterMembers_IntVector3(asIScriptEngine* engine, const char* className) { // const int* IntVector3::Data() const // Error: type "const int*" can not automatically bind // bool IntVector3::operator !=(const IntVector3& rhs) const // Only operator == is needed // float IntVector3::Length() const engine->RegisterObjectMethod(className, "float Length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); // IntVector3 IntVector3::operator *(int rhs) const engine->RegisterObjectMethod(className, "IntVector3 opMul(int) const", AS_METHODPR(T, operator*, (int) const, IntVector3), AS_CALL_THISCALL); // IntVector3 IntVector3::operator *(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "IntVector3 opMul(const IntVector3&in) const", AS_METHODPR(T, operator*, (const IntVector3&) const, IntVector3), AS_CALL_THISCALL); // IntVector3& IntVector3::operator *=(int rhs) engine->RegisterObjectMethod(className, "IntVector3& opMulAssign(int)", AS_METHODPR(T, operator*=, (int), IntVector3&), AS_CALL_THISCALL); // IntVector3& IntVector3::operator *=(const IntVector3& rhs) engine->RegisterObjectMethod(className, "IntVector3& opMulAssign(const IntVector3&in)", AS_METHODPR(T, operator*=, (const IntVector3&), IntVector3&), AS_CALL_THISCALL); // IntVector3 IntVector3::operator +(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "IntVector3 opAdd(const IntVector3&in) const", AS_METHODPR(T, operator+, (const IntVector3&) const, IntVector3), AS_CALL_THISCALL); // IntVector3& IntVector3::operator +=(const IntVector3& rhs) engine->RegisterObjectMethod(className, "IntVector3& opAddAssign(const IntVector3&in)", AS_METHODPR(T, operator+=, (const IntVector3&), IntVector3&), AS_CALL_THISCALL); // IntVector3 IntVector3::operator -() const engine->RegisterObjectMethod(className, "IntVector3 opNeg() const", AS_METHODPR(T, operator-, () const, IntVector3), AS_CALL_THISCALL); // IntVector3 IntVector3::operator -(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "IntVector3 opSub(const IntVector3&in) const", AS_METHODPR(T, operator-, (const IntVector3&) const, IntVector3), AS_CALL_THISCALL); // IntVector3& IntVector3::operator -=(const IntVector3& rhs) engine->RegisterObjectMethod(className, "IntVector3& opSubAssign(const IntVector3&in)", AS_METHODPR(T, operator-=, (const IntVector3&), IntVector3&), AS_CALL_THISCALL); // IntVector3 IntVector3::operator /(int rhs) const engine->RegisterObjectMethod(className, "IntVector3 opDiv(int) const", AS_METHODPR(T, operator/, (int) const, IntVector3), AS_CALL_THISCALL); // IntVector3 IntVector3::operator /(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "IntVector3 opDiv(const IntVector3&in) const", AS_METHODPR(T, operator/, (const IntVector3&) const, IntVector3), AS_CALL_THISCALL); // IntVector3& IntVector3::operator /=(int rhs) engine->RegisterObjectMethod(className, "IntVector3& opDivAssign(int)", AS_METHODPR(T, operator/=, (int), IntVector3&), AS_CALL_THISCALL); // IntVector3& IntVector3::operator /=(const IntVector3& rhs) engine->RegisterObjectMethod(className, "IntVector3& opDivAssign(const IntVector3&in)", AS_METHODPR(T, operator/=, (const IntVector3&), IntVector3&), AS_CALL_THISCALL); // IntVector3& IntVector3::operator =(const IntVector3& rhs) noexcept = default engine->RegisterObjectMethod(className, "IntVector3& opAssign(const IntVector3&in)", AS_METHODPR(T, operator=, (const IntVector3&), IntVector3&), AS_CALL_THISCALL); // bool IntVector3::operator ==(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntVector3&in) const", AS_METHODPR(T, operator==, (const IntVector3&) const, bool), AS_CALL_THISCALL); // hash32 IntVector3::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String IntVector3::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // int IntVector3::x_ engine->RegisterObjectProperty(className, "int x", offsetof(T, x_)); // int IntVector3::y_ engine->RegisterObjectProperty(className, "int y", offsetof(T, y_)); // int IntVector3::z_ engine->RegisterObjectProperty(className, "int z", offsetof(T, z_)); // static const IntVector3 IntVector3::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::LEFT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 LEFT", (void*)&T::LEFT);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::RIGHT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 RIGHT", (void*)&T::RIGHT);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::UP engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 UP", (void*)&T::UP);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::DOWN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 DOWN", (void*)&T::DOWN);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::FORWARD engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 FORWARD", (void*)&T::FORWARD);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::BACK engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 BACK", (void*)&T::BACK);engine->SetDefaultNamespace(""); // static const IntVector3 IntVector3::ONE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const IntVector3 ONE", (void*)&T::ONE);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_IntVector3 REGISTER_MEMBERS_MANUAL_PART_IntVector3(); #endif } // void JSONValue::SetVariant(const Variant& variant, Context* context = nullptr) template void JSONValue_void_SetVariant_constspVariantamp_Contextstar_template(T* _ptr, const Variant& variant) { Context* context = GetScriptContext(); _ptr->SetVariant(variant, context); } // void JSONValue::SetVariantMap(const VariantMap& variantMap, Context* context = nullptr) template void JSONValue_void_SetVariantMap_constspVariantMapamp_Contextstar_template(T* _ptr, const VariantMap& variantMap) { Context* context = GetScriptContext(); _ptr->SetVariantMap(variantMap, context); } // void JSONValue::SetVariantValue(const Variant& variant, Context* context = nullptr) template void JSONValue_void_SetVariantValue_constspVariantamp_Contextstar_template(T* _ptr, const Variant& variant) { Context* context = GetScriptContext(); _ptr->SetVariantValue(variant, context); } // class JSONValue | File: ../Resource/JSONValue.h template void RegisterMembers_JSONValue(asIScriptEngine* engine, const char* className) { // JSONObjectIterator JSONValue::Begin() // Error: type "JSONObjectIterator" can not automatically bind // ConstJSONObjectIterator JSONValue::Begin() const // Error: type "ConstJSONObjectIterator" can not automatically bind // JSONObjectIterator JSONValue::End() // Error: type "JSONObjectIterator" can not automatically bind // ConstJSONObjectIterator JSONValue::End() const // Error: type "ConstJSONObjectIterator" can not automatically bind // const JSONArray& JSONValue::GetArray() const // Error: type "const JSONArray&" can not automatically bind // const char* JSONValue::GetCString(const char* defaultValue = "") const // Error: type "const char*" can not automatically bind // const JSONObject& JSONValue::GetObject() const // Error: type "const JSONObject&" can not automatically bind // VariantVector JSONValue::GetVariantVector() const // Error: type "VariantVector" can not automatically bind // JSONValue& JSONValue::operator =(const char* rhs) // Error: type "const char*" can not automatically bind // JSONValue& JSONValue::operator =(const JSONArray& rhs) // Error: type "const JSONArray&" can not automatically bind // JSONValue& JSONValue::operator =(const JSONObject& rhs) // Error: type "const JSONObject&" can not automatically bind // void JSONValue::SetVariantVector(const VariantVector& variantVector, Context* context = nullptr) // Error: type "const VariantVector&" can not automatically bind // void JSONValue::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // bool JSONValue::Contains(const String& key) const engine->RegisterObjectMethod(className, "bool Contains(const String&in) const", AS_METHODPR(T, Contains, (const String&) const, bool), AS_CALL_THISCALL); // void JSONValue::Erase(unsigned pos, unsigned length = 1) engine->RegisterObjectMethod(className, "void Erase(uint, uint = 1)", AS_METHODPR(T, Erase, (unsigned, unsigned), void), AS_CALL_THISCALL); // bool JSONValue::Erase(const String& key) engine->RegisterObjectMethod(className, "bool Erase(const String&in)", AS_METHODPR(T, Erase, (const String&), bool), AS_CALL_THISCALL); // const JSONValue& JSONValue::Get(const String& key) const engine->RegisterObjectMethod(className, "const JSONValue& Get(const String&in) const", AS_METHODPR(T, Get, (const String&) const, const JSONValue&), AS_CALL_THISCALL); // bool JSONValue::GetBool(bool defaultValue = false) const engine->RegisterObjectMethod(className, "bool GetBool(bool = false) const", AS_METHODPR(T, GetBool, (bool) const, bool), AS_CALL_THISCALL); // double JSONValue::GetDouble(double defaultValue = 0.0) const engine->RegisterObjectMethod(className, "double GetDouble(double = 0.0) const", AS_METHODPR(T, GetDouble, (double) const, double), AS_CALL_THISCALL); // float JSONValue::GetFloat(float defaultValue = 0.0f) const engine->RegisterObjectMethod(className, "float GetFloat(float = 0.0f) const", AS_METHODPR(T, GetFloat, (float) const, float), AS_CALL_THISCALL); // i32 JSONValue::GetI32(i32 defaultValue = 0) const engine->RegisterObjectMethod(className, "int GetI32(int = 0) const", AS_METHODPR(T, GetI32, (i32) const, i32), AS_CALL_THISCALL); // JSONNumberType JSONValue::GetNumberType() const engine->RegisterObjectMethod(className, "JSONNumberType GetNumberType() const", AS_METHODPR(T, GetNumberType, () const, JSONNumberType), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "JSONNumberType get_numberType() const", AS_METHODPR(T, GetNumberType, () const, JSONNumberType), AS_CALL_THISCALL); // String JSONValue::GetNumberTypeName() const engine->RegisterObjectMethod(className, "String GetNumberTypeName() const", AS_METHODPR(T, GetNumberTypeName, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_numberTypeName() const", AS_METHODPR(T, GetNumberTypeName, () const, String), AS_CALL_THISCALL); // const String& JSONValue::GetString(const String& defaultValue = String::EMPTY) const engine->RegisterObjectMethod(className, "const String& GetString(const String&in = String::EMPTY) const", AS_METHODPR(T, GetString, (const String&) const, const String&), AS_CALL_THISCALL); // u32 JSONValue::GetU32(u32 defaultValue = 0) const engine->RegisterObjectMethod(className, "uint GetU32(uint = 0) const", AS_METHODPR(T, GetU32, (u32) const, u32), AS_CALL_THISCALL); // JSONValueType JSONValue::GetValueType() const engine->RegisterObjectMethod(className, "JSONValueType GetValueType() const", AS_METHODPR(T, GetValueType, () const, JSONValueType), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "JSONValueType get_valueType() const", AS_METHODPR(T, GetValueType, () const, JSONValueType), AS_CALL_THISCALL); // String JSONValue::GetValueTypeName() const engine->RegisterObjectMethod(className, "String GetValueTypeName() const", AS_METHODPR(T, GetValueTypeName, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_valueTypeName() const", AS_METHODPR(T, GetValueTypeName, () const, String), AS_CALL_THISCALL); // Variant JSONValue::GetVariant() const engine->RegisterObjectMethod(className, "Variant GetVariant() const", AS_METHODPR(T, GetVariant, () const, Variant), AS_CALL_THISCALL); // VariantMap JSONValue::GetVariantMap() const engine->RegisterObjectMethod(className, "VariantMap GetVariantMap() const", AS_METHODPR(T, GetVariantMap, () const, VariantMap), AS_CALL_THISCALL); // Variant JSONValue::GetVariantValue(VariantType type) const engine->RegisterObjectMethod(className, "Variant GetVariantValue(VariantType) const", AS_METHODPR(T, GetVariantValue, (VariantType) const, Variant), AS_CALL_THISCALL); // void JSONValue::Insert(unsigned pos, const JSONValue& value) engine->RegisterObjectMethod(className, "void Insert(uint, const JSONValue&in)", AS_METHODPR(T, Insert, (unsigned, const JSONValue&), void), AS_CALL_THISCALL); // bool JSONValue::IsArray() const engine->RegisterObjectMethod(className, "bool IsArray() const", AS_METHODPR(T, IsArray, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isArray() const", AS_METHODPR(T, IsArray, () const, bool), AS_CALL_THISCALL); // bool JSONValue::IsBool() const engine->RegisterObjectMethod(className, "bool IsBool() const", AS_METHODPR(T, IsBool, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isBool() const", AS_METHODPR(T, IsBool, () const, bool), AS_CALL_THISCALL); // bool JSONValue::IsNull() const engine->RegisterObjectMethod(className, "bool IsNull() const", AS_METHODPR(T, IsNull, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isNull() const", AS_METHODPR(T, IsNull, () const, bool), AS_CALL_THISCALL); // bool JSONValue::IsNumber() const engine->RegisterObjectMethod(className, "bool IsNumber() const", AS_METHODPR(T, IsNumber, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isNumber() const", AS_METHODPR(T, IsNumber, () const, bool), AS_CALL_THISCALL); // bool JSONValue::IsObject() const engine->RegisterObjectMethod(className, "bool IsObject() const", AS_METHODPR(T, IsObject, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isObject() const", AS_METHODPR(T, IsObject, () const, bool), AS_CALL_THISCALL); // bool JSONValue::IsString() const engine->RegisterObjectMethod(className, "bool IsString() const", AS_METHODPR(T, IsString, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isString() const", AS_METHODPR(T, IsString, () const, bool), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(bool rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(bool)", AS_METHODPR(T, operator=, (bool), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(int rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(int)", AS_METHODPR(T, operator=, (int), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(unsigned rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(uint)", AS_METHODPR(T, operator=, (unsigned), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(float rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(float)", AS_METHODPR(T, operator=, (float), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(double rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(double)", AS_METHODPR(T, operator=, (double), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(const String& rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(const String&in)", AS_METHODPR(T, operator=, (const String&), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator =(const JSONValue& rhs) engine->RegisterObjectMethod(className, "JSONValue& opAssign(const JSONValue&in)", AS_METHODPR(T, operator=, (const JSONValue&), JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator [](unsigned index) engine->RegisterObjectMethod(className, "JSONValue& opIndex(uint)", AS_METHODPR(T, operator[], (unsigned), JSONValue&), AS_CALL_THISCALL); // const JSONValue& JSONValue::operator [](unsigned index) const engine->RegisterObjectMethod(className, "const JSONValue& opIndex(uint) const", AS_METHODPR(T, operator[], (unsigned) const, const JSONValue&), AS_CALL_THISCALL); // JSONValue& JSONValue::operator [](const String& key) engine->RegisterObjectMethod(className, "JSONValue& opIndex(const String&in)", AS_METHODPR(T, operator[], (const String&), JSONValue&), AS_CALL_THISCALL); // const JSONValue& JSONValue::operator [](const String& key) const engine->RegisterObjectMethod(className, "const JSONValue& opIndex(const String&in) const", AS_METHODPR(T, operator[], (const String&) const, const JSONValue&), AS_CALL_THISCALL); // void JSONValue::Pop() engine->RegisterObjectMethod(className, "void Pop()", AS_METHODPR(T, Pop, (), void), AS_CALL_THISCALL); // void JSONValue::Push(const JSONValue& value) engine->RegisterObjectMethod(className, "void Push(const JSONValue&in)", AS_METHODPR(T, Push, (const JSONValue&), void), AS_CALL_THISCALL); // void JSONValue::Resize(unsigned newSize) engine->RegisterObjectMethod(className, "void Resize(uint)", AS_METHODPR(T, Resize, (unsigned), void), AS_CALL_THISCALL); // void JSONValue::Set(const String& key, const JSONValue& value) engine->RegisterObjectMethod(className, "void Set(const String&in, const JSONValue&in)", AS_METHODPR(T, Set, (const String&, const JSONValue&), void), AS_CALL_THISCALL); // void JSONValue::SetType(JSONValueType valueType, JSONNumberType numberType = JSONNT_NAN) engine->RegisterObjectMethod(className, "void SetType(JSONValueType, JSONNumberType = JSONNT_NAN)", AS_METHODPR(T, SetType, (JSONValueType, JSONNumberType), void), AS_CALL_THISCALL); // void JSONValue::SetVariant(const Variant& variant, Context* context = nullptr) engine->RegisterObjectMethod(className, "void SetVariant(const Variant&in)", AS_FUNCTION_OBJFIRST(JSONValue_void_SetVariant_constspVariantamp_Contextstar_template), AS_CALL_CDECL_OBJFIRST); // void JSONValue::SetVariantMap(const VariantMap& variantMap, Context* context = nullptr) engine->RegisterObjectMethod(className, "void SetVariantMap(const VariantMap&in)", AS_FUNCTION_OBJFIRST(JSONValue_void_SetVariantMap_constspVariantMapamp_Contextstar_template), AS_CALL_CDECL_OBJFIRST); // void JSONValue::SetVariantValue(const Variant& variant, Context* context = nullptr) engine->RegisterObjectMethod(className, "void SetVariantValue(const Variant&in)", AS_FUNCTION_OBJFIRST(JSONValue_void_SetVariantValue_constspVariantamp_Contextstar_template), AS_CALL_CDECL_OBJFIRST); // unsigned JSONValue::Size() const engine->RegisterObjectMethod(className, "uint Size() const", AS_METHODPR(T, Size, () const, unsigned), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_size() const", AS_METHODPR(T, Size, () const, unsigned), AS_CALL_THISCALL); // static JSONValueType JSONValue::GetValueTypeFromName(const char* typeName) // Error: type "const char*" can not automatically bind // static JSONNumberType JSONValue::GetNumberTypeFromName(const char* typeName) // Error: type "const char*" can not automatically bind // static String JSONValue::GetValueTypeName(JSONValueType type) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("String GetValueTypeName(JSONValueType)", AS_FUNCTIONPR(T::GetValueTypeName, (JSONValueType), String), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static String JSONValue::GetNumberTypeName(JSONNumberType type) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("String GetNumberTypeName(JSONNumberType)", AS_FUNCTIONPR(T::GetNumberTypeName, (JSONNumberType), String), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static JSONValueType JSONValue::GetValueTypeFromName(const String& typeName) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("JSONValueType GetValueTypeFromName(const String&in)", AS_FUNCTIONPR(T::GetValueTypeFromName, (const String&), JSONValueType), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static JSONNumberType JSONValue::GetNumberTypeFromName(const String& typeName) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("JSONNumberType GetNumberTypeFromName(const String&in)", AS_FUNCTIONPR(T::GetNumberTypeFromName, (const String&), JSONNumberType), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // bool JSONValue::boolValue_ // Not registered because have @nobind mark // double JSONValue::numberValue_ // Not registered because have @nobind mark // String* JSONValue::stringValue_ // Not registered because have @nobind mark // JSONArray* JSONValue::arrayValue_ // Not registered because have @nobind mark // JSONObject* JSONValue::objectValue_ // Not registered because have @nobind mark // static const JSONArray JSONValue::emptyArray // Error: type "const JSONArray" can not automatically bind // static const JSONObject JSONValue::emptyObject // Error: type "const JSONObject" can not automatically bind // static const JSONValue JSONValue::EMPTY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const JSONValue EMPTY", (void*)&T::EMPTY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_JSONValue REGISTER_MEMBERS_MANUAL_PART_JSONValue(); #endif } // struct JoystickState | File: ../Input/Input.h template void RegisterMembers_JoystickState(asIScriptEngine* engine, const char* className) { // float JoystickState::GetAxisPosition(i32 index) const engine->RegisterObjectMethod(className, "float GetAxisPosition(int) const", AS_METHODPR(T, GetAxisPosition, (i32) const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_axisPosition(int) const", AS_METHODPR(T, GetAxisPosition, (i32) const, float), AS_CALL_THISCALL); // bool JoystickState::GetButtonDown(i32 index) const engine->RegisterObjectMethod(className, "bool GetButtonDown(int) const", AS_METHODPR(T, GetButtonDown, (i32) const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_buttonDown(int) const", AS_METHODPR(T, GetButtonDown, (i32) const, bool), AS_CALL_THISCALL); // bool JoystickState::GetButtonPress(i32 index) const engine->RegisterObjectMethod(className, "bool GetButtonPress(int) const", AS_METHODPR(T, GetButtonPress, (i32) const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_buttonPress(int) const", AS_METHODPR(T, GetButtonPress, (i32) const, bool), AS_CALL_THISCALL); // int JoystickState::GetHatPosition(i32 index) const engine->RegisterObjectMethod(className, "int GetHatPosition(int) const", AS_METHODPR(T, GetHatPosition, (i32) const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_hatPosition(int) const", AS_METHODPR(T, GetHatPosition, (i32) const, int), AS_CALL_THISCALL); // i32 JoystickState::GetNumAxes() const engine->RegisterObjectMethod(className, "int GetNumAxes() const", AS_METHODPR(T, GetNumAxes, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numAxes() const", AS_METHODPR(T, GetNumAxes, () const, i32), AS_CALL_THISCALL); // i32 JoystickState::GetNumButtons() const engine->RegisterObjectMethod(className, "int GetNumButtons() const", AS_METHODPR(T, GetNumButtons, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numButtons() const", AS_METHODPR(T, GetNumButtons, () const, i32), AS_CALL_THISCALL); // i32 JoystickState::GetNumHats() const engine->RegisterObjectMethod(className, "int GetNumHats() const", AS_METHODPR(T, GetNumHats, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numHats() const", AS_METHODPR(T, GetNumHats, () const, i32), AS_CALL_THISCALL); // void JoystickState::Initialize(i32 numButtons, i32 numAxes, i32 numHats) engine->RegisterObjectMethod(className, "void Initialize(int, int, int)", AS_METHODPR(T, Initialize, (i32, i32, i32), void), AS_CALL_THISCALL); // bool JoystickState::IsController() const engine->RegisterObjectMethod(className, "bool IsController() const", AS_METHODPR(T, IsController, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_controller() const", AS_METHODPR(T, IsController, () const, bool), AS_CALL_THISCALL); // void JoystickState::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); // SDL_Joystick* JoystickState::joystick_ // Not registered because pointer // SDL_GameController* JoystickState::controller_ // Not registered because pointer // UIElement* JoystickState::screenJoystick_ // Not registered because pointer // Vector JoystickState::buttons_ // Error: type "Vector" can not automatically bind // Vector JoystickState::buttonPress_ // Error: type "Vector" can not automatically bind // Vector JoystickState::axes_ // Error: type "Vector" can not automatically bind // Vector JoystickState::hats_ // Error: type "Vector" can not automatically bind // SDL_JoystickID JoystickState::joystickID_ engine->RegisterObjectProperty(className, "SDL_JoystickID joystickID", offsetof(T, joystickID_)); // String JoystickState::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_JoystickState REGISTER_MEMBERS_MANUAL_PART_JoystickState(); #endif } // struct LightBatchQueue | File: ../Graphics/Batch.h template void RegisterMembers_LightBatchQueue(asIScriptEngine* engine, const char* className) { // Light* LightBatchQueue::light_ // Not registered because pointer // Texture2D* LightBatchQueue::shadowMap_ // Not registered because pointer // Vector LightBatchQueue::shadowSplits_ // Error: type "Vector" can not automatically bind // Vector LightBatchQueue::vertexLights_ // Error: type "Vector" can not automatically bind // Vector LightBatchQueue::volumeBatches_ // Error: type "Vector" can not automatically bind // bool LightBatchQueue::negative_ engine->RegisterObjectProperty(className, "bool negative", offsetof(T, negative_)); // BatchQueue LightBatchQueue::litBaseBatches_ engine->RegisterObjectProperty(className, "BatchQueue litBaseBatches", offsetof(T, litBaseBatches_)); // BatchQueue LightBatchQueue::litBatches_ engine->RegisterObjectProperty(className, "BatchQueue litBatches", offsetof(T, litBatches_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_LightBatchQueue REGISTER_MEMBERS_MANUAL_PART_LightBatchQueue(); #endif } // struct LightQueryResult | File: ../Graphics/View.h template void RegisterMembers_LightQueryResult(asIScriptEngine* engine, const char* className) { // Light* LightQueryResult::light_ // Not registered because pointer // Vector LightQueryResult::litGeometries_ // Error: type "Vector" can not automatically bind // Vector LightQueryResult::shadowCasters_ // Error: type "Vector" can not automatically bind // Camera* LightQueryResult::shadowCameras_[MAX_LIGHT_SPLITS] // Not registered because array // i32 LightQueryResult::shadowCasterBegin_[MAX_LIGHT_SPLITS] // Not registered because array // i32 LightQueryResult::shadowCasterEnd_[MAX_LIGHT_SPLITS] // Not registered because array // BoundingBox LightQueryResult::shadowCasterBox_[MAX_LIGHT_SPLITS] // Not registered because array // float LightQueryResult::shadowNearSplits_[MAX_LIGHT_SPLITS] // Not registered because array // float LightQueryResult::shadowFarSplits_[MAX_LIGHT_SPLITS] // Not registered because array // i32 LightQueryResult::numSplits_ engine->RegisterObjectProperty(className, "int numSplits", offsetof(T, numSplits_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_LightQueryResult REGISTER_MEMBERS_MANUAL_PART_LightQueryResult(); #endif } // struct LinkedListNode | File: ../Container/LinkedList.h template void RegisterMembers_LinkedListNode(asIScriptEngine* engine, const char* className) { // LinkedListNode* LinkedListNode::next_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_LinkedListNode REGISTER_MEMBERS_MANUAL_PART_LinkedListNode(); #endif } // class ListBase | File: ../Container/ListBase.h template void RegisterMembers_ListBase(asIScriptEngine* engine, const char* className) { // void ListBase::Swap(ListBase& rhs) engine->RegisterObjectMethod(className, "void Swap(ListBase&)", AS_METHODPR(T, Swap, (ListBase&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_ListBase REGISTER_MEMBERS_MANUAL_PART_ListBase(); #endif } // struct ListIteratorBase | File: ../Container/ListBase.h template void RegisterMembers_ListIteratorBase(asIScriptEngine* engine, const char* className) { // bool ListIteratorBase::operator !=(const ListIteratorBase& rhs) const // Only operator == is needed // void ListIteratorBase::GotoNext() engine->RegisterObjectMethod(className, "void GotoNext()", AS_METHODPR(T, GotoNext, (), void), AS_CALL_THISCALL); // void ListIteratorBase::GotoPrev() engine->RegisterObjectMethod(className, "void GotoPrev()", AS_METHODPR(T, GotoPrev, (), void), AS_CALL_THISCALL); // bool ListIteratorBase::operator ==(const ListIteratorBase& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ListIteratorBase&in) const", AS_METHODPR(T, operator==, (const ListIteratorBase&) const, bool), AS_CALL_THISCALL); // ListNodeBase* ListIteratorBase::ptr_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_ListIteratorBase REGISTER_MEMBERS_MANUAL_PART_ListIteratorBase(); #endif } // struct ListNodeBase | File: ../Container/ListBase.h template void RegisterMembers_ListNodeBase(asIScriptEngine* engine, const char* className) { // ListNodeBase* ListNodeBase::prev_ // Not registered because pointer // ListNodeBase* ListNodeBase::next_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_ListNodeBase REGISTER_MEMBERS_MANUAL_PART_ListNodeBase(); #endif } // struct MaterialShaderParameter | File: ../Graphics/Material.h template void RegisterMembers_MaterialShaderParameter(asIScriptEngine* engine, const char* className) { // String MaterialShaderParameter::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // Variant MaterialShaderParameter::value_ engine->RegisterObjectProperty(className, "Variant value", offsetof(T, value_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_MaterialShaderParameter REGISTER_MEMBERS_MANUAL_PART_MaterialShaderParameter(); #endif } // class Matrix2 | File: ../Math/Matrix2.h template void RegisterMembers_Matrix2(asIScriptEngine* engine, const char* className) { // const float* Matrix2::Data() const // Error: type "const float*" can not automatically bind // bool Matrix2::operator !=(const Matrix2& rhs) const // Only operator == is needed // bool Matrix2::Equals(const Matrix2& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Matrix2&in) const", AS_METHODPR(T, Equals, (const Matrix2&) const, bool), AS_CALL_THISCALL); // Matrix2 Matrix2::Inverse() const engine->RegisterObjectMethod(className, "Matrix2 Inverse() const", AS_METHODPR(T, Inverse, () const, Matrix2), AS_CALL_THISCALL); // bool Matrix2::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Matrix2::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // Vector2 Matrix2::operator *(const Vector2& rhs) const engine->RegisterObjectMethod(className, "Vector2 opMul(const Vector2&in) const", AS_METHODPR(T, operator*, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // Matrix2 Matrix2::operator *(float rhs) const engine->RegisterObjectMethod(className, "Matrix2 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Matrix2), AS_CALL_THISCALL); // Matrix2 Matrix2::operator *(const Matrix2& rhs) const engine->RegisterObjectMethod(className, "Matrix2 opMul(const Matrix2&in) const", AS_METHODPR(T, operator*, (const Matrix2&) const, Matrix2), AS_CALL_THISCALL); // Matrix2 Matrix2::operator +(const Matrix2& rhs) const engine->RegisterObjectMethod(className, "Matrix2 opAdd(const Matrix2&in) const", AS_METHODPR(T, operator+, (const Matrix2&) const, Matrix2), AS_CALL_THISCALL); // Matrix2 Matrix2::operator -(const Matrix2& rhs) const engine->RegisterObjectMethod(className, "Matrix2 opSub(const Matrix2&in) const", AS_METHODPR(T, operator-, (const Matrix2&) const, Matrix2), AS_CALL_THISCALL); // Matrix2& Matrix2::operator =(const Matrix2& rhs) noexcept = default engine->RegisterObjectMethod(className, "Matrix2& opAssign(const Matrix2&in)", AS_METHODPR(T, operator=, (const Matrix2&), Matrix2&), AS_CALL_THISCALL); // bool Matrix2::operator ==(const Matrix2& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix2&in) const", AS_METHODPR(T, operator==, (const Matrix2&) const, bool), AS_CALL_THISCALL); // Vector2 Matrix2::Scale() const engine->RegisterObjectMethod(className, "Vector2 Scale() const", AS_METHODPR(T, Scale, () const, Vector2), AS_CALL_THISCALL); // Matrix2 Matrix2::Scaled(const Vector2& scale) const engine->RegisterObjectMethod(className, "Matrix2 Scaled(const Vector2&in) const", AS_METHODPR(T, Scaled, (const Vector2&) const, Matrix2), AS_CALL_THISCALL); // void Matrix2::SetScale(const Vector2& scale) engine->RegisterObjectMethod(className, "void SetScale(const Vector2&in)", AS_METHODPR(T, SetScale, (const Vector2&), void), AS_CALL_THISCALL); // void Matrix2::SetScale(float scale) engine->RegisterObjectMethod(className, "void SetScale(float)", AS_METHODPR(T, SetScale, (float), void), AS_CALL_THISCALL); // String Matrix2::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // Matrix2 Matrix2::Transpose() const engine->RegisterObjectMethod(className, "Matrix2 Transpose() const", AS_METHODPR(T, Transpose, () const, Matrix2), AS_CALL_THISCALL); // static void Matrix2::BulkTranspose(float* dest, const float* src, unsigned count) // Error: type "float*" can not automatically bind // float Matrix2::m00_ engine->RegisterObjectProperty(className, "float m00", offsetof(T, m00_)); // float Matrix2::m01_ engine->RegisterObjectProperty(className, "float m01", offsetof(T, m01_)); // float Matrix2::m10_ engine->RegisterObjectProperty(className, "float m10", offsetof(T, m10_)); // float Matrix2::m11_ engine->RegisterObjectProperty(className, "float m11", offsetof(T, m11_)); // static const Matrix2 Matrix2::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix2 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Matrix2 Matrix2::IDENTITY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix2 IDENTITY", (void*)&T::IDENTITY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Matrix2 REGISTER_MEMBERS_MANUAL_PART_Matrix2(); #endif } // class Matrix3 | File: ../Math/Matrix3.h template void RegisterMembers_Matrix3(asIScriptEngine* engine, const char* className) { // const float* Matrix3::Data() const // Error: type "const float*" can not automatically bind // bool Matrix3::operator !=(const Matrix3& rhs) const // Only operator == is needed // Vector3 Matrix3::Column(unsigned j) const engine->RegisterObjectMethod(className, "Vector3 Column(uint) const", AS_METHODPR(T, Column, (unsigned) const, Vector3), AS_CALL_THISCALL); // float Matrix3::Element(unsigned i, unsigned j) const engine->RegisterObjectMethod(className, "float Element(uint, uint) const", AS_METHODPR(T, Element, (unsigned, unsigned) const, float), AS_CALL_THISCALL); // bool Matrix3::Equals(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Matrix3&in) const", AS_METHODPR(T, Equals, (const Matrix3&) const, bool), AS_CALL_THISCALL); // Matrix3 Matrix3::Inverse() const engine->RegisterObjectMethod(className, "Matrix3 Inverse() const", AS_METHODPR(T, Inverse, () const, Matrix3), AS_CALL_THISCALL); // bool Matrix3::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Matrix3::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // Vector3 Matrix3::operator *(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector3&in) const", AS_METHODPR(T, operator*, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Matrix3 Matrix3::operator *(float rhs) const engine->RegisterObjectMethod(className, "Matrix3 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Matrix3), AS_CALL_THISCALL); // Matrix3 Matrix3::operator *(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "Matrix3 opMul(const Matrix3&in) const", AS_METHODPR(T, operator*, (const Matrix3&) const, Matrix3), AS_CALL_THISCALL); // Matrix3 Matrix3::operator +(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "Matrix3 opAdd(const Matrix3&in) const", AS_METHODPR(T, operator+, (const Matrix3&) const, Matrix3), AS_CALL_THISCALL); // Matrix3 Matrix3::operator -(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "Matrix3 opSub(const Matrix3&in) const", AS_METHODPR(T, operator-, (const Matrix3&) const, Matrix3), AS_CALL_THISCALL); // Matrix3& Matrix3::operator =(const Matrix3& rhs) noexcept = default engine->RegisterObjectMethod(className, "Matrix3& opAssign(const Matrix3&in)", AS_METHODPR(T, operator=, (const Matrix3&), Matrix3&), AS_CALL_THISCALL); // bool Matrix3::operator ==(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix3&in) const", AS_METHODPR(T, operator==, (const Matrix3&) const, bool), AS_CALL_THISCALL); // Vector3 Matrix3::Row(unsigned i) const engine->RegisterObjectMethod(className, "Vector3 Row(uint) const", AS_METHODPR(T, Row, (unsigned) const, Vector3), AS_CALL_THISCALL); // Vector3 Matrix3::Scale() const engine->RegisterObjectMethod(className, "Vector3 Scale() const", AS_METHODPR(T, Scale, () const, Vector3), AS_CALL_THISCALL); // Matrix3 Matrix3::Scaled(const Vector3& scale) const engine->RegisterObjectMethod(className, "Matrix3 Scaled(const Vector3&in) const", AS_METHODPR(T, Scaled, (const Vector3&) const, Matrix3), AS_CALL_THISCALL); // void Matrix3::SetScale(const Vector3& scale) engine->RegisterObjectMethod(className, "void SetScale(const Vector3&in)", AS_METHODPR(T, SetScale, (const Vector3&), void), AS_CALL_THISCALL); // void Matrix3::SetScale(float scale) engine->RegisterObjectMethod(className, "void SetScale(float)", AS_METHODPR(T, SetScale, (float), void), AS_CALL_THISCALL); // Vector3 Matrix3::SignedScale(const Matrix3& rotation) const engine->RegisterObjectMethod(className, "Vector3 SignedScale(const Matrix3&in) const", AS_METHODPR(T, SignedScale, (const Matrix3&) const, Vector3), AS_CALL_THISCALL); // String Matrix3::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // Matrix3 Matrix3::Transpose() const engine->RegisterObjectMethod(className, "Matrix3 Transpose() const", AS_METHODPR(T, Transpose, () const, Matrix3), AS_CALL_THISCALL); // static void Matrix3::BulkTranspose(float* dest, const float* src, unsigned count) // Error: type "float*" can not automatically bind // float Matrix3::m00_ engine->RegisterObjectProperty(className, "float m00", offsetof(T, m00_)); // float Matrix3::m01_ engine->RegisterObjectProperty(className, "float m01", offsetof(T, m01_)); // float Matrix3::m02_ engine->RegisterObjectProperty(className, "float m02", offsetof(T, m02_)); // float Matrix3::m10_ engine->RegisterObjectProperty(className, "float m10", offsetof(T, m10_)); // float Matrix3::m11_ engine->RegisterObjectProperty(className, "float m11", offsetof(T, m11_)); // float Matrix3::m12_ engine->RegisterObjectProperty(className, "float m12", offsetof(T, m12_)); // float Matrix3::m20_ engine->RegisterObjectProperty(className, "float m20", offsetof(T, m20_)); // float Matrix3::m21_ engine->RegisterObjectProperty(className, "float m21", offsetof(T, m21_)); // float Matrix3::m22_ engine->RegisterObjectProperty(className, "float m22", offsetof(T, m22_)); // static const Matrix3 Matrix3::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix3 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Matrix3 Matrix3::IDENTITY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix3 IDENTITY", (void*)&T::IDENTITY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Matrix3 REGISTER_MEMBERS_MANUAL_PART_Matrix3(); #endif } // class Matrix3x4 | File: ../Math/Matrix3x4.h template void RegisterMembers_Matrix3x4(asIScriptEngine* engine, const char* className) { // const float* Matrix3x4::Data() const // Error: type "const float*" can not automatically bind // bool Matrix3x4::operator !=(const Matrix3x4& rhs) const // Only operator == is needed // Vector3 Matrix3x4::Column(unsigned j) const engine->RegisterObjectMethod(className, "Vector3 Column(uint) const", AS_METHODPR(T, Column, (unsigned) const, Vector3), AS_CALL_THISCALL); // void Matrix3x4::Decompose(Vector3& translation, Quaternion& rotation, Vector3& scale) const engine->RegisterObjectMethod(className, "void Decompose(Vector3&, Quaternion&, Vector3&) const", AS_METHODPR(T, Decompose, (Vector3&, Quaternion&, Vector3&) const, void), AS_CALL_THISCALL); // float Matrix3x4::Element(unsigned i, unsigned j) const engine->RegisterObjectMethod(className, "float Element(uint, uint) const", AS_METHODPR(T, Element, (unsigned, unsigned) const, float), AS_CALL_THISCALL); // bool Matrix3x4::Equals(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Matrix3x4&in) const", AS_METHODPR(T, Equals, (const Matrix3x4&) const, bool), AS_CALL_THISCALL); // Matrix3x4 Matrix3x4::Inverse() const engine->RegisterObjectMethod(className, "Matrix3x4 Inverse() const", AS_METHODPR(T, Inverse, () const, Matrix3x4), AS_CALL_THISCALL); // bool Matrix3x4::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Matrix3x4::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // Vector3 Matrix3x4::operator *(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector3&in) const", AS_METHODPR(T, operator*, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3 Matrix3x4::operator *(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector4&in) const", AS_METHODPR(T, operator*, (const Vector4&) const, Vector3), AS_CALL_THISCALL); // Matrix3x4 Matrix3x4::operator *(float rhs) const engine->RegisterObjectMethod(className, "Matrix3x4 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Matrix3x4), AS_CALL_THISCALL); // Matrix3x4 Matrix3x4::operator *(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "Matrix3x4 opMul(const Matrix3x4&in) const", AS_METHODPR(T, operator*, (const Matrix3x4&) const, Matrix3x4), AS_CALL_THISCALL); // Matrix4 Matrix3x4::operator *(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "Matrix4 opMul(const Matrix4&in) const", AS_METHODPR(T, operator*, (const Matrix4&) const, Matrix4), AS_CALL_THISCALL); // Matrix3x4 Matrix3x4::operator +(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "Matrix3x4 opAdd(const Matrix3x4&in) const", AS_METHODPR(T, operator+, (const Matrix3x4&) const, Matrix3x4), AS_CALL_THISCALL); // Matrix3x4 Matrix3x4::operator -(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "Matrix3x4 opSub(const Matrix3x4&in) const", AS_METHODPR(T, operator-, (const Matrix3x4&) const, Matrix3x4), AS_CALL_THISCALL); // Matrix3x4& Matrix3x4::operator =(const Matrix3x4& rhs) noexcept = default engine->RegisterObjectMethod(className, "Matrix3x4& opAssign(const Matrix3x4&in)", AS_METHODPR(T, operator=, (const Matrix3x4&), Matrix3x4&), AS_CALL_THISCALL); // Matrix3x4& Matrix3x4::operator =(const Matrix3& rhs) noexcept engine->RegisterObjectMethod(className, "Matrix3x4& opAssign(const Matrix3&in)", AS_METHODPR(T, operator=, (const Matrix3&), Matrix3x4&), AS_CALL_THISCALL); // Matrix3x4& Matrix3x4::operator =(const Matrix4& rhs) noexcept engine->RegisterObjectMethod(className, "Matrix3x4& opAssign(const Matrix4&in)", AS_METHODPR(T, operator=, (const Matrix4&), Matrix3x4&), AS_CALL_THISCALL); // bool Matrix3x4::operator ==(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix3x4&in) const", AS_METHODPR(T, operator==, (const Matrix3x4&) const, bool), AS_CALL_THISCALL); // Quaternion Matrix3x4::Rotation() const engine->RegisterObjectMethod(className, "Quaternion Rotation() const", AS_METHODPR(T, Rotation, () const, Quaternion), AS_CALL_THISCALL); // Matrix3 Matrix3x4::RotationMatrix() const engine->RegisterObjectMethod(className, "Matrix3 RotationMatrix() const", AS_METHODPR(T, RotationMatrix, () const, Matrix3), AS_CALL_THISCALL); // Vector4 Matrix3x4::Row(unsigned i) const engine->RegisterObjectMethod(className, "Vector4 Row(uint) const", AS_METHODPR(T, Row, (unsigned) const, Vector4), AS_CALL_THISCALL); // Vector3 Matrix3x4::Scale() const engine->RegisterObjectMethod(className, "Vector3 Scale() const", AS_METHODPR(T, Scale, () const, Vector3), AS_CALL_THISCALL); // void Matrix3x4::SetRotation(const Matrix3& rotation) engine->RegisterObjectMethod(className, "void SetRotation(const Matrix3&in)", AS_METHODPR(T, SetRotation, (const Matrix3&), void), AS_CALL_THISCALL); // void Matrix3x4::SetScale(const Vector3& scale) engine->RegisterObjectMethod(className, "void SetScale(const Vector3&in)", AS_METHODPR(T, SetScale, (const Vector3&), void), AS_CALL_THISCALL); // void Matrix3x4::SetScale(float scale) engine->RegisterObjectMethod(className, "void SetScale(float)", AS_METHODPR(T, SetScale, (float), void), AS_CALL_THISCALL); // void Matrix3x4::SetTranslation(const Vector3& translation) engine->RegisterObjectMethod(className, "void SetTranslation(const Vector3&in)", AS_METHODPR(T, SetTranslation, (const Vector3&), void), AS_CALL_THISCALL); // Vector3 Matrix3x4::SignedScale(const Matrix3& rotation) const engine->RegisterObjectMethod(className, "Vector3 SignedScale(const Matrix3&in) const", AS_METHODPR(T, SignedScale, (const Matrix3&) const, Vector3), AS_CALL_THISCALL); // Matrix3 Matrix3x4::ToMatrix3() const engine->RegisterObjectMethod(className, "Matrix3 ToMatrix3() const", AS_METHODPR(T, ToMatrix3, () const, Matrix3), AS_CALL_THISCALL); // Matrix4 Matrix3x4::ToMatrix4() const engine->RegisterObjectMethod(className, "Matrix4 ToMatrix4() const", AS_METHODPR(T, ToMatrix4, () const, Matrix4), AS_CALL_THISCALL); // String Matrix3x4::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // Vector3 Matrix3x4::Translation() const engine->RegisterObjectMethod(className, "Vector3 Translation() const", AS_METHODPR(T, Translation, () const, Vector3), AS_CALL_THISCALL); // float Matrix3x4::m00_ engine->RegisterObjectProperty(className, "float m00", offsetof(T, m00_)); // float Matrix3x4::m01_ engine->RegisterObjectProperty(className, "float m01", offsetof(T, m01_)); // float Matrix3x4::m02_ engine->RegisterObjectProperty(className, "float m02", offsetof(T, m02_)); // float Matrix3x4::m03_ engine->RegisterObjectProperty(className, "float m03", offsetof(T, m03_)); // float Matrix3x4::m10_ engine->RegisterObjectProperty(className, "float m10", offsetof(T, m10_)); // float Matrix3x4::m11_ engine->RegisterObjectProperty(className, "float m11", offsetof(T, m11_)); // float Matrix3x4::m12_ engine->RegisterObjectProperty(className, "float m12", offsetof(T, m12_)); // float Matrix3x4::m13_ engine->RegisterObjectProperty(className, "float m13", offsetof(T, m13_)); // float Matrix3x4::m20_ engine->RegisterObjectProperty(className, "float m20", offsetof(T, m20_)); // float Matrix3x4::m21_ engine->RegisterObjectProperty(className, "float m21", offsetof(T, m21_)); // float Matrix3x4::m22_ engine->RegisterObjectProperty(className, "float m22", offsetof(T, m22_)); // float Matrix3x4::m23_ engine->RegisterObjectProperty(className, "float m23", offsetof(T, m23_)); // static const Matrix3x4 Matrix3x4::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix3x4 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Matrix3x4 Matrix3x4::IDENTITY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix3x4 IDENTITY", (void*)&T::IDENTITY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Matrix3x4 REGISTER_MEMBERS_MANUAL_PART_Matrix3x4(); #endif } // class Matrix4 | File: ../Math/Matrix4.h template void RegisterMembers_Matrix4(asIScriptEngine* engine, const char* className) { // const float* Matrix4::Data() const // Error: type "const float*" can not automatically bind // bool Matrix4::operator !=(const Matrix4& rhs) const // Only operator == is needed // Vector4 Matrix4::Column(unsigned j) const engine->RegisterObjectMethod(className, "Vector4 Column(uint) const", AS_METHODPR(T, Column, (unsigned) const, Vector4), AS_CALL_THISCALL); // void Matrix4::Decompose(Vector3& translation, Quaternion& rotation, Vector3& scale) const engine->RegisterObjectMethod(className, "void Decompose(Vector3&, Quaternion&, Vector3&) const", AS_METHODPR(T, Decompose, (Vector3&, Quaternion&, Vector3&) const, void), AS_CALL_THISCALL); // float Matrix4::Element(unsigned i, unsigned j) const engine->RegisterObjectMethod(className, "float Element(uint, uint) const", AS_METHODPR(T, Element, (unsigned, unsigned) const, float), AS_CALL_THISCALL); // bool Matrix4::Equals(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Matrix4&in) const", AS_METHODPR(T, Equals, (const Matrix4&) const, bool), AS_CALL_THISCALL); // Matrix4 Matrix4::Inverse() const engine->RegisterObjectMethod(className, "Matrix4 Inverse() const", AS_METHODPR(T, Inverse, () const, Matrix4), AS_CALL_THISCALL); // bool Matrix4::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Matrix4::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // Vector3 Matrix4::operator *(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector3&in) const", AS_METHODPR(T, operator*, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector4 Matrix4::operator *(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector4 opMul(const Vector4&in) const", AS_METHODPR(T, operator*, (const Vector4&) const, Vector4), AS_CALL_THISCALL); // Matrix4 Matrix4::operator *(float rhs) const engine->RegisterObjectMethod(className, "Matrix4 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Matrix4), AS_CALL_THISCALL); // Matrix4 Matrix4::operator *(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "Matrix4 opMul(const Matrix4&in) const", AS_METHODPR(T, operator*, (const Matrix4&) const, Matrix4), AS_CALL_THISCALL); // Matrix4 Matrix4::operator *(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "Matrix4 opMul(const Matrix3x4&in) const", AS_METHODPR(T, operator*, (const Matrix3x4&) const, Matrix4), AS_CALL_THISCALL); // Matrix4 Matrix4::operator +(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "Matrix4 opAdd(const Matrix4&in) const", AS_METHODPR(T, operator+, (const Matrix4&) const, Matrix4), AS_CALL_THISCALL); // Matrix4 Matrix4::operator -(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "Matrix4 opSub(const Matrix4&in) const", AS_METHODPR(T, operator-, (const Matrix4&) const, Matrix4), AS_CALL_THISCALL); // Matrix4& Matrix4::operator =(const Matrix4& rhs) noexcept engine->RegisterObjectMethod(className, "Matrix4& opAssign(const Matrix4&in)", AS_METHODPR(T, operator=, (const Matrix4&), Matrix4&), AS_CALL_THISCALL); // Matrix4& Matrix4::operator =(const Matrix3& rhs) noexcept engine->RegisterObjectMethod(className, "Matrix4& opAssign(const Matrix3&in)", AS_METHODPR(T, operator=, (const Matrix3&), Matrix4&), AS_CALL_THISCALL); // bool Matrix4::operator ==(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix4&in) const", AS_METHODPR(T, operator==, (const Matrix4&) const, bool), AS_CALL_THISCALL); // Quaternion Matrix4::Rotation() const engine->RegisterObjectMethod(className, "Quaternion Rotation() const", AS_METHODPR(T, Rotation, () const, Quaternion), AS_CALL_THISCALL); // Matrix3 Matrix4::RotationMatrix() const engine->RegisterObjectMethod(className, "Matrix3 RotationMatrix() const", AS_METHODPR(T, RotationMatrix, () const, Matrix3), AS_CALL_THISCALL); // Vector4 Matrix4::Row(unsigned i) const engine->RegisterObjectMethod(className, "Vector4 Row(uint) const", AS_METHODPR(T, Row, (unsigned) const, Vector4), AS_CALL_THISCALL); // Vector3 Matrix4::Scale() const engine->RegisterObjectMethod(className, "Vector3 Scale() const", AS_METHODPR(T, Scale, () const, Vector3), AS_CALL_THISCALL); // void Matrix4::SetRotation(const Matrix3& rotation) engine->RegisterObjectMethod(className, "void SetRotation(const Matrix3&in)", AS_METHODPR(T, SetRotation, (const Matrix3&), void), AS_CALL_THISCALL); // void Matrix4::SetScale(const Vector3& scale) engine->RegisterObjectMethod(className, "void SetScale(const Vector3&in)", AS_METHODPR(T, SetScale, (const Vector3&), void), AS_CALL_THISCALL); // void Matrix4::SetScale(float scale) engine->RegisterObjectMethod(className, "void SetScale(float)", AS_METHODPR(T, SetScale, (float), void), AS_CALL_THISCALL); // void Matrix4::SetTranslation(const Vector3& translation) engine->RegisterObjectMethod(className, "void SetTranslation(const Vector3&in)", AS_METHODPR(T, SetTranslation, (const Vector3&), void), AS_CALL_THISCALL); // Vector3 Matrix4::SignedScale(const Matrix3& rotation) const engine->RegisterObjectMethod(className, "Vector3 SignedScale(const Matrix3&in) const", AS_METHODPR(T, SignedScale, (const Matrix3&) const, Vector3), AS_CALL_THISCALL); // Matrix3 Matrix4::ToMatrix3() const engine->RegisterObjectMethod(className, "Matrix3 ToMatrix3() const", AS_METHODPR(T, ToMatrix3, () const, Matrix3), AS_CALL_THISCALL); // String Matrix4::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // Vector3 Matrix4::Translation() const engine->RegisterObjectMethod(className, "Vector3 Translation() const", AS_METHODPR(T, Translation, () const, Vector3), AS_CALL_THISCALL); // Matrix4 Matrix4::Transpose() const engine->RegisterObjectMethod(className, "Matrix4 Transpose() const", AS_METHODPR(T, Transpose, () const, Matrix4), AS_CALL_THISCALL); // static void Matrix4::BulkTranspose(float* dest, const float* src, unsigned count) // Error: type "float*" can not automatically bind // float Matrix4::m00_ engine->RegisterObjectProperty(className, "float m00", offsetof(T, m00_)); // float Matrix4::m01_ engine->RegisterObjectProperty(className, "float m01", offsetof(T, m01_)); // float Matrix4::m02_ engine->RegisterObjectProperty(className, "float m02", offsetof(T, m02_)); // float Matrix4::m03_ engine->RegisterObjectProperty(className, "float m03", offsetof(T, m03_)); // float Matrix4::m10_ engine->RegisterObjectProperty(className, "float m10", offsetof(T, m10_)); // float Matrix4::m11_ engine->RegisterObjectProperty(className, "float m11", offsetof(T, m11_)); // float Matrix4::m12_ engine->RegisterObjectProperty(className, "float m12", offsetof(T, m12_)); // float Matrix4::m13_ engine->RegisterObjectProperty(className, "float m13", offsetof(T, m13_)); // float Matrix4::m20_ engine->RegisterObjectProperty(className, "float m20", offsetof(T, m20_)); // float Matrix4::m21_ engine->RegisterObjectProperty(className, "float m21", offsetof(T, m21_)); // float Matrix4::m22_ engine->RegisterObjectProperty(className, "float m22", offsetof(T, m22_)); // float Matrix4::m23_ engine->RegisterObjectProperty(className, "float m23", offsetof(T, m23_)); // float Matrix4::m30_ engine->RegisterObjectProperty(className, "float m30", offsetof(T, m30_)); // float Matrix4::m31_ engine->RegisterObjectProperty(className, "float m31", offsetof(T, m31_)); // float Matrix4::m32_ engine->RegisterObjectProperty(className, "float m32", offsetof(T, m32_)); // float Matrix4::m33_ engine->RegisterObjectProperty(className, "float m33", offsetof(T, m33_)); // static const Matrix4 Matrix4::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix4 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Matrix4 Matrix4::IDENTITY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Matrix4 IDENTITY", (void*)&T::IDENTITY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Matrix4 REGISTER_MEMBERS_MANUAL_PART_Matrix4(); #endif } // struct ModelMorph | File: ../Graphics/Model.h template void RegisterMembers_ModelMorph(asIScriptEngine* engine, const char* className) { // HashMap ModelMorph::buffers_ // Error: type "HashMap" can not automatically bind // String ModelMorph::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // StringHash ModelMorph::nameHash_ engine->RegisterObjectProperty(className, "StringHash nameHash", offsetof(T, nameHash_)); // float ModelMorph::weight_ engine->RegisterObjectProperty(className, "float weight", offsetof(T, weight_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ModelMorph REGISTER_MEMBERS_MANUAL_PART_ModelMorph(); #endif } // class Mutex | File: ../Core/Mutex.h template void RegisterMembers_Mutex(asIScriptEngine* engine, const char* className) { // void Mutex::Acquire() engine->RegisterObjectMethod(className, "void Acquire()", AS_METHODPR(T, Acquire, (), void), AS_CALL_THISCALL); // void Mutex::Release() engine->RegisterObjectMethod(className, "void Release()", AS_METHODPR(T, Release, (), void), AS_CALL_THISCALL); // bool Mutex::TryAcquire() engine->RegisterObjectMethod(className, "bool TryAcquire()", AS_METHODPR(T, TryAcquire, (), bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Mutex REGISTER_MEMBERS_MANUAL_PART_Mutex(); #endif } // class MutexLock | File: ../Core/Mutex.h template void RegisterMembers_MutexLock(asIScriptEngine* engine, const char* className) { // MutexLock& MutexLock::operator =(const MutexLock& rhs) = delete // Not registered because deleted #ifdef REGISTER_MEMBERS_MANUAL_PART_MutexLock REGISTER_MEMBERS_MANUAL_PART_MutexLock(); #endif } // struct NetworkState | File: ../Scene/ReplicationState.h template void RegisterMembers_NetworkState(asIScriptEngine* engine, const char* className) { // const Vector* NetworkState::attributes_ // Not registered because pointer // Vector NetworkState::currentValues_ // Error: type "Vector" can not automatically bind // Vector NetworkState::previousValues_ // Error: type "Vector" can not automatically bind // Vector NetworkState::replicationStates_ // Error: type "Vector" can not automatically bind // VariantMap NetworkState::previousVars_ engine->RegisterObjectProperty(className, "VariantMap previousVars", offsetof(T, previousVars_)); // unsigned long long NetworkState::interceptMask_ engine->RegisterObjectProperty(className, "uint64 interceptMask", offsetof(T, interceptMask_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NetworkState REGISTER_MEMBERS_MANUAL_PART_NetworkState(); #endif } // struct NodeImpl | File: ../Scene/Node.h template void RegisterMembers_NodeImpl(asIScriptEngine* engine, const char* className) { // Vector NodeImpl::dependencyNodes_ // Error: type "Vector" can not automatically bind // Connection* NodeImpl::owner_ // Not registered because pointer // StringVector NodeImpl::tags_ // Error: type "StringVector" can not automatically bind // String NodeImpl::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // StringHash NodeImpl::nameHash_ engine->RegisterObjectProperty(className, "StringHash nameHash", offsetof(T, nameHash_)); // VectorBuffer NodeImpl::attrBuffer_ engine->RegisterObjectProperty(className, "VectorBuffer attrBuffer", offsetof(T, attrBuffer_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NodeImpl REGISTER_MEMBERS_MANUAL_PART_NodeImpl(); #endif } // struct OcclusionBatch | File: ../Graphics/OcclusionBuffer.h template void RegisterMembers_OcclusionBatch(asIScriptEngine* engine, const char* className) { // const void* OcclusionBatch::vertexData_ // Not registered because pointer // const void* OcclusionBatch::indexData_ // Not registered because pointer // Matrix3x4 OcclusionBatch::model_ engine->RegisterObjectProperty(className, "Matrix3x4 model", offsetof(T, model_)); // unsigned OcclusionBatch::vertexSize_ engine->RegisterObjectProperty(className, "uint vertexSize", offsetof(T, vertexSize_)); // unsigned OcclusionBatch::indexSize_ engine->RegisterObjectProperty(className, "uint indexSize", offsetof(T, indexSize_)); // unsigned OcclusionBatch::drawStart_ engine->RegisterObjectProperty(className, "uint drawStart", offsetof(T, drawStart_)); // unsigned OcclusionBatch::drawCount_ engine->RegisterObjectProperty(className, "uint drawCount", offsetof(T, drawCount_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_OcclusionBatch REGISTER_MEMBERS_MANUAL_PART_OcclusionBatch(); #endif } // struct OcclusionBufferData | File: ../Graphics/OcclusionBuffer.h template void RegisterMembers_OcclusionBufferData(asIScriptEngine* engine, const char* className) { // SharedArrayPtr OcclusionBufferData::dataWithSafety_ // Error: type "SharedArrayPtr" can not automatically bind // int* OcclusionBufferData::data_ // Not registered because pointer // bool OcclusionBufferData::used_ engine->RegisterObjectProperty(className, "bool used", offsetof(T, used_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_OcclusionBufferData REGISTER_MEMBERS_MANUAL_PART_OcclusionBufferData(); #endif } // class Octant | File: ../Graphics/Octree.h template void RegisterMembers_Octant(asIScriptEngine* engine, const char* className) { // Octant* Octant::GetOrCreateChild(i32 index) // Error: type "Octant" can not automatically bind bacause have @nobind mark // Octant* Octant::GetParent() const // Error: type "Octant" can not automatically bind bacause have @nobind mark // void Octant::AddDrawable(Drawable* drawable) engine->RegisterObjectMethod(className, "void AddDrawable(Drawable@+)", AS_METHODPR(T, AddDrawable, (Drawable*), void), AS_CALL_THISCALL); // bool Octant::CheckDrawableFit(const BoundingBox& box) const engine->RegisterObjectMethod(className, "bool CheckDrawableFit(const BoundingBox&in) const", AS_METHODPR(T, CheckDrawableFit, (const BoundingBox&) const, bool), AS_CALL_THISCALL); // void Octant::DeleteChild(i32 index) engine->RegisterObjectMethod(className, "void DeleteChild(int)", AS_METHODPR(T, DeleteChild, (i32), void), AS_CALL_THISCALL); // const BoundingBox& Octant::GetCullingBox() const engine->RegisterObjectMethod(className, "const BoundingBox& GetCullingBox() const", AS_METHODPR(T, GetCullingBox, () const, const BoundingBox&), AS_CALL_THISCALL); // i32 Octant::GetLevel() const engine->RegisterObjectMethod(className, "int GetLevel() const", AS_METHODPR(T, GetLevel, () const, i32), AS_CALL_THISCALL); // i32 Octant::GetNumDrawables() const engine->RegisterObjectMethod(className, "int GetNumDrawables() const", AS_METHODPR(T, GetNumDrawables, () const, i32), AS_CALL_THISCALL); // Octree* Octant::GetRoot() const engine->RegisterObjectMethod(className, "Octree@+ GetRoot() const", AS_METHODPR(T, GetRoot, () const, Octree*), AS_CALL_THISCALL); // const BoundingBox& Octant::GetWorldBoundingBox() const engine->RegisterObjectMethod(className, "const BoundingBox& GetWorldBoundingBox() const", AS_METHODPR(T, GetWorldBoundingBox, () const, const BoundingBox&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const BoundingBox& get_worldBoundingBox() const", AS_METHODPR(T, GetWorldBoundingBox, () const, const BoundingBox&), AS_CALL_THISCALL); // void Octant::InsertDrawable(Drawable* drawable) engine->RegisterObjectMethod(className, "void InsertDrawable(Drawable@+)", AS_METHODPR(T, InsertDrawable, (Drawable*), void), AS_CALL_THISCALL); // bool Octant::IsEmpty() engine->RegisterObjectMethod(className, "bool IsEmpty()", AS_METHODPR(T, IsEmpty, (), bool), AS_CALL_THISCALL); // void Octant::RemoveDrawable(Drawable* drawable, bool resetOctant = true) engine->RegisterObjectMethod(className, "void RemoveDrawable(Drawable@+, bool = true)", AS_METHODPR(T, RemoveDrawable, (Drawable*, bool), void), AS_CALL_THISCALL); // void Octant::ResetRoot() engine->RegisterObjectMethod(className, "void ResetRoot()", AS_METHODPR(T, ResetRoot, (), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Octant REGISTER_MEMBERS_MANUAL_PART_Octant(); #endif } // class OctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_OctreeQuery(asIScriptEngine* engine, const char* className) { // virtual void OctreeQuery::TestDrawables(Drawable** start, Drawable** end, bool inside) = 0 // Error: type "Drawable**" can not automatically bind // virtual Intersection OctreeQuery::TestOctant(const BoundingBox& box, bool inside) = 0 engine->RegisterObjectMethod(className, "Intersection TestOctant(const BoundingBox&in, bool)", AS_METHODPR(T, TestOctant, (const BoundingBox&, bool), Intersection), AS_CALL_THISCALL); // OctreeQuery& OctreeQuery::operator =(const OctreeQuery& rhs) = delete // Not registered because deleted // Vector& OctreeQuery::result_ // Error: type "Vector&" can not automatically bind // DrawableTypes OctreeQuery::drawableTypes_ engine->RegisterObjectProperty(className, "DrawableTypes drawableTypes", offsetof(T, drawableTypes_)); // unsigned OctreeQuery::viewMask_ engine->RegisterObjectProperty(className, "uint viewMask", offsetof(T, viewMask_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_OctreeQuery REGISTER_MEMBERS_MANUAL_PART_OctreeQuery(); #endif } // struct OctreeQueryResult | File: ../Graphics/OctreeQuery.h template void RegisterMembers_OctreeQueryResult(asIScriptEngine* engine, const char* className) { // bool OctreeQueryResult::operator !=(const OctreeQueryResult& rhs) const // Only operator == is needed // Drawable* OctreeQueryResult::drawable_ // Not registered because pointer // Node* OctreeQueryResult::node_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_OctreeQueryResult REGISTER_MEMBERS_MANUAL_PART_OctreeQueryResult(); #endif } // struct PackageEntry | File: ../IO/PackageFile.h template void RegisterMembers_PackageEntry(asIScriptEngine* engine, const char* className) { // unsigned PackageEntry::offset_ engine->RegisterObjectProperty(className, "uint offset", offsetof(T, offset_)); // unsigned PackageEntry::size_ engine->RegisterObjectProperty(className, "uint size", offsetof(T, size_)); // hash32 PackageEntry::checksum_ engine->RegisterObjectProperty(className, "hash32 checksum", offsetof(T, checksum_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PackageEntry REGISTER_MEMBERS_MANUAL_PART_PackageEntry(); #endif } // struct Particle | File: ../Graphics/ParticleEmitter.h template void RegisterMembers_Particle(asIScriptEngine* engine, const char* className) { // Vector3 Particle::velocity_ engine->RegisterObjectProperty(className, "Vector3 velocity", offsetof(T, velocity_)); // Vector2 Particle::size_ engine->RegisterObjectProperty(className, "Vector2 size", offsetof(T, size_)); // float Particle::timer_ engine->RegisterObjectProperty(className, "float timer", offsetof(T, timer_)); // float Particle::timeToLive_ engine->RegisterObjectProperty(className, "float timeToLive", offsetof(T, timeToLive_)); // float Particle::scale_ engine->RegisterObjectProperty(className, "float scale", offsetof(T, scale_)); // float Particle::rotationSpeed_ engine->RegisterObjectProperty(className, "float rotationSpeed", offsetof(T, rotationSpeed_)); // i32 Particle::colorIndex_ engine->RegisterObjectProperty(className, "int colorIndex", offsetof(T, colorIndex_)); // i32 Particle::texIndex_ engine->RegisterObjectProperty(className, "int texIndex", offsetof(T, texIndex_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Particle REGISTER_MEMBERS_MANUAL_PART_Particle(); #endif } // struct PerThreadSceneResult | File: ../Graphics/View.h template void RegisterMembers_PerThreadSceneResult(asIScriptEngine* engine, const char* className) { // Vector PerThreadSceneResult::geometries_ // Error: type "Vector" can not automatically bind // Vector PerThreadSceneResult::lights_ // Error: type "Vector" can not automatically bind // float PerThreadSceneResult::minZ_ engine->RegisterObjectProperty(className, "float minZ", offsetof(T, minZ_)); // float PerThreadSceneResult::maxZ_ engine->RegisterObjectProperty(className, "float maxZ", offsetof(T, maxZ_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PerThreadSceneResult REGISTER_MEMBERS_MANUAL_PART_PerThreadSceneResult(); #endif } // class Plane | File: ../Math/Plane.h template void RegisterMembers_Plane(asIScriptEngine* engine, const char* className) { // void Plane::Define(const Vector3& v0, const Vector3& v1, const Vector3& v2) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, const Vector3&in, const Vector3&in)", AS_METHODPR(T, Define, (const Vector3&, const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void Plane::Define(const Vector3& normal, const Vector3& point) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, const Vector3&in)", AS_METHODPR(T, Define, (const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void Plane::Define(const Vector4& plane) engine->RegisterObjectMethod(className, "void Define(const Vector4&in)", AS_METHODPR(T, Define, (const Vector4&), void), AS_CALL_THISCALL); // float Plane::Distance(const Vector3& point) const engine->RegisterObjectMethod(className, "float Distance(const Vector3&in) const", AS_METHODPR(T, Distance, (const Vector3&) const, float), AS_CALL_THISCALL); // Plane& Plane::operator =(const Plane& rhs) noexcept = default engine->RegisterObjectMethod(className, "Plane& opAssign(const Plane&in)", AS_METHODPR(T, operator=, (const Plane&), Plane&), AS_CALL_THISCALL); // Vector3 Plane::Project(const Vector3& point) const engine->RegisterObjectMethod(className, "Vector3 Project(const Vector3&in) const", AS_METHODPR(T, Project, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3 Plane::Reflect(const Vector3& direction) const engine->RegisterObjectMethod(className, "Vector3 Reflect(const Vector3&in) const", AS_METHODPR(T, Reflect, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Matrix3x4 Plane::ReflectionMatrix() const engine->RegisterObjectMethod(className, "Matrix3x4 ReflectionMatrix() const", AS_METHODPR(T, ReflectionMatrix, () const, Matrix3x4), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Matrix3x4 get_reflectionMatrix() const", AS_METHODPR(T, ReflectionMatrix, () const, Matrix3x4), AS_CALL_THISCALL); // Vector4 Plane::ToVector4() const engine->RegisterObjectMethod(className, "Vector4 ToVector4() const", AS_METHODPR(T, ToVector4, () const, Vector4), AS_CALL_THISCALL); // void Plane::Transform(const Matrix3& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3&in)", AS_METHODPR(T, Transform, (const Matrix3&), void), AS_CALL_THISCALL); // void Plane::Transform(const Matrix3x4& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3x4&in)", AS_METHODPR(T, Transform, (const Matrix3x4&), void), AS_CALL_THISCALL); // void Plane::Transform(const Matrix4& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix4&in)", AS_METHODPR(T, Transform, (const Matrix4&), void), AS_CALL_THISCALL); // Plane Plane::Transformed(const Matrix3& transform) const engine->RegisterObjectMethod(className, "Plane Transformed(const Matrix3&in) const", AS_METHODPR(T, Transformed, (const Matrix3&) const, Plane), AS_CALL_THISCALL); // Plane Plane::Transformed(const Matrix3x4& transform) const engine->RegisterObjectMethod(className, "Plane Transformed(const Matrix3x4&in) const", AS_METHODPR(T, Transformed, (const Matrix3x4&) const, Plane), AS_CALL_THISCALL); // Plane Plane::Transformed(const Matrix4& transform) const engine->RegisterObjectMethod(className, "Plane Transformed(const Matrix4&in) const", AS_METHODPR(T, Transformed, (const Matrix4&) const, Plane), AS_CALL_THISCALL); // Vector3 Plane::normal_ engine->RegisterObjectProperty(className, "Vector3 normal", offsetof(T, normal_)); // Vector3 Plane::absNormal_ engine->RegisterObjectProperty(className, "Vector3 absNormal", offsetof(T, absNormal_)); // float Plane::d_ engine->RegisterObjectProperty(className, "float d", offsetof(T, d_)); // static const Plane Plane::UP engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Plane UP", (void*)&T::UP);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Plane REGISTER_MEMBERS_MANUAL_PART_Plane(); #endif } // void Polyhedron::AddFace(const Vector& face) template void Polyhedron_void_AddFace_constspVectorlesVector3greamp_template(T* _ptr, CScriptArray* face_conv) { Vector face = ArrayToVector(face_conv); _ptr->AddFace(face); } // class Polyhedron | File: ../Math/Polyhedron.h template void RegisterMembers_Polyhedron(asIScriptEngine* engine, const char* className) { // void Polyhedron::AddFace(const Vector3& v0, const Vector3& v1, const Vector3& v2) engine->RegisterObjectMethod(className, "void AddFace(const Vector3&in, const Vector3&in, const Vector3&in)", AS_METHODPR(T, AddFace, (const Vector3&, const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void Polyhedron::AddFace(const Vector3& v0, const Vector3& v1, const Vector3& v2, const Vector3& v3) engine->RegisterObjectMethod(className, "void AddFace(const Vector3&in, const Vector3&in, const Vector3&in, const Vector3&in)", AS_METHODPR(T, AddFace, (const Vector3&, const Vector3&, const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void Polyhedron::AddFace(const Vector& face) engine->RegisterObjectMethod(className, "void AddFace(Array@+)", AS_FUNCTION_OBJFIRST(Polyhedron_void_AddFace_constspVectorlesVector3greamp_template), AS_CALL_CDECL_OBJFIRST); // void Polyhedron::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void Polyhedron::Clip(const Plane& plane) engine->RegisterObjectMethod(className, "void Clip(const Plane&in)", AS_METHODPR(T, Clip, (const Plane&), void), AS_CALL_THISCALL); // void Polyhedron::Clip(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Clip(const BoundingBox&in)", AS_METHODPR(T, Clip, (const BoundingBox&), void), AS_CALL_THISCALL); // void Polyhedron::Clip(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Clip(const Frustum&in)", AS_METHODPR(T, Clip, (const Frustum&), void), AS_CALL_THISCALL); // void Polyhedron::Define(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Define(const BoundingBox&in)", AS_METHODPR(T, Define, (const BoundingBox&), void), AS_CALL_THISCALL); // void Polyhedron::Define(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Define(const Frustum&in)", AS_METHODPR(T, Define, (const Frustum&), void), AS_CALL_THISCALL); // bool Polyhedron::Empty() const engine->RegisterObjectMethod(className, "bool Empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); // Polyhedron& Polyhedron::operator =(const Polyhedron& rhs) engine->RegisterObjectMethod(className, "Polyhedron& opAssign(const Polyhedron&in)", AS_METHODPR(T, operator=, (const Polyhedron&), Polyhedron&), AS_CALL_THISCALL); // void Polyhedron::Transform(const Matrix3& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3&in)", AS_METHODPR(T, Transform, (const Matrix3&), void), AS_CALL_THISCALL); // void Polyhedron::Transform(const Matrix3x4& transform) engine->RegisterObjectMethod(className, "void Transform(const Matrix3x4&in)", AS_METHODPR(T, Transform, (const Matrix3x4&), void), AS_CALL_THISCALL); // Polyhedron Polyhedron::Transformed(const Matrix3& transform) const engine->RegisterObjectMethod(className, "Polyhedron Transformed(const Matrix3&in) const", AS_METHODPR(T, Transformed, (const Matrix3&) const, Polyhedron), AS_CALL_THISCALL); // Polyhedron Polyhedron::Transformed(const Matrix3x4& transform) const engine->RegisterObjectMethod(className, "Polyhedron Transformed(const Matrix3x4&in) const", AS_METHODPR(T, Transformed, (const Matrix3x4&) const, Polyhedron), AS_CALL_THISCALL); // Vector> Polyhedron::faces_ // Error: type "Vector>" can not automatically bind #ifdef REGISTER_MEMBERS_MANUAL_PART_Polyhedron REGISTER_MEMBERS_MANUAL_PART_Polyhedron(); #endif } // class ProfilerBlock | File: ../Core/Profiler.h template void RegisterMembers_ProfilerBlock(asIScriptEngine* engine, const char* className) { // ProfilerBlock* ProfilerBlock::GetChild(const char* name) // Can not be registered here bacause hidden in derived classes: EventProfilerBlock // void ProfilerBlock::Begin() engine->RegisterObjectMethod(className, "void Begin()", AS_METHODPR(T, Begin, (), void), AS_CALL_THISCALL); // void ProfilerBlock::BeginInterval() engine->RegisterObjectMethod(className, "void BeginInterval()", AS_METHODPR(T, BeginInterval, (), void), AS_CALL_THISCALL); // void ProfilerBlock::End() engine->RegisterObjectMethod(className, "void End()", AS_METHODPR(T, End, (), void), AS_CALL_THISCALL); // void ProfilerBlock::EndFrame() engine->RegisterObjectMethod(className, "void EndFrame()", AS_METHODPR(T, EndFrame, (), void), AS_CALL_THISCALL); // char* ProfilerBlock::name_ // Not registered because pointer // ProfilerBlock* ProfilerBlock::parent_ // Not registered because pointer // Vector ProfilerBlock::children_ // Error: type "Vector" can not automatically bind // HiresTimer ProfilerBlock::timer_ engine->RegisterObjectProperty(className, "HiresTimer timer", offsetof(T, timer_)); // long long ProfilerBlock::time_ engine->RegisterObjectProperty(className, "int64 time", offsetof(T, time_)); // long long ProfilerBlock::maxTime_ engine->RegisterObjectProperty(className, "int64 maxTime", offsetof(T, maxTime_)); // unsigned ProfilerBlock::count_ engine->RegisterObjectProperty(className, "uint count", offsetof(T, count_)); // long long ProfilerBlock::frameTime_ engine->RegisterObjectProperty(className, "int64 frameTime", offsetof(T, frameTime_)); // long long ProfilerBlock::frameMaxTime_ engine->RegisterObjectProperty(className, "int64 frameMaxTime", offsetof(T, frameMaxTime_)); // unsigned ProfilerBlock::frameCount_ engine->RegisterObjectProperty(className, "uint frameCount", offsetof(T, frameCount_)); // long long ProfilerBlock::intervalTime_ engine->RegisterObjectProperty(className, "int64 intervalTime", offsetof(T, intervalTime_)); // long long ProfilerBlock::intervalMaxTime_ engine->RegisterObjectProperty(className, "int64 intervalMaxTime", offsetof(T, intervalMaxTime_)); // unsigned ProfilerBlock::intervalCount_ engine->RegisterObjectProperty(className, "uint intervalCount", offsetof(T, intervalCount_)); // long long ProfilerBlock::totalTime_ engine->RegisterObjectProperty(className, "int64 totalTime", offsetof(T, totalTime_)); // long long ProfilerBlock::totalMaxTime_ engine->RegisterObjectProperty(className, "int64 totalMaxTime", offsetof(T, totalMaxTime_)); // unsigned ProfilerBlock::totalCount_ engine->RegisterObjectProperty(className, "uint totalCount", offsetof(T, totalCount_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ProfilerBlock REGISTER_MEMBERS_MANUAL_PART_ProfilerBlock(); #endif } // class Quaternion | File: ../Math/Quaternion.h template void RegisterMembers_Quaternion(asIScriptEngine* engine, const char* className) { // const float* Quaternion::Data() const // Error: type "const float*" can not automatically bind // bool Quaternion::operator !=(const Quaternion& rhs) const // Only operator == is needed // float Quaternion::Angle() const engine->RegisterObjectMethod(className, "float Angle() const", AS_METHODPR(T, Angle, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_angle() const", AS_METHODPR(T, Angle, () const, float), AS_CALL_THISCALL); // Vector3 Quaternion::Axis() const engine->RegisterObjectMethod(className, "Vector3 Axis() const", AS_METHODPR(T, Axis, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_axis() const", AS_METHODPR(T, Axis, () const, Vector3), AS_CALL_THISCALL); // Quaternion Quaternion::Conjugate() const engine->RegisterObjectMethod(className, "Quaternion Conjugate() const", AS_METHODPR(T, Conjugate, () const, Quaternion), AS_CALL_THISCALL); // float Quaternion::DotProduct(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "float DotProduct(const Quaternion&in) const", AS_METHODPR(T, DotProduct, (const Quaternion&) const, float), AS_CALL_THISCALL); // bool Quaternion::Equals(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Quaternion&in) const", AS_METHODPR(T, Equals, (const Quaternion&) const, bool), AS_CALL_THISCALL); // Vector3 Quaternion::EulerAngles() const engine->RegisterObjectMethod(className, "Vector3 EulerAngles() const", AS_METHODPR(T, EulerAngles, () const, Vector3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector3 get_eulerAngles() const", AS_METHODPR(T, EulerAngles, () const, Vector3), AS_CALL_THISCALL); // void Quaternion::FromAngleAxis(float angle, const Vector3& axis) engine->RegisterObjectMethod(className, "void FromAngleAxis(float, const Vector3&in)", AS_METHODPR(T, FromAngleAxis, (float, const Vector3&), void), AS_CALL_THISCALL); // void Quaternion::FromAxes(const Vector3& xAxis, const Vector3& yAxis, const Vector3& zAxis) engine->RegisterObjectMethod(className, "void FromAxes(const Vector3&in, const Vector3&in, const Vector3&in)", AS_METHODPR(T, FromAxes, (const Vector3&, const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // void Quaternion::FromEulerAngles(float x, float y, float z) engine->RegisterObjectMethod(className, "void FromEulerAngles(float, float, float)", AS_METHODPR(T, FromEulerAngles, (float, float, float), void), AS_CALL_THISCALL); // bool Quaternion::FromLookRotation(const Vector3& direction, const Vector3& up = Vector3::UP) engine->RegisterObjectMethod(className, "bool FromLookRotation(const Vector3&in, const Vector3&in = Vector3::UP)", AS_METHODPR(T, FromLookRotation, (const Vector3&, const Vector3&), bool), AS_CALL_THISCALL); // void Quaternion::FromRotationMatrix(const Matrix3& matrix) engine->RegisterObjectMethod(className, "void FromRotationMatrix(const Matrix3&in)", AS_METHODPR(T, FromRotationMatrix, (const Matrix3&), void), AS_CALL_THISCALL); // void Quaternion::FromRotationTo(const Vector3& start, const Vector3& end) engine->RegisterObjectMethod(className, "void FromRotationTo(const Vector3&in, const Vector3&in)", AS_METHODPR(T, FromRotationTo, (const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // Quaternion Quaternion::Inverse() const engine->RegisterObjectMethod(className, "Quaternion Inverse() const", AS_METHODPR(T, Inverse, () const, Quaternion), AS_CALL_THISCALL); // bool Quaternion::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Quaternion::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // float Quaternion::LengthSquared() const engine->RegisterObjectMethod(className, "float LengthSquared() const", AS_METHODPR(T, LengthSquared, () const, float), AS_CALL_THISCALL); // Quaternion Quaternion::Nlerp(const Quaternion& rhs, float t, bool shortestPath = false) const engine->RegisterObjectMethod(className, "Quaternion Nlerp(const Quaternion&in, float, bool = false) const", AS_METHODPR(T, Nlerp, (const Quaternion&, float, bool) const, Quaternion), AS_CALL_THISCALL); // void Quaternion::Normalize() engine->RegisterObjectMethod(className, "void Normalize()", AS_METHODPR(T, Normalize, (), void), AS_CALL_THISCALL); // Quaternion Quaternion::Normalized() const engine->RegisterObjectMethod(className, "Quaternion Normalized() const", AS_METHODPR(T, Normalized, () const, Quaternion), AS_CALL_THISCALL); // Quaternion Quaternion::operator *(float rhs) const engine->RegisterObjectMethod(className, "Quaternion opMul(float) const", AS_METHODPR(T, operator*, (float) const, Quaternion), AS_CALL_THISCALL); // Quaternion Quaternion::operator *(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "Quaternion opMul(const Quaternion&in) const", AS_METHODPR(T, operator*, (const Quaternion&) const, Quaternion), AS_CALL_THISCALL); // Vector3 Quaternion::operator *(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector3&in) const", AS_METHODPR(T, operator*, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Quaternion& Quaternion::operator *=(float rhs) engine->RegisterObjectMethod(className, "Quaternion& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), Quaternion&), AS_CALL_THISCALL); // Quaternion Quaternion::operator +(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "Quaternion opAdd(const Quaternion&in) const", AS_METHODPR(T, operator+, (const Quaternion&) const, Quaternion), AS_CALL_THISCALL); // Quaternion& Quaternion::operator +=(const Quaternion& rhs) engine->RegisterObjectMethod(className, "Quaternion& opAddAssign(const Quaternion&in)", AS_METHODPR(T, operator+=, (const Quaternion&), Quaternion&), AS_CALL_THISCALL); // Quaternion Quaternion::operator -() const engine->RegisterObjectMethod(className, "Quaternion opNeg() const", AS_METHODPR(T, operator-, () const, Quaternion), AS_CALL_THISCALL); // Quaternion Quaternion::operator -(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "Quaternion opSub(const Quaternion&in) const", AS_METHODPR(T, operator-, (const Quaternion&) const, Quaternion), AS_CALL_THISCALL); // Quaternion& Quaternion::operator =(const Quaternion& rhs) noexcept engine->RegisterObjectMethod(className, "Quaternion& opAssign(const Quaternion&in)", AS_METHODPR(T, operator=, (const Quaternion&), Quaternion&), AS_CALL_THISCALL); // bool Quaternion::operator ==(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Quaternion&in) const", AS_METHODPR(T, operator==, (const Quaternion&) const, bool), AS_CALL_THISCALL); // float Quaternion::PitchAngle() const engine->RegisterObjectMethod(className, "float PitchAngle() const", AS_METHODPR(T, PitchAngle, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_pitch() const", AS_METHODPR(T, PitchAngle, () const, float), AS_CALL_THISCALL); // float Quaternion::RollAngle() const engine->RegisterObjectMethod(className, "float RollAngle() const", AS_METHODPR(T, RollAngle, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_roll() const", AS_METHODPR(T, RollAngle, () const, float), AS_CALL_THISCALL); // Matrix3 Quaternion::RotationMatrix() const engine->RegisterObjectMethod(className, "Matrix3 RotationMatrix() const", AS_METHODPR(T, RotationMatrix, () const, Matrix3), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Matrix3 get_rotationMatrix() const", AS_METHODPR(T, RotationMatrix, () const, Matrix3), AS_CALL_THISCALL); // Quaternion Quaternion::Slerp(const Quaternion& rhs, float t) const engine->RegisterObjectMethod(className, "Quaternion Slerp(const Quaternion&in, float) const", AS_METHODPR(T, Slerp, (const Quaternion&, float) const, Quaternion), AS_CALL_THISCALL); // String Quaternion::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // float Quaternion::YawAngle() const engine->RegisterObjectMethod(className, "float YawAngle() const", AS_METHODPR(T, YawAngle, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_yaw() const", AS_METHODPR(T, YawAngle, () const, float), AS_CALL_THISCALL); // float Quaternion::w_ engine->RegisterObjectProperty(className, "float w", offsetof(T, w_)); // float Quaternion::x_ engine->RegisterObjectProperty(className, "float x", offsetof(T, x_)); // float Quaternion::y_ engine->RegisterObjectProperty(className, "float y", offsetof(T, y_)); // float Quaternion::z_ engine->RegisterObjectProperty(className, "float z", offsetof(T, z_)); // static const Quaternion Quaternion::IDENTITY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Quaternion IDENTITY", (void*)&T::IDENTITY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Quaternion REGISTER_MEMBERS_MANUAL_PART_Quaternion(); #endif } // class Ray | File: ../Math/Ray.h template void RegisterMembers_Ray(asIScriptEngine* engine, const char* className) { // float Ray::HitDistance(const Vector3& v0, const Vector3& v1, const Vector3& v2, Vector3* outNormal = nullptr, Vector3* outBary = nullptr) const // Error: type "Vector3*" can not automatically bind // float Ray::HitDistance(const void* vertexData, i32 vertexStride, i32 vertexStart, i32 vertexCount, Vector3* outNormal = nullptr, Vector2* outUV = nullptr, i32 uvOffset = 0) const // Error: type "const void*" can not automatically bind // float Ray::HitDistance(const void* vertexData, i32 vertexStride, const void* indexData, i32 indexSize, i32 indexStart, i32 indexCount, Vector3* outNormal = nullptr, Vector2* outUV = nullptr, i32 uvOffset = 0) const // Error: type "const void*" can not automatically bind // bool Ray::InsideGeometry(const void* vertexData, i32 vertexSize, i32 vertexStart, i32 vertexCount) const // Error: type "const void*" can not automatically bind // bool Ray::InsideGeometry(const void* vertexData, i32 vertexSize, const void* indexData, i32 indexSize, i32 indexStart, i32 indexCount) const // Error: type "const void*" can not automatically bind // bool Ray::operator !=(const Ray& rhs) const // Only operator == is needed // Vector3 Ray::ClosestPoint(const Ray& ray) const engine->RegisterObjectMethod(className, "Vector3 ClosestPoint(const Ray&in) const", AS_METHODPR(T, ClosestPoint, (const Ray&) const, Vector3), AS_CALL_THISCALL); // void Ray::Define(const Vector3& origin, const Vector3& direction) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, const Vector3&in)", AS_METHODPR(T, Define, (const Vector3&, const Vector3&), void), AS_CALL_THISCALL); // float Ray::Distance(const Vector3& point) const engine->RegisterObjectMethod(className, "float Distance(const Vector3&in) const", AS_METHODPR(T, Distance, (const Vector3&) const, float), AS_CALL_THISCALL); // float Ray::HitDistance(const Plane& plane) const engine->RegisterObjectMethod(className, "float HitDistance(const Plane&in) const", AS_METHODPR(T, HitDistance, (const Plane&) const, float), AS_CALL_THISCALL); // float Ray::HitDistance(const BoundingBox& box) const engine->RegisterObjectMethod(className, "float HitDistance(const BoundingBox&in) const", AS_METHODPR(T, HitDistance, (const BoundingBox&) const, float), AS_CALL_THISCALL); // float Ray::HitDistance(const Frustum& frustum, bool solidInside = true) const engine->RegisterObjectMethod(className, "float HitDistance(const Frustum&in, bool = true) const", AS_METHODPR(T, HitDistance, (const Frustum&, bool) const, float), AS_CALL_THISCALL); // float Ray::HitDistance(const Sphere& sphere) const engine->RegisterObjectMethod(className, "float HitDistance(const Sphere&in) const", AS_METHODPR(T, HitDistance, (const Sphere&) const, float), AS_CALL_THISCALL); // Ray& Ray::operator =(const Ray& rhs) noexcept = default engine->RegisterObjectMethod(className, "Ray& opAssign(const Ray&in)", AS_METHODPR(T, operator=, (const Ray&), Ray&), AS_CALL_THISCALL); // bool Ray::operator ==(const Ray& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Ray&in) const", AS_METHODPR(T, operator==, (const Ray&) const, bool), AS_CALL_THISCALL); // Vector3 Ray::Project(const Vector3& point) const engine->RegisterObjectMethod(className, "Vector3 Project(const Vector3&in) const", AS_METHODPR(T, Project, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Ray Ray::Transformed(const Matrix3x4& transform) const engine->RegisterObjectMethod(className, "Ray Transformed(const Matrix3x4&in) const", AS_METHODPR(T, Transformed, (const Matrix3x4&) const, Ray), AS_CALL_THISCALL); // Vector3 Ray::origin_ engine->RegisterObjectProperty(className, "Vector3 origin", offsetof(T, origin_)); // Vector3 Ray::direction_ engine->RegisterObjectProperty(className, "Vector3 direction", offsetof(T, direction_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Ray REGISTER_MEMBERS_MANUAL_PART_Ray(); #endif } // class RayOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_RayOctreeQuery(asIScriptEngine* engine, const char* className) { // RayOctreeQuery& RayOctreeQuery::operator =(const RayOctreeQuery& rhs) = delete // Not registered because deleted // Vector& RayOctreeQuery::result_ // Error: type "Vector&" can not automatically bind // Ray RayOctreeQuery::ray_ engine->RegisterObjectProperty(className, "Ray ray", offsetof(T, ray_)); // DrawableTypes RayOctreeQuery::drawableTypes_ engine->RegisterObjectProperty(className, "DrawableTypes drawableTypes", offsetof(T, drawableTypes_)); // unsigned RayOctreeQuery::viewMask_ engine->RegisterObjectProperty(className, "uint viewMask", offsetof(T, viewMask_)); // float RayOctreeQuery::maxDistance_ engine->RegisterObjectProperty(className, "float maxDistance", offsetof(T, maxDistance_)); // RayQueryLevel RayOctreeQuery::level_ engine->RegisterObjectProperty(className, "RayQueryLevel level", offsetof(T, level_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RayOctreeQuery REGISTER_MEMBERS_MANUAL_PART_RayOctreeQuery(); #endif } // struct RayQueryResult | File: ../Graphics/OctreeQuery.h template void RegisterMembers_RayQueryResult(asIScriptEngine* engine, const char* className) { // bool RayQueryResult::operator !=(const RayQueryResult& rhs) const // Only operator == is needed // Drawable* RayQueryResult::drawable_ // Not registered because pointer // Node* RayQueryResult::node_ // Not registered because pointer // Vector3 RayQueryResult::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector3 RayQueryResult::normal_ engine->RegisterObjectProperty(className, "Vector3 normal", offsetof(T, normal_)); // Vector2 RayQueryResult::textureUV_ engine->RegisterObjectProperty(className, "Vector2 textureUV", offsetof(T, textureUV_)); // float RayQueryResult::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); // i32 RayQueryResult::subObject_ engine->RegisterObjectProperty(className, "int subObject", offsetof(T, subObject_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RayQueryResult REGISTER_MEMBERS_MANUAL_PART_RayQueryResult(); #endif } // class Rect | File: ../Math/Rect.h template void RegisterMembers_Rect(asIScriptEngine* engine, const char* className) { // const float* Rect::Data() const // Error: type "const float*" can not automatically bind // bool Rect::operator !=(const Rect& rhs) const // Only operator == is needed // float Rect::Bottom() const engine->RegisterObjectMethod(className, "float Bottom() const", AS_METHODPR(T, Bottom, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_bottom() const", AS_METHODPR(T, Bottom, () const, float), AS_CALL_THISCALL); // Vector2 Rect::Center() const engine->RegisterObjectMethod(className, "Vector2 Center() const", AS_METHODPR(T, Center, () const, Vector2), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector2 get_center() const", AS_METHODPR(T, Center, () const, Vector2), AS_CALL_THISCALL); // void Rect::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void Rect::Clip(const Rect& rect) engine->RegisterObjectMethod(className, "void Clip(const Rect&in)", AS_METHODPR(T, Clip, (const Rect&), void), AS_CALL_THISCALL); // void Rect::Define(const Rect& rect) engine->RegisterObjectMethod(className, "void Define(const Rect&in)", AS_METHODPR(T, Define, (const Rect&), void), AS_CALL_THISCALL); // void Rect::Define(const Vector2& min, const Vector2& max) engine->RegisterObjectMethod(className, "void Define(const Vector2&in, const Vector2&in)", AS_METHODPR(T, Define, (const Vector2&, const Vector2&), void), AS_CALL_THISCALL); // void Rect::Define(const Vector2& point) engine->RegisterObjectMethod(className, "void Define(const Vector2&in)", AS_METHODPR(T, Define, (const Vector2&), void), AS_CALL_THISCALL); // bool Rect::Defined() const engine->RegisterObjectMethod(className, "bool Defined() const", AS_METHODPR(T, Defined, () const, bool), AS_CALL_THISCALL); // bool Rect::Equals(const Rect& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Rect&in) const", AS_METHODPR(T, Equals, (const Rect&) const, bool), AS_CALL_THISCALL); // Vector2 Rect::HalfSize() const engine->RegisterObjectMethod(className, "Vector2 HalfSize() const", AS_METHODPR(T, HalfSize, () const, Vector2), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector2 get_halfSize() const", AS_METHODPR(T, HalfSize, () const, Vector2), AS_CALL_THISCALL); // Intersection Rect::IsInside(const Vector2& point) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Vector2&in) const", AS_METHODPR(T, IsInside, (const Vector2&) const, Intersection), AS_CALL_THISCALL); // Intersection Rect::IsInside(const Rect& rect) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Rect&in) const", AS_METHODPR(T, IsInside, (const Rect&) const, Intersection), AS_CALL_THISCALL); // float Rect::Left() const engine->RegisterObjectMethod(className, "float Left() const", AS_METHODPR(T, Left, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_left() const", AS_METHODPR(T, Left, () const, float), AS_CALL_THISCALL); // Vector2 Rect::Max() const engine->RegisterObjectMethod(className, "Vector2 Max() const", AS_METHODPR(T, Max, () const, Vector2), AS_CALL_THISCALL); // void Rect::Merge(const Vector2& point) engine->RegisterObjectMethod(className, "void Merge(const Vector2&in)", AS_METHODPR(T, Merge, (const Vector2&), void), AS_CALL_THISCALL); // void Rect::Merge(const Rect& rect) engine->RegisterObjectMethod(className, "void Merge(const Rect&in)", AS_METHODPR(T, Merge, (const Rect&), void), AS_CALL_THISCALL); // Vector2 Rect::Min() const engine->RegisterObjectMethod(className, "Vector2 Min() const", AS_METHODPR(T, Min, () const, Vector2), AS_CALL_THISCALL); // Rect Rect::operator *(float value) const engine->RegisterObjectMethod(className, "Rect opMul(float) const", AS_METHODPR(T, operator*, (float) const, Rect), AS_CALL_THISCALL); // Rect& Rect::operator *=(float value) engine->RegisterObjectMethod(className, "Rect& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), Rect&), AS_CALL_THISCALL); // Rect Rect::operator +(const Rect& rhs) const engine->RegisterObjectMethod(className, "Rect opAdd(const Rect&in) const", AS_METHODPR(T, operator+, (const Rect&) const, Rect), AS_CALL_THISCALL); // Rect& Rect::operator +=(const Rect& rhs) engine->RegisterObjectMethod(className, "Rect& opAddAssign(const Rect&in)", AS_METHODPR(T, operator+=, (const Rect&), Rect&), AS_CALL_THISCALL); // Rect Rect::operator -(const Rect& rhs) const engine->RegisterObjectMethod(className, "Rect opSub(const Rect&in) const", AS_METHODPR(T, operator-, (const Rect&) const, Rect), AS_CALL_THISCALL); // Rect& Rect::operator -=(const Rect& rhs) engine->RegisterObjectMethod(className, "Rect& opSubAssign(const Rect&in)", AS_METHODPR(T, operator-=, (const Rect&), Rect&), AS_CALL_THISCALL); // Rect Rect::operator /(float value) const engine->RegisterObjectMethod(className, "Rect opDiv(float) const", AS_METHODPR(T, operator/, (float) const, Rect), AS_CALL_THISCALL); // Rect& Rect::operator /=(float value) engine->RegisterObjectMethod(className, "Rect& opDivAssign(float)", AS_METHODPR(T, operator/=, (float), Rect&), AS_CALL_THISCALL); // Rect& Rect::operator =(const Rect& rhs) noexcept = default engine->RegisterObjectMethod(className, "Rect& opAssign(const Rect&in)", AS_METHODPR(T, operator=, (const Rect&), Rect&), AS_CALL_THISCALL); // bool Rect::operator ==(const Rect& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Rect&in) const", AS_METHODPR(T, operator==, (const Rect&) const, bool), AS_CALL_THISCALL); // float Rect::Right() const engine->RegisterObjectMethod(className, "float Right() const", AS_METHODPR(T, Right, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_right() const", AS_METHODPR(T, Right, () const, float), AS_CALL_THISCALL); // Vector2 Rect::Size() const engine->RegisterObjectMethod(className, "Vector2 Size() const", AS_METHODPR(T, Size, () const, Vector2), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Vector2 get_size() const", AS_METHODPR(T, Size, () const, Vector2), AS_CALL_THISCALL); // float Rect::Top() const engine->RegisterObjectMethod(className, "float Top() const", AS_METHODPR(T, Top, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_top() const", AS_METHODPR(T, Top, () const, float), AS_CALL_THISCALL); // String Rect::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // Vector4 Rect::ToVector4() const engine->RegisterObjectMethod(className, "Vector4 ToVector4() const", AS_METHODPR(T, ToVector4, () const, Vector4), AS_CALL_THISCALL); // Vector2 Rect::min_ engine->RegisterObjectProperty(className, "Vector2 min", offsetof(T, min_)); // Vector2 Rect::max_ engine->RegisterObjectProperty(className, "Vector2 max", offsetof(T, max_)); // static const Rect Rect::FULL engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Rect FULL", (void*)&T::FULL);engine->SetDefaultNamespace(""); // static const Rect Rect::POSITIVE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Rect POSITIVE", (void*)&T::POSITIVE);engine->SetDefaultNamespace(""); // static const Rect Rect::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Rect ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Rect REGISTER_MEMBERS_MANUAL_PART_Rect(); #endif } // struct RefCount | File: ../Container/RefCounted.h template void RegisterMembers_RefCount(asIScriptEngine* engine, const char* className) { // int RefCount::refs_ engine->RegisterObjectProperty(className, "int refs", offsetof(T, refs_)); // int RefCount::weakRefs_ engine->RegisterObjectProperty(className, "int weakRefs", offsetof(T, weakRefs_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RefCount REGISTER_MEMBERS_MANUAL_PART_RefCount(); #endif } // class RefCounted | File: ../Container/RefCounted.h template void RegisterMembers_RefCounted(asIScriptEngine* engine, const char* className) { // void RefCounted::AddRef() // Not registered because have @manualbind mark // RefCount* RefCounted::RefCountPtr() // Error: type "RefCount*" can not automatically bind // void RefCounted::ReleaseRef() // Not registered because have @manualbind mark // int RefCounted::Refs() const engine->RegisterObjectMethod(className, "int Refs() const", AS_METHODPR(T, Refs, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_refs() const", AS_METHODPR(T, Refs, () const, int), AS_CALL_THISCALL); // int RefCounted::WeakRefs() const engine->RegisterObjectMethod(className, "int WeakRefs() const", AS_METHODPR(T, WeakRefs, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_weakRefs() const", AS_METHODPR(T, WeakRefs, () const, int), AS_CALL_THISCALL); // RefCounted& RefCounted::operator =(const RefCounted& rhs) = delete // Not registered because deleted #ifdef REGISTER_MEMBERS_MANUAL_PART_RefCounted REGISTER_MEMBERS_MANUAL_PART_RefCounted(); #endif } // struct RenderPathCommand | File: ../Graphics/RenderPath.h template void RegisterMembers_RenderPathCommand(asIScriptEngine* engine, const char* className) { // const String& RenderPathCommand::GetDepthStencilName() const engine->RegisterObjectMethod(className, "const String& GetDepthStencilName() const", AS_METHODPR(T, GetDepthStencilName, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_depthStencilName() const", AS_METHODPR(T, GetDepthStencilName, () const, const String&), AS_CALL_THISCALL); // i32 RenderPathCommand::GetNumOutputs() const engine->RegisterObjectMethod(className, "int GetNumOutputs() const", AS_METHODPR(T, GetNumOutputs, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numOutputs() const", AS_METHODPR(T, GetNumOutputs, () const, i32), AS_CALL_THISCALL); // CubeMapFace RenderPathCommand::GetOutputFace(i32 index) const engine->RegisterObjectMethod(className, "CubeMapFace GetOutputFace(int) const", AS_METHODPR(T, GetOutputFace, (i32) const, CubeMapFace), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "CubeMapFace get_outputFaces(int) const", AS_METHODPR(T, GetOutputFace, (i32) const, CubeMapFace), AS_CALL_THISCALL); // const String& RenderPathCommand::GetOutputName(i32 index) const engine->RegisterObjectMethod(className, "const String& GetOutputName(int) const", AS_METHODPR(T, GetOutputName, (i32) const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_outputNames(int) const", AS_METHODPR(T, GetOutputName, (i32) const, const String&), AS_CALL_THISCALL); // const Variant& RenderPathCommand::GetShaderParameter(const String& name) const engine->RegisterObjectMethod(className, "const Variant& GetShaderParameter(const String&in) const", AS_METHODPR(T, GetShaderParameter, (const String&) const, const Variant&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const Variant& get_shaderParameters(const String&in) const", AS_METHODPR(T, GetShaderParameter, (const String&) const, const Variant&), AS_CALL_THISCALL); // const String& RenderPathCommand::GetTextureName(TextureUnit unit) const engine->RegisterObjectMethod(className, "const String& GetTextureName(TextureUnit) const", AS_METHODPR(T, GetTextureName, (TextureUnit) const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_textureNames(TextureUnit) const", AS_METHODPR(T, GetTextureName, (TextureUnit) const, const String&), AS_CALL_THISCALL); // void RenderPathCommand::Load(const XMLElement& element) engine->RegisterObjectMethod(className, "void Load(const XMLElement&in)", AS_METHODPR(T, Load, (const XMLElement&), void), AS_CALL_THISCALL); // void RenderPathCommand::RemoveShaderParameter(const String& name) engine->RegisterObjectMethod(className, "void RemoveShaderParameter(const String&in)", AS_METHODPR(T, RemoveShaderParameter, (const String&), void), AS_CALL_THISCALL); // void RenderPathCommand::SetDepthStencilName(const String& name) engine->RegisterObjectMethod(className, "void SetDepthStencilName(const String&in)", AS_METHODPR(T, SetDepthStencilName, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_depthStencilName(const String&in)", AS_METHODPR(T, SetDepthStencilName, (const String&), void), AS_CALL_THISCALL); // void RenderPathCommand::SetNumOutputs(i32 num) engine->RegisterObjectMethod(className, "void SetNumOutputs(int)", AS_METHODPR(T, SetNumOutputs, (i32), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_numOutputs(int)", AS_METHODPR(T, SetNumOutputs, (i32), void), AS_CALL_THISCALL); // void RenderPathCommand::SetOutput(i32 index, const String& name, CubeMapFace face = FACE_POSITIVE_X) engine->RegisterObjectMethod(className, "void SetOutput(int, const String&in, CubeMapFace = FACE_POSITIVE_X)", AS_METHODPR(T, SetOutput, (i32, const String&, CubeMapFace), void), AS_CALL_THISCALL); // void RenderPathCommand::SetOutputFace(i32 index, CubeMapFace face) engine->RegisterObjectMethod(className, "void SetOutputFace(int, CubeMapFace)", AS_METHODPR(T, SetOutputFace, (i32, CubeMapFace), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_outputFaces(int, CubeMapFace)", AS_METHODPR(T, SetOutputFace, (i32, CubeMapFace), void), AS_CALL_THISCALL); // void RenderPathCommand::SetOutputName(i32 index, const String& name) engine->RegisterObjectMethod(className, "void SetOutputName(int, const String&in)", AS_METHODPR(T, SetOutputName, (i32, const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_outputNames(int, const String&in)", AS_METHODPR(T, SetOutputName, (i32, const String&), void), AS_CALL_THISCALL); // void RenderPathCommand::SetShaderParameter(const String& name, const Variant& value) engine->RegisterObjectMethod(className, "void SetShaderParameter(const String&in, const Variant&in)", AS_METHODPR(T, SetShaderParameter, (const String&, const Variant&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_shaderParameters(const String&in, const Variant&in)", AS_METHODPR(T, SetShaderParameter, (const String&, const Variant&), void), AS_CALL_THISCALL); // void RenderPathCommand::SetTextureName(TextureUnit unit, const String& name) engine->RegisterObjectMethod(className, "void SetTextureName(TextureUnit, const String&in)", AS_METHODPR(T, SetTextureName, (TextureUnit, const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_textureNames(TextureUnit, const String&in)", AS_METHODPR(T, SetTextureName, (TextureUnit, const String&), void), AS_CALL_THISCALL); // String RenderPathCommand::textureNames_[MAX_TEXTURE_UNITS] // Not registered because array // HashMap RenderPathCommand::shaderParameters_ // Error: type "HashMap" can not automatically bind // Vector> RenderPathCommand::outputs_ // Error: type "Vector>" can not automatically bind // String RenderPathCommand::tag_ engine->RegisterObjectProperty(className, "String tag", offsetof(T, tag_)); // RenderCommandType RenderPathCommand::type_ engine->RegisterObjectProperty(className, "RenderCommandType type", offsetof(T, type_)); // RenderCommandSortMode RenderPathCommand::sortMode_ engine->RegisterObjectProperty(className, "RenderCommandSortMode sortMode", offsetof(T, sortMode_)); // String RenderPathCommand::pass_ engine->RegisterObjectProperty(className, "String pass", offsetof(T, pass_)); // unsigned RenderPathCommand::passIndex_ engine->RegisterObjectProperty(className, "uint passIndex", offsetof(T, passIndex_)); // String RenderPathCommand::metadata_ engine->RegisterObjectProperty(className, "String metadata", offsetof(T, metadata_)); // String RenderPathCommand::vertexShaderName_ engine->RegisterObjectProperty(className, "String vertexShaderName", offsetof(T, vertexShaderName_)); // String RenderPathCommand::pixelShaderName_ engine->RegisterObjectProperty(className, "String pixelShaderName", offsetof(T, pixelShaderName_)); // String RenderPathCommand::vertexShaderDefines_ engine->RegisterObjectProperty(className, "String vertexShaderDefines", offsetof(T, vertexShaderDefines_)); // String RenderPathCommand::pixelShaderDefines_ engine->RegisterObjectProperty(className, "String pixelShaderDefines", offsetof(T, pixelShaderDefines_)); // String RenderPathCommand::depthStencilName_ engine->RegisterObjectProperty(className, "String depthStencilName", offsetof(T, depthStencilName_)); // ClearTargetFlags RenderPathCommand::clearFlags_ engine->RegisterObjectProperty(className, "ClearTargetFlags clearFlags", offsetof(T, clearFlags_)); // Color RenderPathCommand::clearColor_ engine->RegisterObjectProperty(className, "Color clearColor", offsetof(T, clearColor_)); // float RenderPathCommand::clearDepth_ engine->RegisterObjectProperty(className, "float clearDepth", offsetof(T, clearDepth_)); // unsigned RenderPathCommand::clearStencil_ engine->RegisterObjectProperty(className, "uint clearStencil", offsetof(T, clearStencil_)); // BlendMode RenderPathCommand::blendMode_ engine->RegisterObjectProperty(className, "BlendMode blendMode", offsetof(T, blendMode_)); // bool RenderPathCommand::enabled_ engine->RegisterObjectProperty(className, "bool enabled", offsetof(T, enabled_)); // bool RenderPathCommand::useFogColor_ engine->RegisterObjectProperty(className, "bool useFogColor", offsetof(T, useFogColor_)); // bool RenderPathCommand::markToStencil_ engine->RegisterObjectProperty(className, "bool markToStencil", offsetof(T, markToStencil_)); // bool RenderPathCommand::useLitBase_ engine->RegisterObjectProperty(className, "bool useLitBase", offsetof(T, useLitBase_)); // bool RenderPathCommand::vertexLights_ engine->RegisterObjectProperty(className, "bool vertexLights", offsetof(T, vertexLights_)); // String RenderPathCommand::eventName_ engine->RegisterObjectProperty(className, "String eventName", offsetof(T, eventName_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RenderPathCommand REGISTER_MEMBERS_MANUAL_PART_RenderPathCommand(); #endif } // struct RenderTargetInfo | File: ../Graphics/RenderPath.h template void RegisterMembers_RenderTargetInfo(asIScriptEngine* engine, const char* className) { // void RenderTargetInfo::Load(const XMLElement& element) engine->RegisterObjectMethod(className, "void Load(const XMLElement&in)", AS_METHODPR(T, Load, (const XMLElement&), void), AS_CALL_THISCALL); // String RenderTargetInfo::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // String RenderTargetInfo::tag_ engine->RegisterObjectProperty(className, "String tag", offsetof(T, tag_)); // unsigned RenderTargetInfo::format_ engine->RegisterObjectProperty(className, "uint format", offsetof(T, format_)); // Vector2 RenderTargetInfo::size_ engine->RegisterObjectProperty(className, "Vector2 size", offsetof(T, size_)); // RenderTargetSizeMode RenderTargetInfo::sizeMode_ engine->RegisterObjectProperty(className, "RenderTargetSizeMode sizeMode", offsetof(T, sizeMode_)); // int RenderTargetInfo::multiSample_ engine->RegisterObjectProperty(className, "int multiSample", offsetof(T, multiSample_)); // bool RenderTargetInfo::autoResolve_ engine->RegisterObjectProperty(className, "bool autoResolve", offsetof(T, autoResolve_)); // bool RenderTargetInfo::enabled_ engine->RegisterObjectProperty(className, "bool enabled", offsetof(T, enabled_)); // bool RenderTargetInfo::cubemap_ engine->RegisterObjectProperty(className, "bool cubemap", offsetof(T, cubemap_)); // bool RenderTargetInfo::filtered_ engine->RegisterObjectProperty(className, "bool filtered", offsetof(T, filtered_)); // bool RenderTargetInfo::sRGB_ engine->RegisterObjectProperty(className, "bool sRGB", offsetof(T, sRGB_)); // bool RenderTargetInfo::persistent_ engine->RegisterObjectProperty(className, "bool persistent", offsetof(T, persistent_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RenderTargetInfo REGISTER_MEMBERS_MANUAL_PART_RenderTargetInfo(); #endif } // struct ReplicationState | File: ../Scene/ReplicationState.h template void RegisterMembers_ReplicationState(asIScriptEngine* engine, const char* className) { // Connection* ReplicationState::connection_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_ReplicationState REGISTER_MEMBERS_MANUAL_PART_ReplicationState(); #endif } // struct ResourceGroup | File: ../Resource/ResourceCache.h template void RegisterMembers_ResourceGroup(asIScriptEngine* engine, const char* className) { // HashMap> ResourceGroup::resources_ // Error: type "HashMap>" can not automatically bind // unsigned long long ResourceGroup::memoryBudget_ engine->RegisterObjectProperty(className, "uint64 memoryBudget", offsetof(T, memoryBudget_)); // unsigned long long ResourceGroup::memoryUse_ engine->RegisterObjectProperty(className, "uint64 memoryUse", offsetof(T, memoryUse_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ResourceGroup REGISTER_MEMBERS_MANUAL_PART_ResourceGroup(); #endif } // struct ResourceRef | File: ../Core/Variant.h template void RegisterMembers_ResourceRef(asIScriptEngine* engine, const char* className) { // bool ResourceRef::operator !=(const ResourceRef& rhs) const // Only operator == is needed // bool ResourceRef::operator ==(const ResourceRef& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ResourceRef&in) const", AS_METHODPR(T, operator==, (const ResourceRef&) const, bool), AS_CALL_THISCALL); // StringHash ResourceRef::type_ engine->RegisterObjectProperty(className, "StringHash type", offsetof(T, type_)); // String ResourceRef::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ResourceRef REGISTER_MEMBERS_MANUAL_PART_ResourceRef(); #endif } // struct ResourceRefList | File: ../Core/Variant.h template void RegisterMembers_ResourceRefList(asIScriptEngine* engine, const char* className) { // bool ResourceRefList::operator !=(const ResourceRefList& rhs) const // Only operator == is needed // bool ResourceRefList::operator ==(const ResourceRefList& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ResourceRefList&in) const", AS_METHODPR(T, operator==, (const ResourceRefList&) const, bool), AS_CALL_THISCALL); // StringVector ResourceRefList::names_ // Error: type "StringVector" can not automatically bind // StringHash ResourceRefList::type_ engine->RegisterObjectProperty(className, "StringHash type", offsetof(T, type_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ResourceRefList REGISTER_MEMBERS_MANUAL_PART_ResourceRefList(); #endif } // struct ScenePassInfo | File: ../Graphics/View.h template void RegisterMembers_ScenePassInfo(asIScriptEngine* engine, const char* className) { // BatchQueue* ScenePassInfo::batchQueue_ // Not registered because pointer // i32 ScenePassInfo::passIndex_ engine->RegisterObjectProperty(className, "int passIndex", offsetof(T, passIndex_)); // bool ScenePassInfo::allowInstancing_ engine->RegisterObjectProperty(className, "bool allowInstancing", offsetof(T, allowInstancing_)); // bool ScenePassInfo::markToStencil_ engine->RegisterObjectProperty(className, "bool markToStencil", offsetof(T, markToStencil_)); // bool ScenePassInfo::vertexLights_ engine->RegisterObjectProperty(className, "bool vertexLights", offsetof(T, vertexLights_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ScenePassInfo REGISTER_MEMBERS_MANUAL_PART_ScenePassInfo(); #endif } // class SceneResolver | File: ../Scene/SceneResolver.h template void RegisterMembers_SceneResolver(asIScriptEngine* engine, const char* className) { // void SceneResolver::AddComponent(ComponentId oldID, Component* component) engine->RegisterObjectMethod(className, "void AddComponent(ComponentId, Component@+)", AS_METHODPR(T, AddComponent, (ComponentId, Component*), void), AS_CALL_THISCALL); // void SceneResolver::AddNode(NodeId oldID, Node* node) engine->RegisterObjectMethod(className, "void AddNode(NodeId, Node@+)", AS_METHODPR(T, AddNode, (NodeId, Node*), void), AS_CALL_THISCALL); // void SceneResolver::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); // void SceneResolver::Resolve() engine->RegisterObjectMethod(className, "void Resolve()", AS_METHODPR(T, Resolve, (), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_SceneResolver REGISTER_MEMBERS_MANUAL_PART_SceneResolver(); #endif } // struct ScratchBuffer | File: ../Graphics/Graphics.h template void RegisterMembers_ScratchBuffer(asIScriptEngine* engine, const char* className) { // SharedArrayPtr ScratchBuffer::data_ // Error: type "SharedArrayPtr" can not automatically bind // i32 ScratchBuffer::size_ engine->RegisterObjectProperty(className, "int size", offsetof(T, size_)); // bool ScratchBuffer::reserved_ engine->RegisterObjectProperty(className, "bool reserved", offsetof(T, reserved_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ScratchBuffer REGISTER_MEMBERS_MANUAL_PART_ScratchBuffer(); #endif } // struct ScreenModeParams | File: ../Graphics/Graphics.h template void RegisterMembers_ScreenModeParams(asIScriptEngine* engine, const char* className) { // bool ScreenModeParams::operator !=(const ScreenModeParams& rhs) const // Only operator == is needed // bool ScreenModeParams::EqualsExceptVSync(const ScreenModeParams& rhs) const engine->RegisterObjectMethod(className, "bool EqualsExceptVSync(const ScreenModeParams&in) const", AS_METHODPR(T, EqualsExceptVSync, (const ScreenModeParams&) const, bool), AS_CALL_THISCALL); // bool ScreenModeParams::operator ==(const ScreenModeParams& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ScreenModeParams&in) const", AS_METHODPR(T, operator==, (const ScreenModeParams&) const, bool), AS_CALL_THISCALL); // bool ScreenModeParams::fullscreen_ engine->RegisterObjectProperty(className, "bool fullscreen", offsetof(T, fullscreen_)); // bool ScreenModeParams::borderless_ engine->RegisterObjectProperty(className, "bool borderless", offsetof(T, borderless_)); // bool ScreenModeParams::resizable_ engine->RegisterObjectProperty(className, "bool resizable", offsetof(T, resizable_)); // bool ScreenModeParams::highDPI_ engine->RegisterObjectProperty(className, "bool highDPI", offsetof(T, highDPI_)); // bool ScreenModeParams::vsync_ engine->RegisterObjectProperty(className, "bool vsync", offsetof(T, vsync_)); // bool ScreenModeParams::tripleBuffer_ engine->RegisterObjectProperty(className, "bool tripleBuffer", offsetof(T, tripleBuffer_)); // int ScreenModeParams::multiSample_ engine->RegisterObjectProperty(className, "int multiSample", offsetof(T, multiSample_)); // int ScreenModeParams::monitor_ engine->RegisterObjectProperty(className, "int monitor", offsetof(T, monitor_)); // int ScreenModeParams::refreshRate_ engine->RegisterObjectProperty(className, "int refreshRate", offsetof(T, refreshRate_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ScreenModeParams REGISTER_MEMBERS_MANUAL_PART_ScreenModeParams(); #endif } // bool Serializer::WriteBuffer(const Vector& value) template bool Serializer_bool_WriteBuffer_constspVectorlesbytegreamp_template(T* _ptr, CScriptArray* value_conv) { Vector value = ArrayToVector(value_conv); bool result = _ptr->WriteBuffer(value); return result; } // bool Serializer::WriteStringVector(const StringVector& value) template bool Serializer_bool_WriteStringVector_constspStringVectoramp_template(T* _ptr, CScriptArray* value_conv) { StringVector value = ArrayToVector(value_conv); bool result = _ptr->WriteStringVector(value); return result; } // class Serializer | File: ../IO/Serializer.h template void RegisterMembers_Serializer(asIScriptEngine* engine, const char* className) { // virtual i32 Serializer::Write(const void* data, i32 size) = 0 // Error: type "const void*" can not automatically bind // bool Serializer::WriteVariantVector(const VariantVector& value) // Error: type "const VariantVector&" can not automatically bind // bool Serializer::WriteBool(bool value) engine->RegisterObjectMethod(className, "bool WriteBool(bool)", AS_METHODPR(T, WriteBool, (bool), bool), AS_CALL_THISCALL); // bool Serializer::WriteBoundingBox(const BoundingBox& value) engine->RegisterObjectMethod(className, "bool WriteBoundingBox(const BoundingBox&in)", AS_METHODPR(T, WriteBoundingBox, (const BoundingBox&), bool), AS_CALL_THISCALL); // bool Serializer::WriteBuffer(const Vector& value) engine->RegisterObjectMethod(className, "bool WriteBuffer(Array@+)", AS_FUNCTION_OBJFIRST(Serializer_bool_WriteBuffer_constspVectorlesbytegreamp_template), AS_CALL_CDECL_OBJFIRST); // bool Serializer::WriteByte(byte value) engine->RegisterObjectMethod(className, "bool WriteByte(byte)", AS_METHODPR(T, WriteByte, (byte), bool), AS_CALL_THISCALL); // bool Serializer::WriteColor(const Color& value) engine->RegisterObjectMethod(className, "bool WriteColor(const Color&in)", AS_METHODPR(T, WriteColor, (const Color&), bool), AS_CALL_THISCALL); // bool Serializer::WriteDouble(double value) engine->RegisterObjectMethod(className, "bool WriteDouble(double)", AS_METHODPR(T, WriteDouble, (double), bool), AS_CALL_THISCALL); // bool Serializer::WriteFileID(const String& value) engine->RegisterObjectMethod(className, "bool WriteFileID(const String&in)", AS_METHODPR(T, WriteFileID, (const String&), bool), AS_CALL_THISCALL); // bool Serializer::WriteFloat(float value) engine->RegisterObjectMethod(className, "bool WriteFloat(float)", AS_METHODPR(T, WriteFloat, (float), bool), AS_CALL_THISCALL); // bool Serializer::WriteI16(i16 value) engine->RegisterObjectMethod(className, "bool WriteI16(int16)", AS_METHODPR(T, WriteI16, (i16), bool), AS_CALL_THISCALL); // bool Serializer::WriteI32(i32 value) engine->RegisterObjectMethod(className, "bool WriteI32(int)", AS_METHODPR(T, WriteI32, (i32), bool), AS_CALL_THISCALL); // bool Serializer::WriteI64(i64 value) engine->RegisterObjectMethod(className, "bool WriteI64(int64)", AS_METHODPR(T, WriteI64, (i64), bool), AS_CALL_THISCALL); // bool Serializer::WriteI8(i8 value) engine->RegisterObjectMethod(className, "bool WriteI8(int8)", AS_METHODPR(T, WriteI8, (i8), bool), AS_CALL_THISCALL); // bool Serializer::WriteIntRect(const IntRect& value) engine->RegisterObjectMethod(className, "bool WriteIntRect(const IntRect&in)", AS_METHODPR(T, WriteIntRect, (const IntRect&), bool), AS_CALL_THISCALL); // bool Serializer::WriteIntVector2(const IntVector2& value) engine->RegisterObjectMethod(className, "bool WriteIntVector2(const IntVector2&in)", AS_METHODPR(T, WriteIntVector2, (const IntVector2&), bool), AS_CALL_THISCALL); // bool Serializer::WriteIntVector3(const IntVector3& value) engine->RegisterObjectMethod(className, "bool WriteIntVector3(const IntVector3&in)", AS_METHODPR(T, WriteIntVector3, (const IntVector3&), bool), AS_CALL_THISCALL); // bool Serializer::WriteLine(const String& value) engine->RegisterObjectMethod(className, "bool WriteLine(const String&in)", AS_METHODPR(T, WriteLine, (const String&), bool), AS_CALL_THISCALL); // bool Serializer::WriteMatrix3(const Matrix3& value) engine->RegisterObjectMethod(className, "bool WriteMatrix3(const Matrix3&in)", AS_METHODPR(T, WriteMatrix3, (const Matrix3&), bool), AS_CALL_THISCALL); // bool Serializer::WriteMatrix3x4(const Matrix3x4& value) engine->RegisterObjectMethod(className, "bool WriteMatrix3x4(const Matrix3x4&in)", AS_METHODPR(T, WriteMatrix3x4, (const Matrix3x4&), bool), AS_CALL_THISCALL); // bool Serializer::WriteMatrix4(const Matrix4& value) engine->RegisterObjectMethod(className, "bool WriteMatrix4(const Matrix4&in)", AS_METHODPR(T, WriteMatrix4, (const Matrix4&), bool), AS_CALL_THISCALL); // bool Serializer::WriteNetID(id32 value) engine->RegisterObjectMethod(className, "bool WriteNetID(id32)", AS_METHODPR(T, WriteNetID, (id32), bool), AS_CALL_THISCALL); // bool Serializer::WritePackedQuaternion(const Quaternion& value) engine->RegisterObjectMethod(className, "bool WritePackedQuaternion(const Quaternion&in)", AS_METHODPR(T, WritePackedQuaternion, (const Quaternion&), bool), AS_CALL_THISCALL); // bool Serializer::WritePackedVector3(const Vector3& value, float maxAbsCoord) engine->RegisterObjectMethod(className, "bool WritePackedVector3(const Vector3&in, float)", AS_METHODPR(T, WritePackedVector3, (const Vector3&, float), bool), AS_CALL_THISCALL); // bool Serializer::WriteQuaternion(const Quaternion& value) engine->RegisterObjectMethod(className, "bool WriteQuaternion(const Quaternion&in)", AS_METHODPR(T, WriteQuaternion, (const Quaternion&), bool), AS_CALL_THISCALL); // bool Serializer::WriteRect(const Rect& value) engine->RegisterObjectMethod(className, "bool WriteRect(const Rect&in)", AS_METHODPR(T, WriteRect, (const Rect&), bool), AS_CALL_THISCALL); // bool Serializer::WriteResourceRef(const ResourceRef& value) engine->RegisterObjectMethod(className, "bool WriteResourceRef(const ResourceRef&in)", AS_METHODPR(T, WriteResourceRef, (const ResourceRef&), bool), AS_CALL_THISCALL); // bool Serializer::WriteResourceRefList(const ResourceRefList& value) engine->RegisterObjectMethod(className, "bool WriteResourceRefList(const ResourceRefList&in)", AS_METHODPR(T, WriteResourceRefList, (const ResourceRefList&), bool), AS_CALL_THISCALL); // bool Serializer::WriteString(const String& value) engine->RegisterObjectMethod(className, "bool WriteString(const String&in)", AS_METHODPR(T, WriteString, (const String&), bool), AS_CALL_THISCALL); // bool Serializer::WriteStringHash(const StringHash& value) engine->RegisterObjectMethod(className, "bool WriteStringHash(const StringHash&in)", AS_METHODPR(T, WriteStringHash, (const StringHash&), bool), AS_CALL_THISCALL); // bool Serializer::WriteStringVector(const StringVector& value) engine->RegisterObjectMethod(className, "bool WriteStringVector(Array@+)", AS_FUNCTION_OBJFIRST(Serializer_bool_WriteStringVector_constspStringVectoramp_template), AS_CALL_CDECL_OBJFIRST); // bool Serializer::WriteU16(u16 value) engine->RegisterObjectMethod(className, "bool WriteU16(uint16)", AS_METHODPR(T, WriteU16, (u16), bool), AS_CALL_THISCALL); // bool Serializer::WriteU32(u32 value) engine->RegisterObjectMethod(className, "bool WriteU32(uint)", AS_METHODPR(T, WriteU32, (u32), bool), AS_CALL_THISCALL); // bool Serializer::WriteU64(u64 value) engine->RegisterObjectMethod(className, "bool WriteU64(uint64)", AS_METHODPR(T, WriteU64, (u64), bool), AS_CALL_THISCALL); // bool Serializer::WriteU8(u8 value) engine->RegisterObjectMethod(className, "bool WriteU8(uint8)", AS_METHODPR(T, WriteU8, (u8), bool), AS_CALL_THISCALL); // bool Serializer::WriteVariant(const Variant& value) engine->RegisterObjectMethod(className, "bool WriteVariant(const Variant&in)", AS_METHODPR(T, WriteVariant, (const Variant&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVariantData(const Variant& value) engine->RegisterObjectMethod(className, "bool WriteVariantData(const Variant&in)", AS_METHODPR(T, WriteVariantData, (const Variant&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVariantMap(const VariantMap& value) engine->RegisterObjectMethod(className, "bool WriteVariantMap(const VariantMap&in)", AS_METHODPR(T, WriteVariantMap, (const VariantMap&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVector2(const Vector2& value) engine->RegisterObjectMethod(className, "bool WriteVector2(const Vector2&in)", AS_METHODPR(T, WriteVector2, (const Vector2&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVector3(const Vector3& value) engine->RegisterObjectMethod(className, "bool WriteVector3(const Vector3&in)", AS_METHODPR(T, WriteVector3, (const Vector3&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVector4(const Vector4& value) engine->RegisterObjectMethod(className, "bool WriteVector4(const Vector4&in)", AS_METHODPR(T, WriteVector4, (const Vector4&), bool), AS_CALL_THISCALL); // bool Serializer::WriteVLE(unsigned value) engine->RegisterObjectMethod(className, "bool WriteVLE(uint)", AS_METHODPR(T, WriteVLE, (unsigned), bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Serializer REGISTER_MEMBERS_MANUAL_PART_Serializer(); #endif } // struct ShaderParameter | File: ../GraphicsAPI/ShaderVariation.h template void RegisterMembers_ShaderParameter(asIScriptEngine* engine, const char* className) { // union ShaderParameter::@? Urho3D::ShaderParameter::@? // Error: type "union Urho3D::ShaderParameter::@?" can not automatically bind // union ShaderParameter::@? Urho3D::ShaderParameter::@? // Error: type "union Urho3D::ShaderParameter::@?" can not automatically bind // ConstantBuffer* ShaderParameter::bufferPtr_ // Not registered because pointer // ShaderType ShaderParameter::type_ engine->RegisterObjectProperty(className, "ShaderType type", offsetof(T, type_)); // String ShaderParameter::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // unsigned ShaderParameter::offset_ engine->RegisterObjectProperty(className, "uint offset", offsetof(T, offset_)); // int ShaderParameter::location_ engine->RegisterObjectProperty(className, "int location", offsetof(T, location_)); // unsigned ShaderParameter::register_ engine->RegisterObjectProperty(className, "uint register", offsetof(T, register_)); // unsigned ShaderParameter::size_ engine->RegisterObjectProperty(className, "uint size", offsetof(T, size_)); // unsigned ShaderParameter::glType_ engine->RegisterObjectProperty(className, "uint glType", offsetof(T, glType_)); // unsigned ShaderParameter::regCount_ engine->RegisterObjectProperty(className, "uint regCount", offsetof(T, regCount_)); // unsigned ShaderParameter::buffer_ engine->RegisterObjectProperty(className, "uint buffer", offsetof(T, buffer_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ShaderParameter REGISTER_MEMBERS_MANUAL_PART_ShaderParameter(); #endif } // struct ShadowBatchQueue | File: ../Graphics/Batch.h template void RegisterMembers_ShadowBatchQueue(asIScriptEngine* engine, const char* className) { // Camera* ShadowBatchQueue::shadowCamera_ // Not registered because pointer // IntRect ShadowBatchQueue::shadowViewport_ engine->RegisterObjectProperty(className, "IntRect shadowViewport", offsetof(T, shadowViewport_)); // BatchQueue ShadowBatchQueue::shadowBatches_ engine->RegisterObjectProperty(className, "BatchQueue shadowBatches", offsetof(T, shadowBatches_)); // float ShadowBatchQueue::nearSplit_ engine->RegisterObjectProperty(className, "float nearSplit", offsetof(T, nearSplit_)); // float ShadowBatchQueue::farSplit_ engine->RegisterObjectProperty(className, "float farSplit", offsetof(T, farSplit_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ShadowBatchQueue REGISTER_MEMBERS_MANUAL_PART_ShadowBatchQueue(); #endif } // class Skeleton | File: ../Graphics/Skeleton.h template void RegisterMembers_Skeleton(asIScriptEngine* engine, const char* className) { // Bone* Skeleton::GetBone(const char* name) // Error: type "const char*" can not automatically bind // const Vector& Skeleton::GetBones() const // Not registered because have @nobind mark // Vector& Skeleton::GetModifiableBones() // Error: type "Vector&" can not automatically bind // void Skeleton::ClearBones() engine->RegisterObjectMethod(className, "void ClearBones()", AS_METHODPR(T, ClearBones, (), void), AS_CALL_THISCALL); // void Skeleton::Define(const Skeleton& src) engine->RegisterObjectMethod(className, "void Define(const Skeleton&in)", AS_METHODPR(T, Define, (const Skeleton&), void), AS_CALL_THISCALL); // Bone* Skeleton::GetBone(i32 index) engine->RegisterObjectMethod(className, "Bone@ GetBone(int)", AS_METHODPR(T, GetBone, (i32), Bone*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Bone@ get_bones(int)", AS_METHODPR(T, GetBone, (i32), Bone*), AS_CALL_THISCALL); // Bone* Skeleton::GetBone(const String& name) engine->RegisterObjectMethod(className, "Bone@ GetBone(const String&in)", AS_METHODPR(T, GetBone, (const String&), Bone*), AS_CALL_THISCALL); // Bone* Skeleton::GetBone(const StringHash& boneNameHash) engine->RegisterObjectMethod(className, "Bone@ GetBone(const StringHash&in)", AS_METHODPR(T, GetBone, (const StringHash&), Bone*), AS_CALL_THISCALL); // i32 Skeleton::GetBoneIndex(const String& boneName) const engine->RegisterObjectMethod(className, "int GetBoneIndex(const String&in) const", AS_METHODPR(T, GetBoneIndex, (const String&) const, i32), AS_CALL_THISCALL); // i32 Skeleton::GetBoneIndex(const StringHash& boneNameHash) const engine->RegisterObjectMethod(className, "int GetBoneIndex(const StringHash&in) const", AS_METHODPR(T, GetBoneIndex, (const StringHash&) const, i32), AS_CALL_THISCALL); // i32 Skeleton::GetBoneIndex(const Bone* bone) const engine->RegisterObjectMethod(className, "int GetBoneIndex(Bone@) const", AS_METHODPR(T, GetBoneIndex, (const Bone*) const, i32), AS_CALL_THISCALL); // Bone* Skeleton::GetBoneParent(const Bone* bone) engine->RegisterObjectMethod(className, "Bone@ GetBoneParent(Bone@)", AS_METHODPR(T, GetBoneParent, (const Bone*), Bone*), AS_CALL_THISCALL); // i32 Skeleton::GetNumBones() const engine->RegisterObjectMethod(className, "int GetNumBones() const", AS_METHODPR(T, GetNumBones, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numBones() const", AS_METHODPR(T, GetNumBones, () const, i32), AS_CALL_THISCALL); // Bone* Skeleton::GetRootBone() engine->RegisterObjectMethod(className, "Bone@ GetRootBone()", AS_METHODPR(T, GetRootBone, (), Bone*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Bone@ get_rootBone()", AS_METHODPR(T, GetRootBone, (), Bone*), AS_CALL_THISCALL); // bool Skeleton::Load(Deserializer& source) engine->RegisterObjectMethod(className, "bool Load(Deserializer&)", AS_METHODPR(T, Load, (Deserializer&), bool), AS_CALL_THISCALL); // void Skeleton::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); // void Skeleton::ResetSilent() engine->RegisterObjectMethod(className, "void ResetSilent()", AS_METHODPR(T, ResetSilent, (), void), AS_CALL_THISCALL); // bool Skeleton::Save(Serializer& dest) const engine->RegisterObjectMethod(className, "bool Save(Serializer&) const", AS_METHODPR(T, Save, (Serializer&) const, bool), AS_CALL_THISCALL); // void Skeleton::SetRootBoneIndex(i32 index) engine->RegisterObjectMethod(className, "void SetRootBoneIndex(int)", AS_METHODPR(T, SetRootBoneIndex, (i32), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Skeleton REGISTER_MEMBERS_MANUAL_PART_Skeleton(); #endif } // struct SourceBatch | File: ../Graphics/Drawable.h template void RegisterMembers_SourceBatch(asIScriptEngine* engine, const char* className) { // SourceBatch& SourceBatch::operator =(const SourceBatch& rhs) engine->RegisterObjectMethod(className, "SourceBatch& opAssign(const SourceBatch&in)", AS_METHODPR(T, operator=, (const SourceBatch&), SourceBatch&), AS_CALL_THISCALL); // Geometry* SourceBatch::geometry_ // Not registered because pointer // SharedPtr SourceBatch::material_ // Error: type "SharedPtr" can not automatically bind // const Matrix3x4* SourceBatch::worldTransform_ // Not registered because pointer // void* SourceBatch::instancingData_ // Not registered because pointer // float SourceBatch::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); // i32 SourceBatch::numWorldTransforms_ engine->RegisterObjectProperty(className, "int numWorldTransforms", offsetof(T, numWorldTransforms_)); // GeometryType SourceBatch::geometryType_ engine->RegisterObjectProperty(className, "GeometryType geometryType", offsetof(T, geometryType_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_SourceBatch REGISTER_MEMBERS_MANUAL_PART_SourceBatch(); #endif } // class Sphere | File: ../Math/Sphere.h template void RegisterMembers_Sphere(asIScriptEngine* engine, const char* className) { // void Sphere::Define(const Vector3* vertices, i32 count) // Error: type "const Vector3*" can not automatically bind // void Sphere::Merge(const Vector3* vertices, i32 count) // Error: type "const Vector3*" can not automatically bind // bool Sphere::operator !=(const Sphere& rhs) const // Only operator == is needed // void Sphere::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void Sphere::Define(const Sphere& sphere) engine->RegisterObjectMethod(className, "void Define(const Sphere&in)", AS_METHODPR(T, Define, (const Sphere&), void), AS_CALL_THISCALL); // void Sphere::Define(const Vector3& center, float radius) engine->RegisterObjectMethod(className, "void Define(const Vector3&in, float)", AS_METHODPR(T, Define, (const Vector3&, float), void), AS_CALL_THISCALL); // void Sphere::Define(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Define(const BoundingBox&in)", AS_METHODPR(T, Define, (const BoundingBox&), void), AS_CALL_THISCALL); // void Sphere::Define(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Define(const Frustum&in)", AS_METHODPR(T, Define, (const Frustum&), void), AS_CALL_THISCALL); // void Sphere::Define(const Polyhedron& poly) engine->RegisterObjectMethod(className, "void Define(const Polyhedron&in)", AS_METHODPR(T, Define, (const Polyhedron&), void), AS_CALL_THISCALL); // bool Sphere::Defined() const engine->RegisterObjectMethod(className, "bool Defined() const", AS_METHODPR(T, Defined, () const, bool), AS_CALL_THISCALL); // float Sphere::Distance(const Vector3& point) const engine->RegisterObjectMethod(className, "float Distance(const Vector3&in) const", AS_METHODPR(T, Distance, (const Vector3&) const, float), AS_CALL_THISCALL); // Vector3 Sphere::GetLocalPoint(float theta, float phi) const engine->RegisterObjectMethod(className, "Vector3 GetLocalPoint(float, float) const", AS_METHODPR(T, GetLocalPoint, (float, float) const, Vector3), AS_CALL_THISCALL); // Vector3 Sphere::GetPoint(float theta, float phi) const engine->RegisterObjectMethod(className, "Vector3 GetPoint(float, float) const", AS_METHODPR(T, GetPoint, (float, float) const, Vector3), AS_CALL_THISCALL); // Intersection Sphere::IsInside(const Vector3& point) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Vector3&in) const", AS_METHODPR(T, IsInside, (const Vector3&) const, Intersection), AS_CALL_THISCALL); // Intersection Sphere::IsInside(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInside(const Sphere&in) const", AS_METHODPR(T, IsInside, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // Intersection Sphere::IsInside(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInside(const BoundingBox&in) const", AS_METHODPR(T, IsInside, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // Intersection Sphere::IsInsideFast(const Sphere& sphere) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const Sphere&in) const", AS_METHODPR(T, IsInsideFast, (const Sphere&) const, Intersection), AS_CALL_THISCALL); // Intersection Sphere::IsInsideFast(const BoundingBox& box) const engine->RegisterObjectMethod(className, "Intersection IsInsideFast(const BoundingBox&in) const", AS_METHODPR(T, IsInsideFast, (const BoundingBox&) const, Intersection), AS_CALL_THISCALL); // void Sphere::Merge(const Vector3& point) engine->RegisterObjectMethod(className, "void Merge(const Vector3&in)", AS_METHODPR(T, Merge, (const Vector3&), void), AS_CALL_THISCALL); // void Sphere::Merge(const BoundingBox& box) engine->RegisterObjectMethod(className, "void Merge(const BoundingBox&in)", AS_METHODPR(T, Merge, (const BoundingBox&), void), AS_CALL_THISCALL); // void Sphere::Merge(const Frustum& frustum) engine->RegisterObjectMethod(className, "void Merge(const Frustum&in)", AS_METHODPR(T, Merge, (const Frustum&), void), AS_CALL_THISCALL); // void Sphere::Merge(const Polyhedron& poly) engine->RegisterObjectMethod(className, "void Merge(const Polyhedron&in)", AS_METHODPR(T, Merge, (const Polyhedron&), void), AS_CALL_THISCALL); // void Sphere::Merge(const Sphere& sphere) engine->RegisterObjectMethod(className, "void Merge(const Sphere&in)", AS_METHODPR(T, Merge, (const Sphere&), void), AS_CALL_THISCALL); // Sphere& Sphere::operator =(const Sphere& rhs) noexcept = default engine->RegisterObjectMethod(className, "Sphere& opAssign(const Sphere&in)", AS_METHODPR(T, operator=, (const Sphere&), Sphere&), AS_CALL_THISCALL); // bool Sphere::operator ==(const Sphere& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Sphere&in) const", AS_METHODPR(T, operator==, (const Sphere&) const, bool), AS_CALL_THISCALL); // Vector3 Sphere::center_ engine->RegisterObjectProperty(className, "Vector3 center", offsetof(T, center_)); // float Sphere::radius_ engine->RegisterObjectProperty(className, "float radius", offsetof(T, radius_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Sphere REGISTER_MEMBERS_MANUAL_PART_Sphere(); #endif } // void Spline::SetKnots(const Vector& knots) template void Spline_void_SetKnots_constspVectorlesVariantgreamp_template(T* _ptr, CScriptArray* knots_conv) { Vector knots = ArrayToVector(knots_conv); _ptr->SetKnots(knots); } // class Spline | File: ../Core/Spline.h template void RegisterMembers_Spline(asIScriptEngine* engine, const char* className) { // const VariantVector& Spline::GetKnots() const // Error: type "const VariantVector&" can not automatically bind // bool Spline::operator !=(const Spline& rhs) const // Only operator == is needed // void Spline::AddKnot(const Variant& knot) engine->RegisterObjectMethod(className, "void AddKnot(const Variant&in)", AS_METHODPR(T, AddKnot, (const Variant&), void), AS_CALL_THISCALL); // void Spline::AddKnot(const Variant& knot, unsigned index) engine->RegisterObjectMethod(className, "void AddKnot(const Variant&in, uint)", AS_METHODPR(T, AddKnot, (const Variant&, unsigned), void), AS_CALL_THISCALL); // void Spline::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // InterpolationMode Spline::GetInterpolationMode() const engine->RegisterObjectMethod(className, "InterpolationMode GetInterpolationMode() const", AS_METHODPR(T, GetInterpolationMode, () const, InterpolationMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "InterpolationMode get_interpolationMode() const", AS_METHODPR(T, GetInterpolationMode, () const, InterpolationMode), AS_CALL_THISCALL); // Variant Spline::GetKnot(unsigned index) const engine->RegisterObjectMethod(className, "Variant GetKnot(uint) const", AS_METHODPR(T, GetKnot, (unsigned) const, Variant), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Variant get_knot(uint) const", AS_METHODPR(T, GetKnot, (unsigned) const, Variant), AS_CALL_THISCALL); // Variant Spline::GetPoint(float f) const engine->RegisterObjectMethod(className, "Variant GetPoint(float) const", AS_METHODPR(T, GetPoint, (float) const, Variant), AS_CALL_THISCALL); // Spline& Spline::operator =(const Spline& rhs) = default engine->RegisterObjectMethod(className, "Spline& opAssign(const Spline&in)", AS_METHODPR(T, operator=, (const Spline&), Spline&), AS_CALL_THISCALL); // bool Spline::operator ==(const Spline& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Spline&in) const", AS_METHODPR(T, operator==, (const Spline&) const, bool), AS_CALL_THISCALL); // void Spline::RemoveKnot() engine->RegisterObjectMethod(className, "void RemoveKnot()", AS_METHODPR(T, RemoveKnot, (), void), AS_CALL_THISCALL); // void Spline::RemoveKnot(unsigned index) engine->RegisterObjectMethod(className, "void RemoveKnot(uint)", AS_METHODPR(T, RemoveKnot, (unsigned), void), AS_CALL_THISCALL); // void Spline::SetInterpolationMode(InterpolationMode interpolationMode) engine->RegisterObjectMethod(className, "void SetInterpolationMode(InterpolationMode)", AS_METHODPR(T, SetInterpolationMode, (InterpolationMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_interpolationMode(InterpolationMode)", AS_METHODPR(T, SetInterpolationMode, (InterpolationMode), void), AS_CALL_THISCALL); // void Spline::SetKnot(const Variant& knot, unsigned index) engine->RegisterObjectMethod(className, "void SetKnot(const Variant&in, uint)", AS_METHODPR(T, SetKnot, (const Variant&, unsigned), void), AS_CALL_THISCALL); // void Spline::SetKnots(const Vector& knots) engine->RegisterObjectMethod(className, "void SetKnots(Array@+)", AS_FUNCTION_OBJFIRST(Spline_void_SetKnots_constspVectorlesVariantgreamp_template), AS_CALL_CDECL_OBJFIRST); #ifdef REGISTER_MEMBERS_MANUAL_PART_Spline REGISTER_MEMBERS_MANUAL_PART_Spline(); #endif } // struct StaticModelGeometryData | File: ../Graphics/StaticModel.h template void RegisterMembers_StaticModelGeometryData(asIScriptEngine* engine, const char* className) { // Vector3 StaticModelGeometryData::center_ engine->RegisterObjectProperty(className, "Vector3 center", offsetof(T, center_)); // i32 StaticModelGeometryData::lodLevel_ engine->RegisterObjectProperty(className, "int lodLevel", offsetof(T, lodLevel_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_StaticModelGeometryData REGISTER_MEMBERS_MANUAL_PART_StaticModelGeometryData(); #endif } // struct StoredLogMessage | File: ../IO/Log.h template void RegisterMembers_StoredLogMessage(asIScriptEngine* engine, const char* className) { // String StoredLogMessage::message_ engine->RegisterObjectProperty(className, "String message", offsetof(T, message_)); // int StoredLogMessage::level_ engine->RegisterObjectProperty(className, "int level", offsetof(T, level_)); // bool StoredLogMessage::error_ engine->RegisterObjectProperty(className, "bool error", offsetof(T, error_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_StoredLogMessage REGISTER_MEMBERS_MANUAL_PART_StoredLogMessage(); #endif } // void String::Join(const Vector& subStrings, const String& glue) template void String_void_Join_constspVectorlesStringgreamp_constspStringamp_template(T* _ptr, CScriptArray* subStrings_conv, const String& glue) { Vector subStrings = ArrayToVector(subStrings_conv); _ptr->Join(subStrings, glue); } // Vector String::Split(char separator, bool keepEmptyStrings = false) const template CScriptArray* String_VectorlesStringgre_Split_char_bool_template(T* _ptr, char separator, bool keepEmptyStrings) { Vector result = _ptr->Split(separator, keepEmptyStrings); return VectorToArray(result, "Array"); } // bool String::operator <(const String& rhs) const template int String_bool_operatorles_constspStringamp(const T& lhs, const T& rhs) { if (lhs < rhs) return -1; if (lhs > rhs) return 1; return 0; } // class String | File: ../Container/Str.h template void RegisterMembers_String(asIScriptEngine* engine, const char* className) { // String& String::Append(const char* str) // Error: type "const char*" can not automatically bind // String& String::Append(const char* str, i32 length) // Error: type "const char*" can not automatically bind // String& String::AppendWithFormat(const char* formatString,...) // Error: type "const char*" can not automatically bind // String& String::AppendWithFormatArgs(const char* formatString, va_list args) // Error: type "const char*" can not automatically bind // Iterator String::Begin() // Error: type "Iterator" can not automatically bind // ConstIterator String::Begin() const // Error: type "ConstIterator" can not automatically bind // int String::Compare(const char* str, bool caseSensitive = true) const // Error: type "const char*" can not automatically bind // const char* String::CString() const // Error: type "const char*" can not automatically bind // Iterator String::End() // Error: type "Iterator" can not automatically bind // ConstIterator String::End() const // Error: type "ConstIterator" can not automatically bind // Iterator String::Erase(const Iterator& it) // Error: type "const Iterator&" can not automatically bind // Iterator String::Erase(const Iterator& start, const Iterator& end) // Error: type "const Iterator&" can not automatically bind // char* String::GetBuffer() // Error: type "char*" can not automatically bind // const char* String::GetBuffer() const // Error: type "const char*" can not automatically bind // Iterator String::Insert(const Iterator& dest, const String& str) // Error: type "const Iterator&" can not automatically bind // Iterator String::Insert(const Iterator& dest, const Iterator& start, const Iterator& end) // Error: type "const Iterator&" can not automatically bind // Iterator String::Insert(const Iterator& dest, char c) // Error: type "const Iterator&" can not automatically bind // bool String::operator !=(const String& rhs) const // Only operator == is needed // bool String::operator !=(const char* rhs) const // Error: type "const char*" can not automatically bind // String String::operator +(const char* rhs) const // Error: type "const char*" can not automatically bind // String& String::operator +=(const char* rhs) // Error: type "const char*" can not automatically bind // String& String::operator +=(long rhs) // Not registered because have @nobind mark // String& String::operator +=(unsigned long rhs) // Not registered because have @nobind mark // bool String::operator <(const String& rhs) const // Registerd as opCmp separately // bool String::operator <(const char* rhs) const // Error: type "const char*" can not automatically bind // String& String::operator =(String&& rhs) noexcept // Error: type "String&&" can not automatically bind // String& String::operator =(const char* rhs) // Error: type "const char*" can not automatically bind // bool String::operator ==(const char* rhs) const // Error: type "const char*" can not automatically bind // bool String::operator >(const String& rhs) const // Registerd as opCmp separately // bool String::operator >(const char* rhs) const // Error: type "const char*" can not automatically bind // void String::Replace(i32 pos, i32 length, const char* replaceWith) // Error: type "const char*" can not automatically bind // Iterator String::Replace(const Iterator& start, const Iterator& end, const String& replaceWith) // Error: type "const Iterator&" can not automatically bind // void String::SetUTF8FromLatin1(const char* str) // Error: type "const char*" can not automatically bind // void String::SetUTF8FromWChar(const wchar_t* str) // Error: type "const wchar_t*" can not automatically bind // String& String::Append(const String& str) engine->RegisterObjectMethod(className, "String& Append(const String&in)", AS_METHODPR(T, Append, (const String&), String&), AS_CALL_THISCALL); // String& String::Append(char c) engine->RegisterObjectMethod(className, "String& Append(int8)", AS_METHODPR(T, Append, (char), String&), AS_CALL_THISCALL); // String& String::AppendUTF8(c32 unicodeChar) engine->RegisterObjectMethod(className, "String& AppendUTF8(c32)", AS_METHODPR(T, AppendUTF8, (c32), String&), AS_CALL_THISCALL); // char& String::At(i32 index) engine->RegisterObjectMethod(className, "int8& At(int)", AS_METHODPR(T, At, (i32), char&), AS_CALL_THISCALL); // const char& String::At(i32 index) const engine->RegisterObjectMethod(className, "const int8& At(int) const", AS_METHODPR(T, At, (i32) const, const char&), AS_CALL_THISCALL); // c32 String::AtUTF8(i32 index) const engine->RegisterObjectMethod(className, "c32 AtUTF8(int) const", AS_METHODPR(T, AtUTF8, (i32) const, c32), AS_CALL_THISCALL); // char String::Back() const engine->RegisterObjectMethod(className, "int8 Back() const", AS_METHODPR(T, Back, () const, char), AS_CALL_THISCALL); // i32 String::ByteOffsetUTF8(i32 index) const engine->RegisterObjectMethod(className, "int ByteOffsetUTF8(int) const", AS_METHODPR(T, ByteOffsetUTF8, (i32) const, i32), AS_CALL_THISCALL); // i32 String::Capacity() const engine->RegisterObjectMethod(className, "int Capacity() const", AS_METHODPR(T, Capacity, () const, i32), AS_CALL_THISCALL); // void String::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void String::Compact() engine->RegisterObjectMethod(className, "void Compact()", AS_METHODPR(T, Compact, (), void), AS_CALL_THISCALL); // int String::Compare(const String& str, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "int Compare(const String&in, bool = true) const", AS_METHODPR(T, Compare, (const String&, bool) const, int), AS_CALL_THISCALL); // bool String::Contains(const String& str, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "bool Contains(const String&in, bool = true) const", AS_METHODPR(T, Contains, (const String&, bool) const, bool), AS_CALL_THISCALL); // bool String::Contains(char c, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "bool Contains(int8, bool = true) const", AS_METHODPR(T, Contains, (char, bool) const, bool), AS_CALL_THISCALL); // bool String::Empty() const engine->RegisterObjectMethod(className, "bool Empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); // bool String::EndsWith(const String& str, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "bool EndsWith(const String&in, bool = true) const", AS_METHODPR(T, EndsWith, (const String&, bool) const, bool), AS_CALL_THISCALL); // void String::Erase(i32 pos, i32 length = 1) engine->RegisterObjectMethod(className, "void Erase(int, int = 1)", AS_METHODPR(T, Erase, (i32, i32), void), AS_CALL_THISCALL); // i32 String::Find(const String& str, i32 startPos = 0, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "int Find(const String&in, int = 0, bool = true) const", AS_METHODPR(T, Find, (const String&, i32, bool) const, i32), AS_CALL_THISCALL); // i32 String::Find(char c, i32 startPos = 0, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "int Find(int8, int = 0, bool = true) const", AS_METHODPR(T, Find, (char, i32, bool) const, i32), AS_CALL_THISCALL); // i32 String::FindLast(const String& str, i32 startPos = NPOS, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "int FindLast(const String&in, int = String::NPOS, bool = true) const", AS_METHODPR(T, FindLast, (const String&, i32, bool) const, i32), AS_CALL_THISCALL); // i32 String::FindLast(char c, i32 startPos = NPOS, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "int FindLast(int8, int = String::NPOS, bool = true) const", AS_METHODPR(T, FindLast, (char, i32, bool) const, i32), AS_CALL_THISCALL); // char String::Front() const engine->RegisterObjectMethod(className, "int8 Front() const", AS_METHODPR(T, Front, () const, char), AS_CALL_THISCALL); // void String::Insert(i32 pos, const String& str) engine->RegisterObjectMethod(className, "void Insert(int, const String&in)", AS_METHODPR(T, Insert, (i32, const String&), void), AS_CALL_THISCALL); // void String::Insert(i32 pos, char c) engine->RegisterObjectMethod(className, "void Insert(int, int8)", AS_METHODPR(T, Insert, (i32, char), void), AS_CALL_THISCALL); // bool String::IsShort() const engine->RegisterObjectMethod(className, "bool IsShort() const", AS_METHODPR(T, IsShort, () const, bool), AS_CALL_THISCALL); // void String::Join(const Vector& subStrings, const String& glue) engine->RegisterObjectMethod(className, "void Join(Array@+, const String&in)", AS_FUNCTION_OBJFIRST(String_void_Join_constspVectorlesStringgreamp_constspStringamp_template), AS_CALL_CDECL_OBJFIRST); // i32 String::Length() const engine->RegisterObjectMethod(className, "int Length() const", AS_METHODPR(T, Length, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_length() const", AS_METHODPR(T, Length, () const, i32), AS_CALL_THISCALL); // i32 String::LengthUTF8() const engine->RegisterObjectMethod(className, "int LengthUTF8() const", AS_METHODPR(T, LengthUTF8, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_utf8Length() const", AS_METHODPR(T, LengthUTF8, () const, i32), AS_CALL_THISCALL); // c32 String::NextUTF8Char(i32& byteOffset) const engine->RegisterObjectMethod(className, "c32 NextUTF8Char(int&) const", AS_METHODPR(T, NextUTF8Char, (i32&) const, c32), AS_CALL_THISCALL); // String String::operator +(const String& rhs) const engine->RegisterObjectMethod(className, "String opAdd(const String&in) const", AS_METHODPR(T, operator+, (const String&) const, String), AS_CALL_THISCALL); // String& String::operator +=(const String& rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(const String&in)", AS_METHODPR(T, operator+=, (const String&), String&), AS_CALL_THISCALL); // String& String::operator +=(char rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(int8)", AS_METHODPR(T, operator+=, (char), String&), AS_CALL_THISCALL); // String& String::operator +=(int rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(int)", AS_METHODPR(T, operator+=, (int), String&), AS_CALL_THISCALL); // String& String::operator +=(short rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(int16)", AS_METHODPR(T, operator+=, (short), String&), AS_CALL_THISCALL); // String& String::operator +=(long long rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(int64)", AS_METHODPR(T, operator+=, (long long), String&), AS_CALL_THISCALL); // String& String::operator +=(unsigned rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(uint)", AS_METHODPR(T, operator+=, (unsigned), String&), AS_CALL_THISCALL); // String& String::operator +=(unsigned short rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(uint16)", AS_METHODPR(T, operator+=, (unsigned short), String&), AS_CALL_THISCALL); // String& String::operator +=(unsigned long long rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(uint64)", AS_METHODPR(T, operator+=, (unsigned long long), String&), AS_CALL_THISCALL); // String& String::operator +=(float rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(float)", AS_METHODPR(T, operator+=, (float), String&), AS_CALL_THISCALL); // String& String::operator +=(bool rhs) engine->RegisterObjectMethod(className, "String& opAddAssign(bool)", AS_METHODPR(T, operator+=, (bool), String&), AS_CALL_THISCALL); // String& String::operator =(const String& rhs) engine->RegisterObjectMethod(className, "String& opAssign(const String&in)", AS_METHODPR(T, operator=, (const String&), String&), AS_CALL_THISCALL); // bool String::operator ==(const String& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const String&in) const", AS_METHODPR(T, operator==, (const String&) const, bool), AS_CALL_THISCALL); // char& String::operator [](i32 index) engine->RegisterObjectMethod(className, "int8& opIndex(int)", AS_METHODPR(T, operator[], (i32), char&), AS_CALL_THISCALL); // const char& String::operator [](i32 index) const engine->RegisterObjectMethod(className, "const int8& opIndex(int) const", AS_METHODPR(T, operator[], (i32) const, const char&), AS_CALL_THISCALL); // void String::Replace(char replaceThis, char replaceWith, bool caseSensitive = true) engine->RegisterObjectMethod(className, "void Replace(int8, int8, bool = true)", AS_METHODPR(T, Replace, (char, char, bool), void), AS_CALL_THISCALL); // void String::Replace(const String& replaceThis, const String& replaceWith, bool caseSensitive = true) engine->RegisterObjectMethod(className, "void Replace(const String&in, const String&in, bool = true)", AS_METHODPR(T, Replace, (const String&, const String&, bool), void), AS_CALL_THISCALL); // void String::Replace(i32 pos, i32 length, const String& replaceWith) engine->RegisterObjectMethod(className, "void Replace(int, int, const String&in)", AS_METHODPR(T, Replace, (i32, i32, const String&), void), AS_CALL_THISCALL); // String String::Replaced(char replaceThis, char replaceWith, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "String Replaced(int8, int8, bool = true) const", AS_METHODPR(T, Replaced, (char, char, bool) const, String), AS_CALL_THISCALL); // String String::Replaced(const String& replaceThis, const String& replaceWith, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "String Replaced(const String&in, const String&in, bool = true) const", AS_METHODPR(T, Replaced, (const String&, const String&, bool) const, String), AS_CALL_THISCALL); // void String::ReplaceUTF8(i32 index, c32 unicodeChar) engine->RegisterObjectMethod(className, "void ReplaceUTF8(int, c32)", AS_METHODPR(T, ReplaceUTF8, (i32, c32), void), AS_CALL_THISCALL); // void String::Reserve(i32 newCapacity) engine->RegisterObjectMethod(className, "void Reserve(int)", AS_METHODPR(T, Reserve, (i32), void), AS_CALL_THISCALL); // void String::Resize(i32 newLength) engine->RegisterObjectMethod(className, "void Resize(int)", AS_METHODPR(T, Resize, (i32), void), AS_CALL_THISCALL); // Vector String::Split(char separator, bool keepEmptyStrings = false) const engine->RegisterObjectMethod(className, "Array@ Split(int8, bool = false) const", AS_FUNCTION_OBJFIRST(String_VectorlesStringgre_Split_char_bool_template), AS_CALL_CDECL_OBJFIRST); // bool String::StartsWith(const String& str, bool caseSensitive = true) const engine->RegisterObjectMethod(className, "bool StartsWith(const String&in, bool = true) const", AS_METHODPR(T, StartsWith, (const String&, bool) const, bool), AS_CALL_THISCALL); // String String::Substring(i32 pos) const engine->RegisterObjectMethod(className, "String Substring(int) const", AS_METHODPR(T, Substring, (i32) const, String), AS_CALL_THISCALL); // String String::Substring(i32 pos, i32 length) const engine->RegisterObjectMethod(className, "String Substring(int, int) const", AS_METHODPR(T, Substring, (i32, i32) const, String), AS_CALL_THISCALL); // String String::SubstringUTF8(i32 pos) const engine->RegisterObjectMethod(className, "String SubstringUTF8(int) const", AS_METHODPR(T, SubstringUTF8, (i32) const, String), AS_CALL_THISCALL); // String String::SubstringUTF8(i32 pos, i32 length) const engine->RegisterObjectMethod(className, "String SubstringUTF8(int, int) const", AS_METHODPR(T, SubstringUTF8, (i32, i32) const, String), AS_CALL_THISCALL); // void String::Swap(String& str) engine->RegisterObjectMethod(className, "void Swap(String&)", AS_METHODPR(T, Swap, (String&), void), AS_CALL_THISCALL); // hash32 String::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String String::ToLower() const engine->RegisterObjectMethod(className, "String ToLower() const", AS_METHODPR(T, ToLower, () const, String), AS_CALL_THISCALL); // String String::ToUpper() const engine->RegisterObjectMethod(className, "String ToUpper() const", AS_METHODPR(T, ToUpper, () const, String), AS_CALL_THISCALL); // String String::Trimmed() const engine->RegisterObjectMethod(className, "String Trimmed() const", AS_METHODPR(T, Trimmed, () const, String), AS_CALL_THISCALL); // bool String::operator <(const String& rhs) const engine->RegisterObjectMethod(className, "int opCmp(const String& in) const", AS_FUNCTION_OBJFIRST(String_bool_operatorles_constspStringamp), AS_CALL_CDECL_OBJFIRST); // template String& String::operator +=(const T& rhs) // Not registered because template // static Vector String::Split(const char* str, char separator, bool keepEmptyStrings = false) // Error: type "const char*" can not automatically bind // static String String::Joined(const Vector& subStrings, const String& glue) // Not registered because have @manualbind mark // static void String::EncodeUTF8(char*& dest, c32 unicodeChar) // Error: type "char*&" can not automatically bind // static c32 String::DecodeUTF8(const char*& src) // Error: type "const char*&" can not automatically bind // static i32 String::CStringLength(const char* str) // Error: type "const char*" can not automatically bind // static int String::Compare(const char* lhs, const char* rhs, bool caseSensitive) // Error: type "const char*" can not automatically bind // LongString String::longString_ // Not registered because have @nobind mark // ShortString String::shortString_ // Not registered because have @nobind mark // static constexpr i32 String::NPOS engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const int NPOS", (void*)&T::NPOS);engine->SetDefaultNamespace(""); // static const String String::EMPTY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const String EMPTY", (void*)&T::EMPTY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_String REGISTER_MEMBERS_MANUAL_PART_String(); #endif } // bool StringHash::operator <(const StringHash& rhs) const template int StringHash_bool_operatorles_constspStringHashamp(const T& lhs, const T& rhs) { if (lhs < rhs) return -1; if (lhs > rhs) return 1; return 0; } // class StringHash | File: ../Math/StringHash.h template void RegisterMembers_StringHash(asIScriptEngine* engine, const char* className) { // bool StringHash::operator !=(const StringHash& rhs) const // Only operator == is needed // bool StringHash::operator <(const StringHash& rhs) const // Registerd as opCmp separately // bool StringHash::operator >(const StringHash& rhs) const // Registerd as opCmp separately // explicit StringHash::operator bool() const engine->RegisterObjectMethod(className, "bool opConv() const", AS_METHODPR(T, operator bool, () const, bool), AS_CALL_THISCALL); // StringHash StringHash::operator +(const StringHash& rhs) const engine->RegisterObjectMethod(className, "StringHash opAdd(const StringHash&in) const", AS_METHODPR(T, operator+, (const StringHash&) const, StringHash), AS_CALL_THISCALL); // StringHash& StringHash::operator +=(const StringHash& rhs) engine->RegisterObjectMethod(className, "StringHash& opAddAssign(const StringHash&in)", AS_METHODPR(T, operator+=, (const StringHash&), StringHash&), AS_CALL_THISCALL); // StringHash& StringHash::operator =(const StringHash& rhs) noexcept = default engine->RegisterObjectMethod(className, "StringHash& opAssign(const StringHash&in)", AS_METHODPR(T, operator=, (const StringHash&), StringHash&), AS_CALL_THISCALL); // bool StringHash::operator ==(const StringHash& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const StringHash&in) const", AS_METHODPR(T, operator==, (const StringHash&) const, bool), AS_CALL_THISCALL); // String StringHash::Reverse() const engine->RegisterObjectMethod(className, "String Reverse() const", AS_METHODPR(T, Reverse, () const, String), AS_CALL_THISCALL); // hash32 StringHash::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String StringHash::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // hash32 StringHash::Value() const engine->RegisterObjectMethod(className, "hash32 Value() const", AS_METHODPR(T, Value, () const, hash32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "hash32 get_value() const", AS_METHODPR(T, Value, () const, hash32), AS_CALL_THISCALL); // bool StringHash::operator <(const StringHash& rhs) const engine->RegisterObjectMethod(className, "int opCmp(const StringHash& in) const", AS_FUNCTION_OBJFIRST(StringHash_bool_operatorles_constspStringHashamp), AS_CALL_CDECL_OBJFIRST); // static constexpr hash32 StringHash::Calculate(const char* str, hash32 hash = 0) // Error: type "const char*" can not automatically bind // static StringHashRegister* StringHash::GetGlobalStringHashRegister() // Error: type "StringHashRegister*" can not automatically bind // static const StringHash StringHash::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const StringHash ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_StringHash REGISTER_MEMBERS_MANUAL_PART_StringHash(); #endif } // class StringHashRegister | File: ../Core/StringHashRegister.h template void RegisterMembers_StringHashRegister(asIScriptEngine* engine, const char* className) { // const StringMap& StringHashRegister::GetInternalMap() const // Error: type "const StringMap&" can not automatically bind // StringHash StringHashRegister::RegisterString(const StringHash& hash, const char* string) // Error: type "const char*" can not automatically bind // StringHash StringHashRegister::RegisterString(const char* string) // Error: type "const char*" can not automatically bind // bool StringHashRegister::Contains(const StringHash& hash) const engine->RegisterObjectMethod(className, "bool Contains(const StringHash&in) const", AS_METHODPR(T, Contains, (const StringHash&) const, bool), AS_CALL_THISCALL); // const String& StringHashRegister::GetString(const StringHash& hash) const engine->RegisterObjectMethod(className, "const String& GetString(const StringHash&in) const", AS_METHODPR(T, GetString, (const StringHash&) const, const String&), AS_CALL_THISCALL); // String StringHashRegister::GetStringCopy(const StringHash& hash) const engine->RegisterObjectMethod(className, "String GetStringCopy(const StringHash&in) const", AS_METHODPR(T, GetStringCopy, (const StringHash&) const, String), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_StringHashRegister REGISTER_MEMBERS_MANUAL_PART_StringHashRegister(); #endif } // struct TechniqueEntry | File: ../Graphics/Material.h template void RegisterMembers_TechniqueEntry(asIScriptEngine* engine, const char* className) { // SharedPtr TechniqueEntry::technique_ // Error: type "SharedPtr" can not automatically bind // SharedPtr TechniqueEntry::original_ // Error: type "SharedPtr" can not automatically bind // MaterialQuality TechniqueEntry::qualityLevel_ engine->RegisterObjectProperty(className, "MaterialQuality qualityLevel", offsetof(T, qualityLevel_)); // float TechniqueEntry::lodDistance_ engine->RegisterObjectProperty(className, "float lodDistance", offsetof(T, lodDistance_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_TechniqueEntry REGISTER_MEMBERS_MANUAL_PART_TechniqueEntry(); #endif } // struct TextureFrame | File: ../Graphics/ParticleEffect.h template void RegisterMembers_TextureFrame(asIScriptEngine* engine, const char* className) { // Rect TextureFrame::uv_ engine->RegisterObjectProperty(className, "Rect uv", offsetof(T, uv_)); // float TextureFrame::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_TextureFrame REGISTER_MEMBERS_MANUAL_PART_TextureFrame(); #endif } // class Thread | File: ../Core/Thread.h template void RegisterMembers_Thread(asIScriptEngine* engine, const char* className) { // bool Thread::IsStarted() const engine->RegisterObjectMethod(className, "bool IsStarted() const", AS_METHODPR(T, IsStarted, () const, bool), AS_CALL_THISCALL); // bool Thread::Run() engine->RegisterObjectMethod(className, "bool Run()", AS_METHODPR(T, Run, (), bool), AS_CALL_THISCALL); // void Thread::SetPriority(int priority) engine->RegisterObjectMethod(className, "void SetPriority(int)", AS_METHODPR(T, SetPriority, (int), void), AS_CALL_THISCALL); // void Thread::Stop() engine->RegisterObjectMethod(className, "void Stop()", AS_METHODPR(T, Stop, (), void), AS_CALL_THISCALL); // virtual void Thread::ThreadFunction() = 0 engine->RegisterObjectMethod(className, "void ThreadFunction()", AS_METHODPR(T, ThreadFunction, (), void), AS_CALL_THISCALL); // static ThreadID Thread::GetCurrentThreadID() // Not registered because have @nobind mark // static void Thread::SetMainThread() engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("void SetMainThread()", AS_FUNCTIONPR(T::SetMainThread, (), void), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static bool Thread::IsMainThread() engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("bool IsMainThread()", AS_FUNCTIONPR(T::IsMainThread, (), bool), AS_CALL_CDECL);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Thread REGISTER_MEMBERS_MANUAL_PART_Thread(); #endif } // class Timer | File: ../Core/Timer.h template void RegisterMembers_Timer(asIScriptEngine* engine, const char* className) { // unsigned Timer::GetMSec(bool reset) engine->RegisterObjectMethod(className, "uint GetMSec(bool)", AS_METHODPR(T, GetMSec, (bool), unsigned), AS_CALL_THISCALL); // void Timer::Reset() engine->RegisterObjectMethod(className, "void Reset()", AS_METHODPR(T, Reset, (), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Timer REGISTER_MEMBERS_MANUAL_PART_Timer(); #endif } // struct TouchState | File: ../Input/Input.h template void RegisterMembers_TouchState(asIScriptEngine* engine, const char* className) { // UIElement* TouchState::GetTouchedElement() engine->RegisterObjectMethod(className, "UIElement@+ GetTouchedElement()", AS_METHODPR(T, GetTouchedElement, (), UIElement*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "UIElement@+ get_touchedElement()", AS_METHODPR(T, GetTouchedElement, (), UIElement*), AS_CALL_THISCALL); // WeakPtr TouchState::touchedElement_ // Error: type "WeakPtr" can not automatically bind // int TouchState::touchID_ engine->RegisterObjectProperty(className, "int touchID", offsetof(T, touchID_)); // IntVector2 TouchState::position_ engine->RegisterObjectProperty(className, "IntVector2 position", offsetof(T, position_)); // IntVector2 TouchState::lastPosition_ engine->RegisterObjectProperty(className, "IntVector2 lastPosition", offsetof(T, lastPosition_)); // IntVector2 TouchState::delta_ engine->RegisterObjectProperty(className, "IntVector2 delta", offsetof(T, delta_)); // float TouchState::pressure_ engine->RegisterObjectProperty(className, "float pressure", offsetof(T, pressure_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_TouchState REGISTER_MEMBERS_MANUAL_PART_TouchState(); #endif } // struct TrailPoint | File: ../Graphics/RibbonTrail.h template void RegisterMembers_TrailPoint(asIScriptEngine* engine, const char* className) { // TrailPoint* TrailPoint::next_ // Not registered because pointer // Vector3 TrailPoint::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector3 TrailPoint::forward_ engine->RegisterObjectProperty(className, "Vector3 forward", offsetof(T, forward_)); // Vector3 TrailPoint::parentPos_ engine->RegisterObjectProperty(className, "Vector3 parentPos", offsetof(T, parentPos_)); // float TrailPoint::elapsedLength_ engine->RegisterObjectProperty(className, "float elapsedLength", offsetof(T, elapsedLength_)); // float TrailPoint::lifetime_ engine->RegisterObjectProperty(className, "float lifetime", offsetof(T, lifetime_)); // float TrailPoint::sortDistance_ engine->RegisterObjectProperty(className, "float sortDistance", offsetof(T, sortDistance_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_TrailPoint REGISTER_MEMBERS_MANUAL_PART_TrailPoint(); #endif } // class TypeInfo | File: ../Core/Object.h template void RegisterMembers_TypeInfo(asIScriptEngine* engine, const char* className) { // const TypeInfo* TypeInfo::GetBaseTypeInfo() const // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark // bool TypeInfo::IsTypeOf(const TypeInfo* typeInfo) const // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark // StringHash TypeInfo::GetType() const engine->RegisterObjectMethod(className, "StringHash GetType() const", AS_METHODPR(T, GetType, () const, StringHash), AS_CALL_THISCALL); // const String& TypeInfo::GetTypeName() const engine->RegisterObjectMethod(className, "const String& GetTypeName() const", AS_METHODPR(T, GetTypeName, () const, const String&), AS_CALL_THISCALL); // bool TypeInfo::IsTypeOf(StringHash type) const engine->RegisterObjectMethod(className, "bool IsTypeOf(StringHash) const", AS_METHODPR(T, IsTypeOf, (StringHash) const, bool), AS_CALL_THISCALL); // template bool TypeInfo::IsTypeOf() const // Not registered because template #ifdef REGISTER_MEMBERS_MANUAL_PART_TypeInfo REGISTER_MEMBERS_MANUAL_PART_TypeInfo(); #endif } // class UIBatch | File: ../UI/UIBatch.h template void RegisterMembers_UIBatch(asIScriptEngine* engine, const char* className) { // void UIBatch::AddQuad(float x, float y, float width, float height, int texOffsetX, int texOffsetY, int texWidth = 0, int texHeight = 0) engine->RegisterObjectMethod(className, "void AddQuad(float, float, float, float, int, int, int = 0, int = 0)", AS_METHODPR(T, AddQuad, (float, float, float, float, int, int, int, int), void), AS_CALL_THISCALL); // void UIBatch::AddQuad(i32 x, i32 y, i32 width, i32 height, int texOffsetX, int texOffsetY, int texWidth = 0, int texHeight = 0) engine->RegisterObjectMethod(className, "void AddQuad(int, int, int, int, int, int, int = 0, int = 0)", AS_METHODPR(T, AddQuad, (i32, i32, i32, i32, int, int, int, int), void), AS_CALL_THISCALL); // void UIBatch::AddQuad(const Matrix3x4& transform, int x, int y, int width, int height, int texOffsetX, int texOffsetY, int texWidth = 0, int texHeight = 0) engine->RegisterObjectMethod(className, "void AddQuad(const Matrix3x4&in, int, int, int, int, int, int, int = 0, int = 0)", AS_METHODPR(T, AddQuad, (const Matrix3x4&, int, int, int, int, int, int, int, int), void), AS_CALL_THISCALL); // void UIBatch::AddQuad(int x, int y, int width, int height, int texOffsetX, int texOffsetY, int texWidth, int texHeight, bool tiled) engine->RegisterObjectMethod(className, "void AddQuad(int, int, int, int, int, int, int, int, bool)", AS_METHODPR(T, AddQuad, (int, int, int, int, int, int, int, int, bool), void), AS_CALL_THISCALL); // void UIBatch::AddQuad(const Matrix3x4& transform, const IntVector2& a, const IntVector2& b, const IntVector2& c, const IntVector2& d, const IntVector2& texA, const IntVector2& texB, const IntVector2& texC, const IntVector2& texD) engine->RegisterObjectMethod(className, "void AddQuad(const Matrix3x4&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in)", AS_METHODPR(T, AddQuad, (const Matrix3x4&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&), void), AS_CALL_THISCALL); // void UIBatch::AddQuad(const Matrix3x4& transform, const IntVector2& a, const IntVector2& b, const IntVector2& c, const IntVector2& d, const IntVector2& texA, const IntVector2& texB, const IntVector2& texC, const IntVector2& texD, const Color& colA, const Color& colB, const Color& colC, const Color& colD) engine->RegisterObjectMethod(className, "void AddQuad(const Matrix3x4&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const IntVector2&in, const Color&in, const Color&in, const Color&in, const Color&in)", AS_METHODPR(T, AddQuad, (const Matrix3x4&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const IntVector2&, const Color&, const Color&, const Color&, const Color&), void), AS_CALL_THISCALL); // unsigned UIBatch::GetInterpolatedColor(float x, float y) engine->RegisterObjectMethod(className, "uint GetInterpolatedColor(float, float)", AS_METHODPR(T, GetInterpolatedColor, (float, float), unsigned), AS_CALL_THISCALL); // unsigned UIBatch::GetInterpolatedColor(i32 x, i32 y) engine->RegisterObjectMethod(className, "uint GetInterpolatedColor(int, int)", AS_METHODPR(T, GetInterpolatedColor, (i32, i32), unsigned), AS_CALL_THISCALL); // bool UIBatch::Merge(const UIBatch& batch) engine->RegisterObjectMethod(className, "bool Merge(const UIBatch&in)", AS_METHODPR(T, Merge, (const UIBatch&), bool), AS_CALL_THISCALL); // void UIBatch::SetColor(const Color& color, bool overrideAlpha = false) engine->RegisterObjectMethod(className, "void SetColor(const Color&in, bool = false)", AS_METHODPR(T, SetColor, (const Color&, bool), void), AS_CALL_THISCALL); // void UIBatch::SetDefaultColor() engine->RegisterObjectMethod(className, "void SetDefaultColor()", AS_METHODPR(T, SetDefaultColor, (), void), AS_CALL_THISCALL); // static void UIBatch::AddOrMerge(const UIBatch& batch, Vector& batches) // Error: type "Vector&" can not automatically bind // UIElement* UIBatch::element_ // Not registered because pointer // Texture* UIBatch::texture_ // Not registered because pointer // Vector* UIBatch::vertexData_ // Not registered because pointer // Material* UIBatch::customMaterial_ // Not registered because pointer // BlendMode UIBatch::blendMode_ engine->RegisterObjectProperty(className, "BlendMode blendMode", offsetof(T, blendMode_)); // IntRect UIBatch::scissor_ engine->RegisterObjectProperty(className, "IntRect scissor", offsetof(T, scissor_)); // Vector2 UIBatch::invTextureSize_ engine->RegisterObjectProperty(className, "Vector2 invTextureSize", offsetof(T, invTextureSize_)); // unsigned UIBatch::vertexStart_ engine->RegisterObjectProperty(className, "uint vertexStart", offsetof(T, vertexStart_)); // unsigned UIBatch::vertexEnd_ engine->RegisterObjectProperty(className, "uint vertexEnd", offsetof(T, vertexEnd_)); // color32 UIBatch::color_ engine->RegisterObjectProperty(className, "color32 color", offsetof(T, color_)); // bool UIBatch::useGradient_ engine->RegisterObjectProperty(className, "bool useGradient", offsetof(T, useGradient_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_UIBatch REGISTER_MEMBERS_MANUAL_PART_UIBatch(); #endif } // struct VAnimEventFrame | File: ../Scene/ValueAnimation.h template void RegisterMembers_VAnimEventFrame(asIScriptEngine* engine, const char* className) { // float VAnimEventFrame::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); // StringHash VAnimEventFrame::eventType_ engine->RegisterObjectProperty(className, "StringHash eventType", offsetof(T, eventType_)); // VariantMap VAnimEventFrame::eventData_ engine->RegisterObjectProperty(className, "VariantMap eventData", offsetof(T, eventData_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_VAnimEventFrame REGISTER_MEMBERS_MANUAL_PART_VAnimEventFrame(); #endif } // struct VAnimKeyFrame | File: ../Scene/ValueAnimation.h template void RegisterMembers_VAnimKeyFrame(asIScriptEngine* engine, const char* className) { // float VAnimKeyFrame::time_ engine->RegisterObjectProperty(className, "float time", offsetof(T, time_)); // Variant VAnimKeyFrame::value_ engine->RegisterObjectProperty(className, "Variant value", offsetof(T, value_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_VAnimKeyFrame REGISTER_MEMBERS_MANUAL_PART_VAnimKeyFrame(); #endif } // const Vector& Variant::GetBuffer() const template CScriptArray* Variant_constspVectorlesbytegreamp_GetBuffer_void_template(T* _ptr) { const Vector& result = _ptr->GetBuffer(); return VectorToArray(result, "Array"); } // const StringVector& Variant::GetStringVector() const template CScriptArray* Variant_constspStringVectoramp_GetStringVector_void_template(T* _ptr) { const StringVector& result = _ptr->GetStringVector(); return VectorToArray(result, "Array"); } // Variant& Variant::operator =(const Vector& rhs) template Variant& Variant_Variantamp_operatoreq_constspVectorlesbytegreamp_template(T* _ptr, CScriptArray* rhs_conv) { Vector rhs = ArrayToVector(rhs_conv); Variant& result = _ptr->operator=(rhs); return result; } // Variant& Variant::operator =(const StringVector& rhs) template Variant& Variant_Variantamp_operatoreq_constspStringVectoramp_template(T* _ptr, CScriptArray* rhs_conv) { StringVector rhs = ArrayToVector(rhs_conv); Variant& result = _ptr->operator=(rhs); return result; } // bool Variant::operator ==(const Vector& rhs) const template bool Variant_bool_operatoreqeq_constspVectorlesbytegreamp_template(T* _ptr, CScriptArray* rhs_conv) { Vector rhs = ArrayToVector(rhs_conv); bool result = _ptr->operator==(rhs); return result; } // bool Variant::operator ==(const StringVector& rhs) const template bool Variant_bool_operatoreqeq_constspStringVectoramp_template(T* _ptr, CScriptArray* rhs_conv) { StringVector rhs = ArrayToVector(rhs_conv); bool result = _ptr->operator==(rhs); return result; } // class Variant | File: ../Core/Variant.h template void RegisterMembers_Variant(asIScriptEngine* engine, const char* className) { // void Variant::FromString(const char* type, const char* value) // Error: type "const char*" can not automatically bind // void Variant::FromString(VariantType type, const char* value) // Error: type "const char*" can not automatically bind // Vector* Variant::GetBufferPtr() // Error: type "Vector*" can not automatically bind // CustomVariantValue* Variant::GetCustomVariantValuePtr() // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // const CustomVariantValue* Variant::GetCustomVariantValuePtr() const // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // StringVector* Variant::GetStringVectorPtr() // Error: type "StringVector*" can not automatically bind // VariantMap* Variant::GetVariantMapPtr() // Error: type "VariantMap*" can not automatically bind // const VariantVector& Variant::GetVariantVector() const // Error: type "const VariantVector&" can not automatically bind // VariantVector* Variant::GetVariantVectorPtr() // Error: type "VariantVector*" can not automatically bind // void* Variant::GetVoidPtr() const // Error: type "void*" can not automatically bind // bool Variant::operator !=(const Variant& rhs) const // Only operator == is needed // bool Variant::operator !=(int rhs) const // Only operator == is needed // bool Variant::operator !=(unsigned rhs) const // Only operator == is needed // bool Variant::operator !=(c32 rhs) const // Only operator == is needed // bool Variant::operator !=(long long rhs) const // Only operator == is needed // bool Variant::operator !=(unsigned long long rhs) const // Only operator == is needed // bool Variant::operator !=(bool rhs) const // Only operator == is needed // bool Variant::operator !=(float rhs) const // Only operator == is needed // bool Variant::operator !=(double rhs) const // Only operator == is needed // bool Variant::operator !=(const Vector2& rhs) const // Only operator == is needed // bool Variant::operator !=(const Vector3& rhs) const // Only operator == is needed // bool Variant::operator !=(const Vector4& rhs) const // Only operator == is needed // bool Variant::operator !=(const Quaternion& rhs) const // Only operator == is needed // bool Variant::operator !=(const String& rhs) const // Only operator == is needed // bool Variant::operator !=(const Vector& rhs) const // Only operator == is needed // bool Variant::operator !=(const VectorBuffer& rhs) const // Only operator == is needed // bool Variant::operator !=(void* rhs) const // Error: type "void*" can not automatically bind // bool Variant::operator !=(const ResourceRef& rhs) const // Only operator == is needed // bool Variant::operator !=(const ResourceRefList& rhs) const // Only operator == is needed // bool Variant::operator !=(const VariantVector& rhs) const // Error: type "const VariantVector&" can not automatically bind // bool Variant::operator !=(const StringVector& rhs) const // Only operator == is needed // bool Variant::operator !=(const VariantMap& rhs) const // Only operator == is needed // bool Variant::operator !=(const Rect& rhs) const // Only operator == is needed // bool Variant::operator !=(const IntRect& rhs) const // Only operator == is needed // bool Variant::operator !=(const IntVector2& rhs) const // Only operator == is needed // bool Variant::operator !=(const IntVector3& rhs) const // Only operator == is needed // bool Variant::operator !=(const StringHash& rhs) const // Only operator == is needed // bool Variant::operator !=(RefCounted* rhs) const // Only operator == is needed // bool Variant::operator !=(const Matrix3& rhs) const // Only operator == is needed // bool Variant::operator !=(const Matrix3x4& rhs) const // Only operator == is needed // bool Variant::operator !=(const Matrix4& rhs) const // Only operator == is needed // Variant& Variant::operator =(c32 rhs) // Not registered because have @nobind mark // Variant& Variant::operator =(const char* rhs) // Error: type "const char*" can not automatically bind // Variant& Variant::operator =(void* rhs) // Error: type "void*" can not automatically bind // Variant& Variant::operator =(const VariantVector& rhs) // Error: type "const VariantVector&" can not automatically bind // bool Variant::operator ==(c32 rhs) const // Not registered because have @nobind mark // bool Variant::operator ==(void* rhs) const // Error: type "void*" can not automatically bind // bool Variant::operator ==(const VariantVector& rhs) const // Error: type "const VariantVector&" can not automatically bind // void Variant::SetBuffer(const void* data, unsigned size) // Error: type "const void*" can not automatically bind // void Variant::SetCustomVariantValue(const CustomVariantValue& value) // Error: type "CustomVariantValue" can not automatically bind bacause have @nobind mark // void Variant::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // void Variant::FromString(const String& type, const String& value) engine->RegisterObjectMethod(className, "void FromString(const String&in, const String&in)", AS_METHODPR(T, FromString, (const String&, const String&), void), AS_CALL_THISCALL); // void Variant::FromString(VariantType type, const String& value) engine->RegisterObjectMethod(className, "void FromString(VariantType, const String&in)", AS_METHODPR(T, FromString, (VariantType, const String&), void), AS_CALL_THISCALL); // bool Variant::GetBool() const engine->RegisterObjectMethod(className, "bool GetBool() const", AS_METHODPR(T, GetBool, () const, bool), AS_CALL_THISCALL); // const Vector& Variant::GetBuffer() const engine->RegisterObjectMethod(className, "Array@ GetBuffer() const", AS_FUNCTION_OBJFIRST(Variant_constspVectorlesbytegreamp_GetBuffer_void_template), AS_CALL_CDECL_OBJFIRST); // c32 Variant::GetC32() const engine->RegisterObjectMethod(className, "c32 GetC32() const", AS_METHODPR(T, GetC32, () const, c32), AS_CALL_THISCALL); // const Color& Variant::GetColor() const engine->RegisterObjectMethod(className, "const Color& GetColor() const", AS_METHODPR(T, GetColor, () const, const Color&), AS_CALL_THISCALL); // double Variant::GetDouble() const engine->RegisterObjectMethod(className, "double GetDouble() const", AS_METHODPR(T, GetDouble, () const, double), AS_CALL_THISCALL); // float Variant::GetFloat() const engine->RegisterObjectMethod(className, "float GetFloat() const", AS_METHODPR(T, GetFloat, () const, float), AS_CALL_THISCALL); // i32 Variant::GetI32() const engine->RegisterObjectMethod(className, "int GetI32() const", AS_METHODPR(T, GetI32, () const, i32), AS_CALL_THISCALL); // i64 Variant::GetI64() const engine->RegisterObjectMethod(className, "int64 GetI64() const", AS_METHODPR(T, GetI64, () const, i64), AS_CALL_THISCALL); // const IntRect& Variant::GetIntRect() const engine->RegisterObjectMethod(className, "const IntRect& GetIntRect() const", AS_METHODPR(T, GetIntRect, () const, const IntRect&), AS_CALL_THISCALL); // const IntVector2& Variant::GetIntVector2() const engine->RegisterObjectMethod(className, "const IntVector2& GetIntVector2() const", AS_METHODPR(T, GetIntVector2, () const, const IntVector2&), AS_CALL_THISCALL); // const IntVector3& Variant::GetIntVector3() const engine->RegisterObjectMethod(className, "const IntVector3& GetIntVector3() const", AS_METHODPR(T, GetIntVector3, () const, const IntVector3&), AS_CALL_THISCALL); // const Matrix3& Variant::GetMatrix3() const engine->RegisterObjectMethod(className, "const Matrix3& GetMatrix3() const", AS_METHODPR(T, GetMatrix3, () const, const Matrix3&), AS_CALL_THISCALL); // const Matrix3x4& Variant::GetMatrix3x4() const engine->RegisterObjectMethod(className, "const Matrix3x4& GetMatrix3x4() const", AS_METHODPR(T, GetMatrix3x4, () const, const Matrix3x4&), AS_CALL_THISCALL); // const Matrix4& Variant::GetMatrix4() const engine->RegisterObjectMethod(className, "const Matrix4& GetMatrix4() const", AS_METHODPR(T, GetMatrix4, () const, const Matrix4&), AS_CALL_THISCALL); // RefCounted* Variant::GetPtr() const engine->RegisterObjectMethod(className, "RefCounted@+ GetPtr() const", AS_METHODPR(T, GetPtr, () const, RefCounted*), AS_CALL_THISCALL); // const Quaternion& Variant::GetQuaternion() const engine->RegisterObjectMethod(className, "const Quaternion& GetQuaternion() const", AS_METHODPR(T, GetQuaternion, () const, const Quaternion&), AS_CALL_THISCALL); // const Rect& Variant::GetRect() const engine->RegisterObjectMethod(className, "const Rect& GetRect() const", AS_METHODPR(T, GetRect, () const, const Rect&), AS_CALL_THISCALL); // const ResourceRef& Variant::GetResourceRef() const engine->RegisterObjectMethod(className, "const ResourceRef& GetResourceRef() const", AS_METHODPR(T, GetResourceRef, () const, const ResourceRef&), AS_CALL_THISCALL); // const ResourceRefList& Variant::GetResourceRefList() const engine->RegisterObjectMethod(className, "const ResourceRefList& GetResourceRefList() const", AS_METHODPR(T, GetResourceRefList, () const, const ResourceRefList&), AS_CALL_THISCALL); // const String& Variant::GetString() const engine->RegisterObjectMethod(className, "const String& GetString() const", AS_METHODPR(T, GetString, () const, const String&), AS_CALL_THISCALL); // StringHash Variant::GetStringHash() const engine->RegisterObjectMethod(className, "StringHash GetStringHash() const", AS_METHODPR(T, GetStringHash, () const, StringHash), AS_CALL_THISCALL); // const StringVector& Variant::GetStringVector() const engine->RegisterObjectMethod(className, "Array@ GetStringVector() const", AS_FUNCTION_OBJFIRST(Variant_constspStringVectoramp_GetStringVector_void_template), AS_CALL_CDECL_OBJFIRST); // VariantType Variant::GetType() const engine->RegisterObjectMethod(className, "VariantType GetType() const", AS_METHODPR(T, GetType, () const, VariantType), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "VariantType get_type() const", AS_METHODPR(T, GetType, () const, VariantType), AS_CALL_THISCALL); // String Variant::GetTypeName() const engine->RegisterObjectMethod(className, "String GetTypeName() const", AS_METHODPR(T, GetTypeName, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_typeName() const", AS_METHODPR(T, GetTypeName, () const, String), AS_CALL_THISCALL); // u32 Variant::GetU32() const engine->RegisterObjectMethod(className, "uint GetU32() const", AS_METHODPR(T, GetU32, () const, u32), AS_CALL_THISCALL); // u64 Variant::GetU64() const engine->RegisterObjectMethod(className, "uint64 GetU64() const", AS_METHODPR(T, GetU64, () const, u64), AS_CALL_THISCALL); // const VariantMap& Variant::GetVariantMap() const engine->RegisterObjectMethod(className, "const VariantMap& GetVariantMap() const", AS_METHODPR(T, GetVariantMap, () const, const VariantMap&), AS_CALL_THISCALL); // const Vector2& Variant::GetVector2() const engine->RegisterObjectMethod(className, "const Vector2& GetVector2() const", AS_METHODPR(T, GetVector2, () const, const Vector2&), AS_CALL_THISCALL); // const Vector3& Variant::GetVector3() const engine->RegisterObjectMethod(className, "const Vector3& GetVector3() const", AS_METHODPR(T, GetVector3, () const, const Vector3&), AS_CALL_THISCALL); // const Vector4& Variant::GetVector4() const engine->RegisterObjectMethod(className, "const Vector4& GetVector4() const", AS_METHODPR(T, GetVector4, () const, const Vector4&), AS_CALL_THISCALL); // VectorBuffer Variant::GetVectorBuffer() const engine->RegisterObjectMethod(className, "VectorBuffer GetVectorBuffer() const", AS_METHODPR(T, GetVectorBuffer, () const, VectorBuffer), AS_CALL_THISCALL); // bool Variant::IsCustom() const engine->RegisterObjectMethod(className, "bool IsCustom() const", AS_METHODPR(T, IsCustom, () const, bool), AS_CALL_THISCALL); // bool Variant::IsEmpty() const engine->RegisterObjectMethod(className, "bool IsEmpty() const", AS_METHODPR(T, IsEmpty, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_empty() const", AS_METHODPR(T, IsEmpty, () const, bool), AS_CALL_THISCALL); // bool Variant::IsZero() const engine->RegisterObjectMethod(className, "bool IsZero() const", AS_METHODPR(T, IsZero, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_zero() const", AS_METHODPR(T, IsZero, () const, bool), AS_CALL_THISCALL); // Variant& Variant::operator =(const Variant& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Variant&in)", AS_METHODPR(T, operator=, (const Variant&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(int rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(int)", AS_METHODPR(T, operator=, (int), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(long long rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(int64)", AS_METHODPR(T, operator=, (long long), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(unsigned long long rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(uint64)", AS_METHODPR(T, operator=, (unsigned long long), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(unsigned rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(uint)", AS_METHODPR(T, operator=, (unsigned), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const StringHash& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const StringHash&in)", AS_METHODPR(T, operator=, (const StringHash&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(bool rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(bool)", AS_METHODPR(T, operator=, (bool), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(float rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(float)", AS_METHODPR(T, operator=, (float), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(double rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(double)", AS_METHODPR(T, operator=, (double), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Vector2& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Vector2&in)", AS_METHODPR(T, operator=, (const Vector2&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Vector3& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Vector3&in)", AS_METHODPR(T, operator=, (const Vector3&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Vector4& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Vector4&in)", AS_METHODPR(T, operator=, (const Vector4&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Quaternion& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Quaternion&in)", AS_METHODPR(T, operator=, (const Quaternion&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Color& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Color&in)", AS_METHODPR(T, operator=, (const Color&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const String& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const String&in)", AS_METHODPR(T, operator=, (const String&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Vector& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(Array@+)", AS_FUNCTION_OBJFIRST(Variant_Variantamp_operatoreq_constspVectorlesbytegreamp_template), AS_CALL_CDECL_OBJFIRST); // Variant& Variant::operator =(const VectorBuffer& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const VectorBuffer&in)", AS_METHODPR(T, operator=, (const VectorBuffer&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const ResourceRef& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const ResourceRef&in)", AS_METHODPR(T, operator=, (const ResourceRef&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const ResourceRefList& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const ResourceRefList&in)", AS_METHODPR(T, operator=, (const ResourceRefList&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const StringVector& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(Array@+)", AS_FUNCTION_OBJFIRST(Variant_Variantamp_operatoreq_constspStringVectoramp_template), AS_CALL_CDECL_OBJFIRST); // Variant& Variant::operator =(const VariantMap& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const VariantMap&in)", AS_METHODPR(T, operator=, (const VariantMap&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Rect& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Rect&in)", AS_METHODPR(T, operator=, (const Rect&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const IntRect& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const IntRect&in)", AS_METHODPR(T, operator=, (const IntRect&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const IntVector2& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const IntVector2&in)", AS_METHODPR(T, operator=, (const IntVector2&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const IntVector3& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const IntVector3&in)", AS_METHODPR(T, operator=, (const IntVector3&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(RefCounted* rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(RefCounted@+)", AS_METHODPR(T, operator=, (RefCounted*), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Matrix3& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Matrix3&in)", AS_METHODPR(T, operator=, (const Matrix3&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Matrix3x4& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Matrix3x4&in)", AS_METHODPR(T, operator=, (const Matrix3x4&), Variant&), AS_CALL_THISCALL); // Variant& Variant::operator =(const Matrix4& rhs) engine->RegisterObjectMethod(className, "Variant& opAssign(const Matrix4&in)", AS_METHODPR(T, operator=, (const Matrix4&), Variant&), AS_CALL_THISCALL); // bool Variant::operator ==(const Variant& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Variant&in) const", AS_METHODPR(T, operator==, (const Variant&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(int rhs) const engine->RegisterObjectMethod(className, "bool opEquals(int) const", AS_METHODPR(T, operator==, (int) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(unsigned rhs) const engine->RegisterObjectMethod(className, "bool opEquals(uint) const", AS_METHODPR(T, operator==, (unsigned) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(long long rhs) const engine->RegisterObjectMethod(className, "bool opEquals(int64) const", AS_METHODPR(T, operator==, (long long) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(unsigned long long rhs) const engine->RegisterObjectMethod(className, "bool opEquals(uint64) const", AS_METHODPR(T, operator==, (unsigned long long) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(bool rhs) const engine->RegisterObjectMethod(className, "bool opEquals(bool) const", AS_METHODPR(T, operator==, (bool) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(float rhs) const engine->RegisterObjectMethod(className, "bool opEquals(float) const", AS_METHODPR(T, operator==, (float) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(double rhs) const engine->RegisterObjectMethod(className, "bool opEquals(double) const", AS_METHODPR(T, operator==, (double) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Vector2& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector2&in) const", AS_METHODPR(T, operator==, (const Vector2&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Vector3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector3&in) const", AS_METHODPR(T, operator==, (const Vector3&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Vector4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector4&in) const", AS_METHODPR(T, operator==, (const Vector4&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Quaternion& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Quaternion&in) const", AS_METHODPR(T, operator==, (const Quaternion&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Color& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Color&in) const", AS_METHODPR(T, operator==, (const Color&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const String& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const String&in) const", AS_METHODPR(T, operator==, (const String&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Vector& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(Array@+) const", AS_FUNCTION_OBJFIRST(Variant_bool_operatoreqeq_constspVectorlesbytegreamp_template), AS_CALL_CDECL_OBJFIRST); // bool Variant::operator ==(const VectorBuffer& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const VectorBuffer&in) const", AS_METHODPR(T, operator==, (const VectorBuffer&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const ResourceRef& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ResourceRef&in) const", AS_METHODPR(T, operator==, (const ResourceRef&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const ResourceRefList& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const ResourceRefList&in) const", AS_METHODPR(T, operator==, (const ResourceRefList&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const StringVector& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(Array@+) const", AS_FUNCTION_OBJFIRST(Variant_bool_operatoreqeq_constspStringVectoramp_template), AS_CALL_CDECL_OBJFIRST); // bool Variant::operator ==(const VariantMap& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const VariantMap&in) const", AS_METHODPR(T, operator==, (const VariantMap&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Rect& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Rect&in) const", AS_METHODPR(T, operator==, (const Rect&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const IntRect& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntRect&in) const", AS_METHODPR(T, operator==, (const IntRect&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const IntVector2& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntVector2&in) const", AS_METHODPR(T, operator==, (const IntVector2&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const IntVector3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const IntVector3&in) const", AS_METHODPR(T, operator==, (const IntVector3&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const StringHash& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const StringHash&in) const", AS_METHODPR(T, operator==, (const StringHash&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(RefCounted* rhs) const engine->RegisterObjectMethod(className, "bool opEquals(RefCounted@+) const", AS_METHODPR(T, operator==, (RefCounted*) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Matrix3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix3&in) const", AS_METHODPR(T, operator==, (const Matrix3&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Matrix3x4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix3x4&in) const", AS_METHODPR(T, operator==, (const Matrix3x4&) const, bool), AS_CALL_THISCALL); // bool Variant::operator ==(const Matrix4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Matrix4&in) const", AS_METHODPR(T, operator==, (const Matrix4&) const, bool), AS_CALL_THISCALL); // String Variant::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // template T Variant::Get() const // Not registered because template // template <> int Variant::Get() const // Not registered because template // template <> unsigned Variant::Get() const // Not registered because template // template <> c32 Variant::Get() const // Not registered because template // template <> long long Variant::Get() const // Not registered because template // template <> unsigned long long Variant::Get() const // Not registered because template // template <> StringHash Variant::Get() const // Not registered because template // template <> bool Variant::Get() const // Not registered because template // template <> float Variant::Get() const // Not registered because template // template <> double Variant::Get() const // Not registered because template // template <> const Vector2& Variant::Get() const // Not registered because template // template <> const Vector3& Variant::Get() const // Not registered because template // template <> const Vector4& Variant::Get() const // Not registered because template // template <> const Quaternion& Variant::Get() const // Not registered because template // template <> const Color& Variant::Get() const // Not registered because template // template <> const String& Variant::Get() const // Not registered because template // template <> const Rect& Variant::Get() const // Not registered because template // template <> const IntRect& Variant::Get() const // Not registered because template // template <> const IntVector2& Variant::Get() const // Not registered because template // template <> const IntVector3& Variant::Get() const // Not registered because template // template <> const Vector& Variant::Get() const // Not registered because template // template <> void* Variant::Get() const // Not registered because template // template <> RefCounted* Variant::Get() const // Not registered because template // template <> const Matrix3& Variant::Get() const // Not registered because template // template <> const Matrix3x4& Variant::Get() const // Not registered because template // template <> const Matrix4& Variant::Get() const // Not registered because template // template <> ResourceRef Variant::Get() const // Not registered because template // template <> ResourceRefList Variant::Get() const // Not registered because template // template <> VariantVector Variant::Get() const // Not registered because template // template <> StringVector Variant::Get() const // Not registered because template // template <> VariantMap Variant::Get() const // Not registered because template // template <> Vector2 Variant::Get() const // Not registered because template // template <> Vector3 Variant::Get() const // Not registered because template // template <> Vector4 Variant::Get() const // Not registered because template // template <> Quaternion Variant::Get() const // Not registered because template // template <> Color Variant::Get() const // Not registered because template // template <> String Variant::Get() const // Not registered because template // template <> Rect Variant::Get() const // Not registered because template // template <> IntRect Variant::Get() const // Not registered because template // template <> IntVector2 Variant::Get() const // Not registered because template // template <> IntVector3 Variant::Get() const // Not registered because template // template <> Vector Variant::Get() const // Not registered because template // template <> Matrix3 Variant::Get() const // Not registered because template // template <> Matrix3x4 Variant::Get() const // Not registered because template // template <> Matrix4 Variant::Get() const // Not registered because template // template T Variant::GetCustom() const // Not registered because template // template T* Variant::GetCustomPtr() // Not registered because template // template bool Variant::IsCustomType() const // Not registered because template // template Variant& Variant::operator =(const CustomVariantValueImpl& value) // Not registered because template // template void Variant::SetCustom(const T& value) // Not registered because template // static VariantType Variant::GetTypeFromName(const char* typeName) // Error: type "const char*" can not automatically bind // static String Variant::GetTypeName(VariantType type) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("String GetTypeName(VariantType)", AS_FUNCTIONPR(T::GetTypeName, (VariantType), String), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static VariantType Variant::GetTypeFromName(const String& typeName) engine->SetDefaultNamespace(className);engine->RegisterGlobalFunction("VariantType GetTypeFromName(const String&in)", AS_FUNCTIONPR(T::GetTypeFromName, (const String&), VariantType), AS_CALL_CDECL);engine->SetDefaultNamespace(""); // static const Vector Variant::emptyBuffer // Error: type "const Vector" can not automatically bind // static const VariantVector Variant::emptyVariantVector // Error: type "const VariantVector" can not automatically bind // static const StringVector Variant::emptyStringVector // Error: type "const StringVector" can not automatically bind // static const Variant Variant::EMPTY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Variant EMPTY", (void*)&T::EMPTY);engine->SetDefaultNamespace(""); // static const ResourceRef Variant::emptyResourceRef engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const ResourceRef emptyResourceRef", (void*)&T::emptyResourceRef);engine->SetDefaultNamespace(""); // static const ResourceRefList Variant::emptyResourceRefList engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const ResourceRefList emptyResourceRefList", (void*)&T::emptyResourceRefList);engine->SetDefaultNamespace(""); // static const VariantMap Variant::emptyVariantMap engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const VariantMap emptyVariantMap", (void*)&T::emptyVariantMap);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Variant REGISTER_MEMBERS_MANUAL_PART_Variant(); #endif } // class Vector2 | File: ../Math/Vector2.h template void RegisterMembers_Vector2(asIScriptEngine* engine, const char* className) { // const float* Vector2::Data() const // Error: type "const float*" can not automatically bind // bool Vector2::operator !=(const Vector2& rhs) const // Only operator == is needed // Vector2 Vector2::Abs() const engine->RegisterObjectMethod(className, "Vector2 Abs() const", AS_METHODPR(T, Abs, () const, Vector2), AS_CALL_THISCALL); // float Vector2::AbsDotProduct(const Vector2& rhs) const engine->RegisterObjectMethod(className, "float AbsDotProduct(const Vector2&in) const", AS_METHODPR(T, AbsDotProduct, (const Vector2&) const, float), AS_CALL_THISCALL); // float Vector2::Angle(const Vector2& rhs) const engine->RegisterObjectMethod(className, "float Angle(const Vector2&in) const", AS_METHODPR(T, Angle, (const Vector2&) const, float), AS_CALL_THISCALL); // float Vector2::DotProduct(const Vector2& rhs) const engine->RegisterObjectMethod(className, "float DotProduct(const Vector2&in) const", AS_METHODPR(T, DotProduct, (const Vector2&) const, float), AS_CALL_THISCALL); // bool Vector2::Equals(const Vector2& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Vector2&in) const", AS_METHODPR(T, Equals, (const Vector2&) const, bool), AS_CALL_THISCALL); // bool Vector2::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Vector2::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // float Vector2::Length() const engine->RegisterObjectMethod(className, "float Length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); // float Vector2::LengthSquared() const engine->RegisterObjectMethod(className, "float LengthSquared() const", AS_METHODPR(T, LengthSquared, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_lengthSquared() const", AS_METHODPR(T, LengthSquared, () const, float), AS_CALL_THISCALL); // Vector2 Vector2::Lerp(const Vector2& rhs, float t) const engine->RegisterObjectMethod(className, "Vector2 Lerp(const Vector2&in, float) const", AS_METHODPR(T, Lerp, (const Vector2&, float) const, Vector2), AS_CALL_THISCALL); // void Vector2::Normalize() engine->RegisterObjectMethod(className, "void Normalize()", AS_METHODPR(T, Normalize, (), void), AS_CALL_THISCALL); // Vector2 Vector2::Normalized() const engine->RegisterObjectMethod(className, "Vector2 Normalized() const", AS_METHODPR(T, Normalized, () const, Vector2), AS_CALL_THISCALL); // Vector2 Vector2::NormalizedOrDefault(const Vector2& defaultValue = Vector2::ZERO, float eps = M_LARGE_EPSILON) const engine->RegisterObjectMethod(className, "Vector2 NormalizedOrDefault(const Vector2&in = Vector2::ZERO, float = M_LARGE_EPSILON) const", AS_METHODPR(T, NormalizedOrDefault, (const Vector2&, float) const, Vector2), AS_CALL_THISCALL); // Vector2 Vector2::operator *(float rhs) const engine->RegisterObjectMethod(className, "Vector2 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Vector2), AS_CALL_THISCALL); // Vector2 Vector2::operator *(const Vector2& rhs) const engine->RegisterObjectMethod(className, "Vector2 opMul(const Vector2&in) const", AS_METHODPR(T, operator*, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // Vector2& Vector2::operator *=(float rhs) engine->RegisterObjectMethod(className, "Vector2& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), Vector2&), AS_CALL_THISCALL); // Vector2& Vector2::operator *=(const Vector2& rhs) engine->RegisterObjectMethod(className, "Vector2& opMulAssign(const Vector2&in)", AS_METHODPR(T, operator*=, (const Vector2&), Vector2&), AS_CALL_THISCALL); // Vector2 Vector2::operator +(const Vector2& rhs) const engine->RegisterObjectMethod(className, "Vector2 opAdd(const Vector2&in) const", AS_METHODPR(T, operator+, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // Vector2& Vector2::operator +=(const Vector2& rhs) engine->RegisterObjectMethod(className, "Vector2& opAddAssign(const Vector2&in)", AS_METHODPR(T, operator+=, (const Vector2&), Vector2&), AS_CALL_THISCALL); // Vector2 Vector2::operator -() const engine->RegisterObjectMethod(className, "Vector2 opNeg() const", AS_METHODPR(T, operator-, () const, Vector2), AS_CALL_THISCALL); // Vector2 Vector2::operator -(const Vector2& rhs) const engine->RegisterObjectMethod(className, "Vector2 opSub(const Vector2&in) const", AS_METHODPR(T, operator-, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // Vector2& Vector2::operator -=(const Vector2& rhs) engine->RegisterObjectMethod(className, "Vector2& opSubAssign(const Vector2&in)", AS_METHODPR(T, operator-=, (const Vector2&), Vector2&), AS_CALL_THISCALL); // Vector2 Vector2::operator /(float rhs) const engine->RegisterObjectMethod(className, "Vector2 opDiv(float) const", AS_METHODPR(T, operator/, (float) const, Vector2), AS_CALL_THISCALL); // Vector2 Vector2::operator /(const Vector2& rhs) const engine->RegisterObjectMethod(className, "Vector2 opDiv(const Vector2&in) const", AS_METHODPR(T, operator/, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // Vector2& Vector2::operator /=(float rhs) engine->RegisterObjectMethod(className, "Vector2& opDivAssign(float)", AS_METHODPR(T, operator/=, (float), Vector2&), AS_CALL_THISCALL); // Vector2& Vector2::operator /=(const Vector2& rhs) engine->RegisterObjectMethod(className, "Vector2& opDivAssign(const Vector2&in)", AS_METHODPR(T, operator/=, (const Vector2&), Vector2&), AS_CALL_THISCALL); // Vector2& Vector2::operator =(const Vector2& rhs) noexcept = default engine->RegisterObjectMethod(className, "Vector2& opAssign(const Vector2&in)", AS_METHODPR(T, operator=, (const Vector2&), Vector2&), AS_CALL_THISCALL); // bool Vector2::operator ==(const Vector2& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector2&in) const", AS_METHODPR(T, operator==, (const Vector2&) const, bool), AS_CALL_THISCALL); // float Vector2::ProjectOntoAxis(const Vector2& axis) const engine->RegisterObjectMethod(className, "float ProjectOntoAxis(const Vector2&in) const", AS_METHODPR(T, ProjectOntoAxis, (const Vector2&) const, float), AS_CALL_THISCALL); // Vector2 Vector2::ReNormalized(float minLength, float maxLength, const Vector2& defaultValue = Vector2::ZERO, float eps = M_LARGE_EPSILON) const engine->RegisterObjectMethod(className, "Vector2 ReNormalized(float, float, const Vector2&in = Vector2::ZERO, float = M_LARGE_EPSILON) const", AS_METHODPR(T, ReNormalized, (float, float, const Vector2&, float) const, Vector2), AS_CALL_THISCALL); // String Vector2::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // float Vector2::x_ engine->RegisterObjectProperty(className, "float x", offsetof(T, x_)); // float Vector2::y_ engine->RegisterObjectProperty(className, "float y", offsetof(T, y_)); // static const Vector2 Vector2::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Vector2 Vector2::LEFT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 LEFT", (void*)&T::LEFT);engine->SetDefaultNamespace(""); // static const Vector2 Vector2::RIGHT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 RIGHT", (void*)&T::RIGHT);engine->SetDefaultNamespace(""); // static const Vector2 Vector2::UP engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 UP", (void*)&T::UP);engine->SetDefaultNamespace(""); // static const Vector2 Vector2::DOWN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 DOWN", (void*)&T::DOWN);engine->SetDefaultNamespace(""); // static const Vector2 Vector2::ONE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector2 ONE", (void*)&T::ONE);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Vector2 REGISTER_MEMBERS_MANUAL_PART_Vector2(); #endif } // class Vector3 | File: ../Math/Vector3.h template void RegisterMembers_Vector3(asIScriptEngine* engine, const char* className) { // const float* Vector3::Data() const // Error: type "const float*" can not automatically bind // bool Vector3::operator !=(const Vector3& rhs) const // Only operator == is needed // Vector3 Vector3::Abs() const engine->RegisterObjectMethod(className, "Vector3 Abs() const", AS_METHODPR(T, Abs, () const, Vector3), AS_CALL_THISCALL); // float Vector3::AbsDotProduct(const Vector3& rhs) const engine->RegisterObjectMethod(className, "float AbsDotProduct(const Vector3&in) const", AS_METHODPR(T, AbsDotProduct, (const Vector3&) const, float), AS_CALL_THISCALL); // float Vector3::Angle(const Vector3& rhs) const engine->RegisterObjectMethod(className, "float Angle(const Vector3&in) const", AS_METHODPR(T, Angle, (const Vector3&) const, float), AS_CALL_THISCALL); // Vector3 Vector3::CrossProduct(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 CrossProduct(const Vector3&in) const", AS_METHODPR(T, CrossProduct, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // float Vector3::DistanceToPlane(const Vector3& origin, const Vector3& normal) const engine->RegisterObjectMethod(className, "float DistanceToPlane(const Vector3&in, const Vector3&in) const", AS_METHODPR(T, DistanceToPlane, (const Vector3&, const Vector3&) const, float), AS_CALL_THISCALL); // float Vector3::DistanceToPoint(const Vector3& point) const engine->RegisterObjectMethod(className, "float DistanceToPoint(const Vector3&in) const", AS_METHODPR(T, DistanceToPoint, (const Vector3&) const, float), AS_CALL_THISCALL); // float Vector3::DotProduct(const Vector3& rhs) const engine->RegisterObjectMethod(className, "float DotProduct(const Vector3&in) const", AS_METHODPR(T, DotProduct, (const Vector3&) const, float), AS_CALL_THISCALL); // bool Vector3::Equals(const Vector3& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Vector3&in) const", AS_METHODPR(T, Equals, (const Vector3&) const, bool), AS_CALL_THISCALL); // bool Vector3::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Vector3::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // float Vector3::Length() const engine->RegisterObjectMethod(className, "float Length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_length() const", AS_METHODPR(T, Length, () const, float), AS_CALL_THISCALL); // float Vector3::LengthSquared() const engine->RegisterObjectMethod(className, "float LengthSquared() const", AS_METHODPR(T, LengthSquared, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_lengthSquared() const", AS_METHODPR(T, LengthSquared, () const, float), AS_CALL_THISCALL); // Vector3 Vector3::Lerp(const Vector3& rhs, float t) const engine->RegisterObjectMethod(className, "Vector3 Lerp(const Vector3&in, float) const", AS_METHODPR(T, Lerp, (const Vector3&, float) const, Vector3), AS_CALL_THISCALL); // void Vector3::Normalize() engine->RegisterObjectMethod(className, "void Normalize()", AS_METHODPR(T, Normalize, (), void), AS_CALL_THISCALL); // Vector3 Vector3::Normalized() const engine->RegisterObjectMethod(className, "Vector3 Normalized() const", AS_METHODPR(T, Normalized, () const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::NormalizedOrDefault(const Vector3& defaultValue = Vector3::ZERO, float eps = M_LARGE_EPSILON) const engine->RegisterObjectMethod(className, "Vector3 NormalizedOrDefault(const Vector3&in = Vector3::ZERO, float = M_LARGE_EPSILON) const", AS_METHODPR(T, NormalizedOrDefault, (const Vector3&, float) const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::operator *(float rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::operator *(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opMul(const Vector3&in) const", AS_METHODPR(T, operator*, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3& Vector3::operator *=(float rhs) engine->RegisterObjectMethod(className, "Vector3& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), Vector3&), AS_CALL_THISCALL); // Vector3& Vector3::operator *=(const Vector3& rhs) engine->RegisterObjectMethod(className, "Vector3& opMulAssign(const Vector3&in)", AS_METHODPR(T, operator*=, (const Vector3&), Vector3&), AS_CALL_THISCALL); // Vector3 Vector3::operator +(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opAdd(const Vector3&in) const", AS_METHODPR(T, operator+, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3& Vector3::operator +=(const Vector3& rhs) engine->RegisterObjectMethod(className, "Vector3& opAddAssign(const Vector3&in)", AS_METHODPR(T, operator+=, (const Vector3&), Vector3&), AS_CALL_THISCALL); // Vector3 Vector3::operator -() const engine->RegisterObjectMethod(className, "Vector3 opNeg() const", AS_METHODPR(T, operator-, () const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::operator -(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opSub(const Vector3&in) const", AS_METHODPR(T, operator-, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3& Vector3::operator -=(const Vector3& rhs) engine->RegisterObjectMethod(className, "Vector3& opSubAssign(const Vector3&in)", AS_METHODPR(T, operator-=, (const Vector3&), Vector3&), AS_CALL_THISCALL); // Vector3 Vector3::operator /(float rhs) const engine->RegisterObjectMethod(className, "Vector3 opDiv(float) const", AS_METHODPR(T, operator/, (float) const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::operator /(const Vector3& rhs) const engine->RegisterObjectMethod(className, "Vector3 opDiv(const Vector3&in) const", AS_METHODPR(T, operator/, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3& Vector3::operator /=(float rhs) engine->RegisterObjectMethod(className, "Vector3& opDivAssign(float)", AS_METHODPR(T, operator/=, (float), Vector3&), AS_CALL_THISCALL); // Vector3& Vector3::operator /=(const Vector3& rhs) engine->RegisterObjectMethod(className, "Vector3& opDivAssign(const Vector3&in)", AS_METHODPR(T, operator/=, (const Vector3&), Vector3&), AS_CALL_THISCALL); // Vector3& Vector3::operator =(const Vector3& rhs) noexcept engine->RegisterObjectMethod(className, "Vector3& opAssign(const Vector3&in)", AS_METHODPR(T, operator=, (const Vector3&), Vector3&), AS_CALL_THISCALL); // bool Vector3::operator ==(const Vector3& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector3&in) const", AS_METHODPR(T, operator==, (const Vector3&) const, bool), AS_CALL_THISCALL); // Vector3 Vector3::Orthogonalize(const Vector3& axis) const engine->RegisterObjectMethod(className, "Vector3 Orthogonalize(const Vector3&in) const", AS_METHODPR(T, Orthogonalize, (const Vector3&) const, Vector3), AS_CALL_THISCALL); // float Vector3::ProjectOntoAxis(const Vector3& axis) const engine->RegisterObjectMethod(className, "float ProjectOntoAxis(const Vector3&in) const", AS_METHODPR(T, ProjectOntoAxis, (const Vector3&) const, float), AS_CALL_THISCALL); // Vector3 Vector3::ProjectOntoLine(const Vector3& from, const Vector3& to, bool clamped = false) const engine->RegisterObjectMethod(className, "Vector3 ProjectOntoLine(const Vector3&in, const Vector3&in, bool = false) const", AS_METHODPR(T, ProjectOntoLine, (const Vector3&, const Vector3&, bool) const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::ProjectOntoPlane(const Vector3& origin, const Vector3& normal) const engine->RegisterObjectMethod(className, "Vector3 ProjectOntoPlane(const Vector3&in, const Vector3&in) const", AS_METHODPR(T, ProjectOntoPlane, (const Vector3&, const Vector3&) const, Vector3), AS_CALL_THISCALL); // Vector3 Vector3::ReNormalized(float minLength, float maxLength, const Vector3& defaultValue = Vector3::ZERO, float eps = M_LARGE_EPSILON) const engine->RegisterObjectMethod(className, "Vector3 ReNormalized(float, float, const Vector3&in = Vector3::ZERO, float = M_LARGE_EPSILON) const", AS_METHODPR(T, ReNormalized, (float, float, const Vector3&, float) const, Vector3), AS_CALL_THISCALL); // hash32 Vector3::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String Vector3::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // float Vector3::x_ engine->RegisterObjectProperty(className, "float x", offsetof(T, x_)); // float Vector3::y_ engine->RegisterObjectProperty(className, "float y", offsetof(T, y_)); // float Vector3::z_ engine->RegisterObjectProperty(className, "float z", offsetof(T, z_)); // static const Vector3 Vector3::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::LEFT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 LEFT", (void*)&T::LEFT);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::RIGHT engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 RIGHT", (void*)&T::RIGHT);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::UP engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 UP", (void*)&T::UP);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::DOWN engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 DOWN", (void*)&T::DOWN);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::FORWARD engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 FORWARD", (void*)&T::FORWARD);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::BACK engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 BACK", (void*)&T::BACK);engine->SetDefaultNamespace(""); // static const Vector3 Vector3::ONE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector3 ONE", (void*)&T::ONE);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Vector3 REGISTER_MEMBERS_MANUAL_PART_Vector3(); #endif } // class Vector4 | File: ../Math/Vector4.h template void RegisterMembers_Vector4(asIScriptEngine* engine, const char* className) { // const float* Vector4::Data() const // Error: type "const float*" can not automatically bind // bool Vector4::operator !=(const Vector4& rhs) const // Only operator == is needed // Vector4 Vector4::Abs() const engine->RegisterObjectMethod(className, "Vector4 Abs() const", AS_METHODPR(T, Abs, () const, Vector4), AS_CALL_THISCALL); // float Vector4::AbsDotProduct(const Vector4& rhs) const engine->RegisterObjectMethod(className, "float AbsDotProduct(const Vector4&in) const", AS_METHODPR(T, AbsDotProduct, (const Vector4&) const, float), AS_CALL_THISCALL); // float Vector4::DotProduct(const Vector4& rhs) const engine->RegisterObjectMethod(className, "float DotProduct(const Vector4&in) const", AS_METHODPR(T, DotProduct, (const Vector4&) const, float), AS_CALL_THISCALL); // bool Vector4::Equals(const Vector4& rhs) const engine->RegisterObjectMethod(className, "bool Equals(const Vector4&in) const", AS_METHODPR(T, Equals, (const Vector4&) const, bool), AS_CALL_THISCALL); // bool Vector4::IsInf() const engine->RegisterObjectMethod(className, "bool IsInf() const", AS_METHODPR(T, IsInf, () const, bool), AS_CALL_THISCALL); // bool Vector4::IsNaN() const engine->RegisterObjectMethod(className, "bool IsNaN() const", AS_METHODPR(T, IsNaN, () const, bool), AS_CALL_THISCALL); // Vector4 Vector4::Lerp(const Vector4& rhs, float t) const engine->RegisterObjectMethod(className, "Vector4 Lerp(const Vector4&in, float) const", AS_METHODPR(T, Lerp, (const Vector4&, float) const, Vector4), AS_CALL_THISCALL); // explicit Vector4::operator Vector2() const engine->RegisterObjectMethod(className, "Vector2 opConv() const", AS_METHODPR(T, operator Vector2, () const, Vector2), AS_CALL_THISCALL); // explicit Vector4::operator Vector3() const engine->RegisterObjectMethod(className, "Vector3 opConv() const", AS_METHODPR(T, operator Vector3, () const, Vector3), AS_CALL_THISCALL); // Vector4 Vector4::operator *(float rhs) const engine->RegisterObjectMethod(className, "Vector4 opMul(float) const", AS_METHODPR(T, operator*, (float) const, Vector4), AS_CALL_THISCALL); // Vector4 Vector4::operator *(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector4 opMul(const Vector4&in) const", AS_METHODPR(T, operator*, (const Vector4&) const, Vector4), AS_CALL_THISCALL); // Vector4& Vector4::operator *=(float rhs) engine->RegisterObjectMethod(className, "Vector4& opMulAssign(float)", AS_METHODPR(T, operator*=, (float), Vector4&), AS_CALL_THISCALL); // Vector4& Vector4::operator *=(const Vector4& rhs) engine->RegisterObjectMethod(className, "Vector4& opMulAssign(const Vector4&in)", AS_METHODPR(T, operator*=, (const Vector4&), Vector4&), AS_CALL_THISCALL); // Vector4 Vector4::operator +(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector4 opAdd(const Vector4&in) const", AS_METHODPR(T, operator+, (const Vector4&) const, Vector4), AS_CALL_THISCALL); // Vector4& Vector4::operator +=(const Vector4& rhs) engine->RegisterObjectMethod(className, "Vector4& opAddAssign(const Vector4&in)", AS_METHODPR(T, operator+=, (const Vector4&), Vector4&), AS_CALL_THISCALL); // Vector4 Vector4::operator -() const engine->RegisterObjectMethod(className, "Vector4 opNeg() const", AS_METHODPR(T, operator-, () const, Vector4), AS_CALL_THISCALL); // Vector4 Vector4::operator -(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector4 opSub(const Vector4&in) const", AS_METHODPR(T, operator-, (const Vector4&) const, Vector4), AS_CALL_THISCALL); // Vector4& Vector4::operator -=(const Vector4& rhs) engine->RegisterObjectMethod(className, "Vector4& opSubAssign(const Vector4&in)", AS_METHODPR(T, operator-=, (const Vector4&), Vector4&), AS_CALL_THISCALL); // Vector4 Vector4::operator /(float rhs) const engine->RegisterObjectMethod(className, "Vector4 opDiv(float) const", AS_METHODPR(T, operator/, (float) const, Vector4), AS_CALL_THISCALL); // Vector4 Vector4::operator /(const Vector4& rhs) const engine->RegisterObjectMethod(className, "Vector4 opDiv(const Vector4&in) const", AS_METHODPR(T, operator/, (const Vector4&) const, Vector4), AS_CALL_THISCALL); // Vector4& Vector4::operator /=(float rhs) engine->RegisterObjectMethod(className, "Vector4& opDivAssign(float)", AS_METHODPR(T, operator/=, (float), Vector4&), AS_CALL_THISCALL); // Vector4& Vector4::operator /=(const Vector4& rhs) engine->RegisterObjectMethod(className, "Vector4& opDivAssign(const Vector4&in)", AS_METHODPR(T, operator/=, (const Vector4&), Vector4&), AS_CALL_THISCALL); // Vector4& Vector4::operator =(const Vector4& rhs) noexcept = default engine->RegisterObjectMethod(className, "Vector4& opAssign(const Vector4&in)", AS_METHODPR(T, operator=, (const Vector4&), Vector4&), AS_CALL_THISCALL); // bool Vector4::operator ==(const Vector4& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const Vector4&in) const", AS_METHODPR(T, operator==, (const Vector4&) const, bool), AS_CALL_THISCALL); // float Vector4::operator [](i32 index) const engine->RegisterObjectMethod(className, "float opIndex(int) const", AS_METHODPR(T, operator[], (i32) const, float), AS_CALL_THISCALL); // float& Vector4::operator [](i32 index) engine->RegisterObjectMethod(className, "float& opIndex(int)", AS_METHODPR(T, operator[], (i32), float&), AS_CALL_THISCALL); // float Vector4::ProjectOntoAxis(const Vector3& axis) const engine->RegisterObjectMethod(className, "float ProjectOntoAxis(const Vector3&in) const", AS_METHODPR(T, ProjectOntoAxis, (const Vector3&) const, float), AS_CALL_THISCALL); // hash32 Vector4::ToHash() const engine->RegisterObjectMethod(className, "hash32 ToHash() const", AS_METHODPR(T, ToHash, () const, hash32), AS_CALL_THISCALL); // String Vector4::ToString() const engine->RegisterObjectMethod(className, "String ToString() const", AS_METHODPR(T, ToString, () const, String), AS_CALL_THISCALL); // float Vector4::x_ engine->RegisterObjectProperty(className, "float x", offsetof(T, x_)); // float Vector4::y_ engine->RegisterObjectProperty(className, "float y", offsetof(T, y_)); // float Vector4::z_ engine->RegisterObjectProperty(className, "float z", offsetof(T, z_)); // float Vector4::w_ engine->RegisterObjectProperty(className, "float w", offsetof(T, w_)); // static const Vector4 Vector4::ZERO engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector4 ZERO", (void*)&T::ZERO);engine->SetDefaultNamespace(""); // static const Vector4 Vector4::ONE engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const Vector4 ONE", (void*)&T::ONE);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_Vector4 REGISTER_MEMBERS_MANUAL_PART_Vector4(); #endif } // class VectorBase | File: ../Container/VectorBase.h template void RegisterMembers_VectorBase(asIScriptEngine* engine, const char* className) { // void VectorBase::Swap(VectorBase& rhs) engine->RegisterObjectMethod(className, "void Swap(VectorBase&)", AS_METHODPR(T, Swap, (VectorBase&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_VectorBase REGISTER_MEMBERS_MANUAL_PART_VectorBase(); #endif } // struct VertexBufferDesc | File: ../Graphics/Model.h template void RegisterMembers_VertexBufferDesc(asIScriptEngine* engine, const char* className) { // Vector VertexBufferDesc::vertexElements_ // Error: type "Vector" can not automatically bind // SharedArrayPtr VertexBufferDesc::data_ // Error: type "SharedArrayPtr" can not automatically bind // i32 VertexBufferDesc::vertexCount_ engine->RegisterObjectProperty(className, "int vertexCount", offsetof(T, vertexCount_)); // i32 VertexBufferDesc::dataSize_ engine->RegisterObjectProperty(className, "int dataSize", offsetof(T, dataSize_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_VertexBufferDesc REGISTER_MEMBERS_MANUAL_PART_VertexBufferDesc(); #endif } // struct VertexBufferMorph | File: ../Graphics/Model.h template void RegisterMembers_VertexBufferMorph(asIScriptEngine* engine, const char* className) { // SharedArrayPtr VertexBufferMorph::morphData_ // Error: type "SharedArrayPtr" can not automatically bind // VertexElements VertexBufferMorph::elementMask_ engine->RegisterObjectProperty(className, "VertexElements elementMask", offsetof(T, elementMask_)); // i32 VertexBufferMorph::vertexCount_ engine->RegisterObjectProperty(className, "int vertexCount", offsetof(T, vertexCount_)); // i32 VertexBufferMorph::dataSize_ engine->RegisterObjectProperty(className, "int dataSize", offsetof(T, dataSize_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_VertexBufferMorph REGISTER_MEMBERS_MANUAL_PART_VertexBufferMorph(); #endif } // struct VertexElement | File: ../GraphicsAPI/GraphicsDefs.h template void RegisterMembers_VertexElement(asIScriptEngine* engine, const char* className) { // bool VertexElement::operator !=(const VertexElement& rhs) const // Only operator == is needed // bool VertexElement::operator ==(const VertexElement& rhs) const engine->RegisterObjectMethod(className, "bool opEquals(const VertexElement&in) const", AS_METHODPR(T, operator==, (const VertexElement&) const, bool), AS_CALL_THISCALL); // VertexElementType VertexElement::type_ engine->RegisterObjectProperty(className, "VertexElementType type", offsetof(T, type_)); // VertexElementSemantic VertexElement::semantic_ engine->RegisterObjectProperty(className, "VertexElementSemantic semantic", offsetof(T, semantic_)); // i8 VertexElement::index_ engine->RegisterObjectProperty(className, "int8 index", offsetof(T, index_)); // bool VertexElement::perInstance_ engine->RegisterObjectProperty(className, "bool perInstance", offsetof(T, perInstance_)); // i32 VertexElement::offset_ engine->RegisterObjectProperty(className, "int offset", offsetof(T, offset_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_VertexElement REGISTER_MEMBERS_MANUAL_PART_VertexElement(); #endif } // class WString | File: ../Container/Str.h template void RegisterMembers_WString(asIScriptEngine* engine, const char* className) { // wchar_t& WString::At(i32 index) // Error: type "wchar_t&" can not automatically bind // const wchar_t& WString::At(i32 index) const // Error: type "const wchar_t&" can not automatically bind // const wchar_t* WString::CString() const // Error: type "const wchar_t*" can not automatically bind // wchar_t& WString::operator [](i32 index) // Error: type "wchar_t&" can not automatically bind // const wchar_t& WString::operator [](i32 index) const // Error: type "const wchar_t&" can not automatically bind // bool WString::Empty() const engine->RegisterObjectMethod(className, "bool Empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); // i32 WString::Length() const engine->RegisterObjectMethod(className, "int Length() const", AS_METHODPR(T, Length, () const, i32), AS_CALL_THISCALL); // void WString::Resize(i32 newLength) engine->RegisterObjectMethod(className, "void Resize(int)", AS_METHODPR(T, Resize, (i32), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_WString REGISTER_MEMBERS_MANUAL_PART_WString(); #endif } // struct WindowModeParams | File: ../Graphics/Graphics.h template void RegisterMembers_WindowModeParams(asIScriptEngine* engine, const char* className) { // int WindowModeParams::width_ engine->RegisterObjectProperty(className, "int width", offsetof(T, width_)); // int WindowModeParams::height_ engine->RegisterObjectProperty(className, "int height", offsetof(T, height_)); // ScreenModeParams WindowModeParams::screenParams_ engine->RegisterObjectProperty(className, "ScreenModeParams screenParams", offsetof(T, screenParams_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_WindowModeParams REGISTER_MEMBERS_MANUAL_PART_WindowModeParams(); #endif } // Vector XMLElement::GetAttributeNames() const template CScriptArray* XMLElement_VectorlesStringgre_GetAttributeNames_void_template(T* _ptr) { Vector result = _ptr->GetAttributeNames(); return VectorToArray(result, "Array"); } // Vector XMLElement::GetBuffer(const String& name) const template CScriptArray* XMLElement_Vectorlesbytegre_GetBuffer_constspStringamp_template(T* _ptr, const String& name) { Vector result = _ptr->GetBuffer(name); return VectorToArray(result, "Array"); } // StringVector XMLElement::GetStringVector() const template CScriptArray* XMLElement_StringVector_GetStringVector_void_template(T* _ptr) { StringVector result = _ptr->GetStringVector(); return VectorToArray(result, "Array"); } // bool XMLElement::SetBuffer(const String& name, const Vector& value) template bool XMLElement_bool_SetBuffer_constspStringamp_constspVectorlesunsignedspchargreamp_template(T* _ptr, const String& name, CScriptArray* value_conv) { Vector value = ArrayToVector(value_conv); bool result = _ptr->SetBuffer(name, value); return result; } // bool XMLElement::SetStringVector(const StringVector& value) template bool XMLElement_bool_SetStringVector_constspStringVectoramp_template(T* _ptr, CScriptArray* value_conv) { StringVector value = ArrayToVector(value_conv); bool result = _ptr->SetStringVector(value); return result; } // class XMLElement | File: ../Resource/XMLElement.h template void RegisterMembers_XMLElement(asIScriptEngine* engine, const char* className) { // XMLElement XMLElement::CreateChild(const char* name) // Error: type "const char*" can not automatically bind // String XMLElement::GetAttribute(const char* name) const // Error: type "const char*" can not automatically bind // const char* XMLElement::GetAttributeCString(const char* name) const // Error: type "const char*" can not automatically bind // String XMLElement::GetAttributeLower(const char* name) const // Error: type "const char*" can not automatically bind // String XMLElement::GetAttributeUpper(const char* name) const // Error: type "const char*" can not automatically bind // bool XMLElement::GetBuffer(const String& name, void* dest, i32 size) const // Error: type "void*" can not automatically bind // XMLElement XMLElement::GetChild(const char* name) const // Error: type "const char*" can not automatically bind // XMLElement XMLElement::GetNext(const char* name) const // Error: type "const char*" can not automatically bind // pugi::xml_node_struct* XMLElement::GetNode() const // Error: type "pugi::xml_node_struct*" can not automatically bind // XMLElement XMLElement::GetOrCreateChild(const char* name) // Error: type "const char*" can not automatically bind // VariantVector XMLElement::GetVariantVector() const // Error: type "VariantVector" can not automatically bind // const pugi::xpath_node* XMLElement::GetXPathNode() const // Error: type "const pugi::xpath_node*" can not automatically bind // const XPathResultSet* XMLElement::GetXPathResultSet() const // Error: type "const XPathResultSet*" can not automatically bind // bool XMLElement::HasAttribute(const char* name) const // Error: type "const char*" can not automatically bind // bool XMLElement::HasChild(const char* name) const // Error: type "const char*" can not automatically bind // bool XMLElement::RemoveAttribute(const char* name) // Error: type "const char*" can not automatically bind // bool XMLElement::RemoveChild(const char* name) // Error: type "const char*" can not automatically bind // bool XMLElement::RemoveChildren(const char* name) // Error: type "const char*" can not automatically bind // XPathResultSet XMLElement::Select(const String& query, pugi::xpath_variable_set* variables = nullptr) const // Error: type "pugi::xpath_variable_set*" can not automatically bind // XMLElement XMLElement::SelectSingle(const String& query, pugi::xpath_variable_set* variables = nullptr) const // Error: type "pugi::xpath_variable_set*" can not automatically bind // bool XMLElement::SetAttribute(const char* name, const char* value) // Error: type "const char*" can not automatically bind // bool XMLElement::SetAttribute(const char* value) // Error: type "const char*" can not automatically bind // bool XMLElement::SetBuffer(const String& name, const void* data, i32 size) // Error: type "const void*" can not automatically bind // bool XMLElement::SetValue(const char* value) // Error: type "const char*" can not automatically bind // bool XMLElement::SetVariantVector(const VariantVector& value) // Error: type "const VariantVector&" can not automatically bind // bool XMLElement::AppendChild(XMLElement element, bool asCopy = false) engine->RegisterObjectMethod(className, "bool AppendChild(XMLElement, bool = false)", AS_METHODPR(T, AppendChild, (XMLElement, bool), bool), AS_CALL_THISCALL); // XMLElement XMLElement::CreateChild(const String& name) engine->RegisterObjectMethod(className, "XMLElement CreateChild(const String&in)", AS_METHODPR(T, CreateChild, (const String&), XMLElement), AS_CALL_THISCALL); // String XMLElement::GetAttribute(const String& name = String::EMPTY) const engine->RegisterObjectMethod(className, "String GetAttribute(const String&in = String::EMPTY) const", AS_METHODPR(T, GetAttribute, (const String&) const, String), AS_CALL_THISCALL); // String XMLElement::GetAttributeLower(const String& name) const engine->RegisterObjectMethod(className, "String GetAttributeLower(const String&in) const", AS_METHODPR(T, GetAttributeLower, (const String&) const, String), AS_CALL_THISCALL); // Vector XMLElement::GetAttributeNames() const engine->RegisterObjectMethod(className, "Array@ GetAttributeNames() const", AS_FUNCTION_OBJFIRST(XMLElement_VectorlesStringgre_GetAttributeNames_void_template), AS_CALL_CDECL_OBJFIRST); // String XMLElement::GetAttributeUpper(const String& name) const engine->RegisterObjectMethod(className, "String GetAttributeUpper(const String&in) const", AS_METHODPR(T, GetAttributeUpper, (const String&) const, String), AS_CALL_THISCALL); // bool XMLElement::GetBool(const String& name) const engine->RegisterObjectMethod(className, "bool GetBool(const String&in) const", AS_METHODPR(T, GetBool, (const String&) const, bool), AS_CALL_THISCALL); // BoundingBox XMLElement::GetBoundingBox() const engine->RegisterObjectMethod(className, "BoundingBox GetBoundingBox() const", AS_METHODPR(T, GetBoundingBox, () const, BoundingBox), AS_CALL_THISCALL); // Vector XMLElement::GetBuffer(const String& name) const engine->RegisterObjectMethod(className, "Array@ GetBuffer(const String&in) const", AS_FUNCTION_OBJFIRST(XMLElement_Vectorlesbytegre_GetBuffer_constspStringamp_template), AS_CALL_CDECL_OBJFIRST); // XMLElement XMLElement::GetChild(const String& name = String::EMPTY) const engine->RegisterObjectMethod(className, "XMLElement GetChild(const String&in = String::EMPTY) const", AS_METHODPR(T, GetChild, (const String&) const, XMLElement), AS_CALL_THISCALL); // Color XMLElement::GetColor(const String& name) const engine->RegisterObjectMethod(className, "Color GetColor(const String&in) const", AS_METHODPR(T, GetColor, (const String&) const, Color), AS_CALL_THISCALL); // double XMLElement::GetDouble(const String& name) const engine->RegisterObjectMethod(className, "double GetDouble(const String&in) const", AS_METHODPR(T, GetDouble, (const String&) const, double), AS_CALL_THISCALL); // XMLFile* XMLElement::GetFile() const engine->RegisterObjectMethod(className, "XMLFile@+ GetFile() const", AS_METHODPR(T, GetFile, () const, XMLFile*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "XMLFile@+ get_file() const", AS_METHODPR(T, GetFile, () const, XMLFile*), AS_CALL_THISCALL); // float XMLElement::GetFloat(const String& name) const engine->RegisterObjectMethod(className, "float GetFloat(const String&in) const", AS_METHODPR(T, GetFloat, (const String&) const, float), AS_CALL_THISCALL); // i32 XMLElement::GetI32(const String& name) const engine->RegisterObjectMethod(className, "int GetI32(const String&in) const", AS_METHODPR(T, GetI32, (const String&) const, i32), AS_CALL_THISCALL); // i64 XMLElement::GetI64(const String& name) const engine->RegisterObjectMethod(className, "int64 GetI64(const String&in) const", AS_METHODPR(T, GetI64, (const String&) const, i64), AS_CALL_THISCALL); // IntRect XMLElement::GetIntRect(const String& name) const engine->RegisterObjectMethod(className, "IntRect GetIntRect(const String&in) const", AS_METHODPR(T, GetIntRect, (const String&) const, IntRect), AS_CALL_THISCALL); // IntVector2 XMLElement::GetIntVector2(const String& name) const engine->RegisterObjectMethod(className, "IntVector2 GetIntVector2(const String&in) const", AS_METHODPR(T, GetIntVector2, (const String&) const, IntVector2), AS_CALL_THISCALL); // IntVector3 XMLElement::GetIntVector3(const String& name) const engine->RegisterObjectMethod(className, "IntVector3 GetIntVector3(const String&in) const", AS_METHODPR(T, GetIntVector3, (const String&) const, IntVector3), AS_CALL_THISCALL); // Matrix3 XMLElement::GetMatrix3(const String& name) const engine->RegisterObjectMethod(className, "Matrix3 GetMatrix3(const String&in) const", AS_METHODPR(T, GetMatrix3, (const String&) const, Matrix3), AS_CALL_THISCALL); // Matrix3x4 XMLElement::GetMatrix3x4(const String& name) const engine->RegisterObjectMethod(className, "Matrix3x4 GetMatrix3x4(const String&in) const", AS_METHODPR(T, GetMatrix3x4, (const String&) const, Matrix3x4), AS_CALL_THISCALL); // Matrix4 XMLElement::GetMatrix4(const String& name) const engine->RegisterObjectMethod(className, "Matrix4 GetMatrix4(const String&in) const", AS_METHODPR(T, GetMatrix4, (const String&) const, Matrix4), AS_CALL_THISCALL); // String XMLElement::GetName() const engine->RegisterObjectMethod(className, "String GetName() const", AS_METHODPR(T, GetName, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_name() const", AS_METHODPR(T, GetName, () const, String), AS_CALL_THISCALL); // XMLElement XMLElement::GetNext(const String& name = String::EMPTY) const engine->RegisterObjectMethod(className, "XMLElement GetNext(const String&in = String::EMPTY) const", AS_METHODPR(T, GetNext, (const String&) const, XMLElement), AS_CALL_THISCALL); // i32 XMLElement::GetNumAttributes() const engine->RegisterObjectMethod(className, "int GetNumAttributes() const", AS_METHODPR(T, GetNumAttributes, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numAttributes() const", AS_METHODPR(T, GetNumAttributes, () const, i32), AS_CALL_THISCALL); // XMLElement XMLElement::GetOrCreateChild(const String& name) engine->RegisterObjectMethod(className, "XMLElement GetOrCreateChild(const String&in)", AS_METHODPR(T, GetOrCreateChild, (const String&), XMLElement), AS_CALL_THISCALL); // XMLElement XMLElement::GetParent() const engine->RegisterObjectMethod(className, "XMLElement GetParent() const", AS_METHODPR(T, GetParent, () const, XMLElement), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "XMLElement get_parent() const", AS_METHODPR(T, GetParent, () const, XMLElement), AS_CALL_THISCALL); // Quaternion XMLElement::GetQuaternion(const String& name) const engine->RegisterObjectMethod(className, "Quaternion GetQuaternion(const String&in) const", AS_METHODPR(T, GetQuaternion, (const String&) const, Quaternion), AS_CALL_THISCALL); // Rect XMLElement::GetRect(const String& name) const engine->RegisterObjectMethod(className, "Rect GetRect(const String&in) const", AS_METHODPR(T, GetRect, (const String&) const, Rect), AS_CALL_THISCALL); // ResourceRef XMLElement::GetResourceRef() const engine->RegisterObjectMethod(className, "ResourceRef GetResourceRef() const", AS_METHODPR(T, GetResourceRef, () const, ResourceRef), AS_CALL_THISCALL); // ResourceRefList XMLElement::GetResourceRefList() const engine->RegisterObjectMethod(className, "ResourceRefList GetResourceRefList() const", AS_METHODPR(T, GetResourceRefList, () const, ResourceRefList), AS_CALL_THISCALL); // StringVector XMLElement::GetStringVector() const engine->RegisterObjectMethod(className, "Array@ GetStringVector() const", AS_FUNCTION_OBJFIRST(XMLElement_StringVector_GetStringVector_void_template), AS_CALL_CDECL_OBJFIRST); // u32 XMLElement::GetU32(const String& name) const engine->RegisterObjectMethod(className, "uint GetU32(const String&in) const", AS_METHODPR(T, GetU32, (const String&) const, u32), AS_CALL_THISCALL); // u64 XMLElement::GetU64(const String& name) const engine->RegisterObjectMethod(className, "uint64 GetU64(const String&in) const", AS_METHODPR(T, GetU64, (const String&) const, u64), AS_CALL_THISCALL); // String XMLElement::GetValue() const engine->RegisterObjectMethod(className, "String GetValue() const", AS_METHODPR(T, GetValue, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_value() const", AS_METHODPR(T, GetValue, () const, String), AS_CALL_THISCALL); // Variant XMLElement::GetVariant() const engine->RegisterObjectMethod(className, "Variant GetVariant() const", AS_METHODPR(T, GetVariant, () const, Variant), AS_CALL_THISCALL); // VariantMap XMLElement::GetVariantMap() const engine->RegisterObjectMethod(className, "VariantMap GetVariantMap() const", AS_METHODPR(T, GetVariantMap, () const, VariantMap), AS_CALL_THISCALL); // Variant XMLElement::GetVariantValue(VariantType type) const engine->RegisterObjectMethod(className, "Variant GetVariantValue(VariantType) const", AS_METHODPR(T, GetVariantValue, (VariantType) const, Variant), AS_CALL_THISCALL); // Vector4 XMLElement::GetVector(const String& name) const engine->RegisterObjectMethod(className, "Vector4 GetVector(const String&in) const", AS_METHODPR(T, GetVector, (const String&) const, Vector4), AS_CALL_THISCALL); // Vector2 XMLElement::GetVector2(const String& name) const engine->RegisterObjectMethod(className, "Vector2 GetVector2(const String&in) const", AS_METHODPR(T, GetVector2, (const String&) const, Vector2), AS_CALL_THISCALL); // Vector3 XMLElement::GetVector3(const String& name) const engine->RegisterObjectMethod(className, "Vector3 GetVector3(const String&in) const", AS_METHODPR(T, GetVector3, (const String&) const, Vector3), AS_CALL_THISCALL); // Vector4 XMLElement::GetVector4(const String& name) const engine->RegisterObjectMethod(className, "Vector4 GetVector4(const String&in) const", AS_METHODPR(T, GetVector4, (const String&) const, Vector4), AS_CALL_THISCALL); // Variant XMLElement::GetVectorVariant(const String& name) const engine->RegisterObjectMethod(className, "Variant GetVectorVariant(const String&in) const", AS_METHODPR(T, GetVectorVariant, (const String&) const, Variant), AS_CALL_THISCALL); // i32 XMLElement::GetXPathResultIndex() const engine->RegisterObjectMethod(className, "int GetXPathResultIndex() const", AS_METHODPR(T, GetXPathResultIndex, () const, i32), AS_CALL_THISCALL); // bool XMLElement::HasAttribute(const String& name) const engine->RegisterObjectMethod(className, "bool HasAttribute(const String&in) const", AS_METHODPR(T, HasAttribute, (const String&) const, bool), AS_CALL_THISCALL); // bool XMLElement::HasChild(const String& name) const engine->RegisterObjectMethod(className, "bool HasChild(const String&in) const", AS_METHODPR(T, HasChild, (const String&) const, bool), AS_CALL_THISCALL); // bool XMLElement::IsNull() const engine->RegisterObjectMethod(className, "bool IsNull() const", AS_METHODPR(T, IsNull, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_isNull() const", AS_METHODPR(T, IsNull, () const, bool), AS_CALL_THISCALL); // XMLElement XMLElement::NextResult() const engine->RegisterObjectMethod(className, "XMLElement NextResult() const", AS_METHODPR(T, NextResult, () const, XMLElement), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "XMLElement get_nextResult() const", AS_METHODPR(T, NextResult, () const, XMLElement), AS_CALL_THISCALL); // bool XMLElement::NotNull() const engine->RegisterObjectMethod(className, "bool NotNull() const", AS_METHODPR(T, NotNull, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_notNull() const", AS_METHODPR(T, NotNull, () const, bool), AS_CALL_THISCALL); // explicit XMLElement::operator bool() const engine->RegisterObjectMethod(className, "bool opConv() const", AS_METHODPR(T, operator bool, () const, bool), AS_CALL_THISCALL); // XMLElement& XMLElement::operator =(const XMLElement& rhs) engine->RegisterObjectMethod(className, "XMLElement& opAssign(const XMLElement&in)", AS_METHODPR(T, operator=, (const XMLElement&), XMLElement&), AS_CALL_THISCALL); // bool XMLElement::Remove() engine->RegisterObjectMethod(className, "bool Remove()", AS_METHODPR(T, Remove, (), bool), AS_CALL_THISCALL); // bool XMLElement::RemoveAttribute(const String& name = String::EMPTY) engine->RegisterObjectMethod(className, "bool RemoveAttribute(const String&in = String::EMPTY)", AS_METHODPR(T, RemoveAttribute, (const String&), bool), AS_CALL_THISCALL); // bool XMLElement::RemoveChild(const XMLElement& element) engine->RegisterObjectMethod(className, "bool RemoveChild(const XMLElement&in)", AS_METHODPR(T, RemoveChild, (const XMLElement&), bool), AS_CALL_THISCALL); // bool XMLElement::RemoveChild(const String& name) engine->RegisterObjectMethod(className, "bool RemoveChild(const String&in)", AS_METHODPR(T, RemoveChild, (const String&), bool), AS_CALL_THISCALL); // bool XMLElement::RemoveChildren(const String& name = String::EMPTY) engine->RegisterObjectMethod(className, "bool RemoveChildren(const String&in = String::EMPTY)", AS_METHODPR(T, RemoveChildren, (const String&), bool), AS_CALL_THISCALL); // XPathResultSet XMLElement::SelectPrepared(const XPathQuery& query) const engine->RegisterObjectMethod(className, "XPathResultSet SelectPrepared(const XPathQuery&in) const", AS_METHODPR(T, SelectPrepared, (const XPathQuery&) const, XPathResultSet), AS_CALL_THISCALL); // XMLElement XMLElement::SelectSinglePrepared(const XPathQuery& query) const engine->RegisterObjectMethod(className, "XMLElement SelectSinglePrepared(const XPathQuery&in) const", AS_METHODPR(T, SelectSinglePrepared, (const XPathQuery&) const, XMLElement), AS_CALL_THISCALL); // bool XMLElement::SetAttribute(const String& name, const String& value) engine->RegisterObjectMethod(className, "bool SetAttribute(const String&in, const String&in)", AS_METHODPR(T, SetAttribute, (const String&, const String&), bool), AS_CALL_THISCALL); // bool XMLElement::SetAttribute(const String& value) engine->RegisterObjectMethod(className, "bool SetAttribute(const String&in)", AS_METHODPR(T, SetAttribute, (const String&), bool), AS_CALL_THISCALL); // bool XMLElement::SetBool(const String& name, bool value) engine->RegisterObjectMethod(className, "bool SetBool(const String&in, bool)", AS_METHODPR(T, SetBool, (const String&, bool), bool), AS_CALL_THISCALL); // bool XMLElement::SetBoundingBox(const BoundingBox& value) engine->RegisterObjectMethod(className, "bool SetBoundingBox(const BoundingBox&in)", AS_METHODPR(T, SetBoundingBox, (const BoundingBox&), bool), AS_CALL_THISCALL); // bool XMLElement::SetBuffer(const String& name, const Vector& value) engine->RegisterObjectMethod(className, "bool SetBuffer(const String&in, Array@+)", AS_FUNCTION_OBJFIRST(XMLElement_bool_SetBuffer_constspStringamp_constspVectorlesunsignedspchargreamp_template), AS_CALL_CDECL_OBJFIRST); // bool XMLElement::SetColor(const String& name, const Color& value) engine->RegisterObjectMethod(className, "bool SetColor(const String&in, const Color&in)", AS_METHODPR(T, SetColor, (const String&, const Color&), bool), AS_CALL_THISCALL); // bool XMLElement::SetDouble(const String& name, double value) engine->RegisterObjectMethod(className, "bool SetDouble(const String&in, double)", AS_METHODPR(T, SetDouble, (const String&, double), bool), AS_CALL_THISCALL); // bool XMLElement::SetFloat(const String& name, float value) engine->RegisterObjectMethod(className, "bool SetFloat(const String&in, float)", AS_METHODPR(T, SetFloat, (const String&, float), bool), AS_CALL_THISCALL); // bool XMLElement::SetI32(const String& name, i32 value) engine->RegisterObjectMethod(className, "bool SetI32(const String&in, int)", AS_METHODPR(T, SetI32, (const String&, i32), bool), AS_CALL_THISCALL); // bool XMLElement::SetI64(const String& name, i64 value) engine->RegisterObjectMethod(className, "bool SetI64(const String&in, int64)", AS_METHODPR(T, SetI64, (const String&, i64), bool), AS_CALL_THISCALL); // bool XMLElement::SetIntRect(const String& name, const IntRect& value) engine->RegisterObjectMethod(className, "bool SetIntRect(const String&in, const IntRect&in)", AS_METHODPR(T, SetIntRect, (const String&, const IntRect&), bool), AS_CALL_THISCALL); // bool XMLElement::SetIntVector2(const String& name, const IntVector2& value) engine->RegisterObjectMethod(className, "bool SetIntVector2(const String&in, const IntVector2&in)", AS_METHODPR(T, SetIntVector2, (const String&, const IntVector2&), bool), AS_CALL_THISCALL); // bool XMLElement::SetIntVector3(const String& name, const IntVector3& value) engine->RegisterObjectMethod(className, "bool SetIntVector3(const String&in, const IntVector3&in)", AS_METHODPR(T, SetIntVector3, (const String&, const IntVector3&), bool), AS_CALL_THISCALL); // bool XMLElement::SetMatrix3(const String& name, const Matrix3& value) engine->RegisterObjectMethod(className, "bool SetMatrix3(const String&in, const Matrix3&in)", AS_METHODPR(T, SetMatrix3, (const String&, const Matrix3&), bool), AS_CALL_THISCALL); // bool XMLElement::SetMatrix3x4(const String& name, const Matrix3x4& value) engine->RegisterObjectMethod(className, "bool SetMatrix3x4(const String&in, const Matrix3x4&in)", AS_METHODPR(T, SetMatrix3x4, (const String&, const Matrix3x4&), bool), AS_CALL_THISCALL); // bool XMLElement::SetMatrix4(const String& name, const Matrix4& value) engine->RegisterObjectMethod(className, "bool SetMatrix4(const String&in, const Matrix4&in)", AS_METHODPR(T, SetMatrix4, (const String&, const Matrix4&), bool), AS_CALL_THISCALL); // bool XMLElement::SetQuaternion(const String& name, const Quaternion& value) engine->RegisterObjectMethod(className, "bool SetQuaternion(const String&in, const Quaternion&in)", AS_METHODPR(T, SetQuaternion, (const String&, const Quaternion&), bool), AS_CALL_THISCALL); // bool XMLElement::SetRect(const String& name, const Rect& value) engine->RegisterObjectMethod(className, "bool SetRect(const String&in, const Rect&in)", AS_METHODPR(T, SetRect, (const String&, const Rect&), bool), AS_CALL_THISCALL); // bool XMLElement::SetResourceRef(const ResourceRef& value) engine->RegisterObjectMethod(className, "bool SetResourceRef(const ResourceRef&in)", AS_METHODPR(T, SetResourceRef, (const ResourceRef&), bool), AS_CALL_THISCALL); // bool XMLElement::SetResourceRefList(const ResourceRefList& value) engine->RegisterObjectMethod(className, "bool SetResourceRefList(const ResourceRefList&in)", AS_METHODPR(T, SetResourceRefList, (const ResourceRefList&), bool), AS_CALL_THISCALL); // bool XMLElement::SetString(const String& name, const String& value) engine->RegisterObjectMethod(className, "bool SetString(const String&in, const String&in)", AS_METHODPR(T, SetString, (const String&, const String&), bool), AS_CALL_THISCALL); // bool XMLElement::SetStringVector(const StringVector& value) engine->RegisterObjectMethod(className, "bool SetStringVector(Array@+)", AS_FUNCTION_OBJFIRST(XMLElement_bool_SetStringVector_constspStringVectoramp_template), AS_CALL_CDECL_OBJFIRST); // bool XMLElement::SetU32(const String& name, u32 value) engine->RegisterObjectMethod(className, "bool SetU32(const String&in, uint)", AS_METHODPR(T, SetU32, (const String&, u32), bool), AS_CALL_THISCALL); // bool XMLElement::SetU64(const String& name, u64 value) engine->RegisterObjectMethod(className, "bool SetU64(const String&in, uint64)", AS_METHODPR(T, SetU64, (const String&, u64), bool), AS_CALL_THISCALL); // bool XMLElement::SetValue(const String& value) engine->RegisterObjectMethod(className, "bool SetValue(const String&in)", AS_METHODPR(T, SetValue, (const String&), bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool set_value(const String&in)", AS_METHODPR(T, SetValue, (const String&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVariant(const Variant& value) engine->RegisterObjectMethod(className, "bool SetVariant(const Variant&in)", AS_METHODPR(T, SetVariant, (const Variant&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVariantMap(const VariantMap& value) engine->RegisterObjectMethod(className, "bool SetVariantMap(const VariantMap&in)", AS_METHODPR(T, SetVariantMap, (const VariantMap&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVariantValue(const Variant& value) engine->RegisterObjectMethod(className, "bool SetVariantValue(const Variant&in)", AS_METHODPR(T, SetVariantValue, (const Variant&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVector2(const String& name, const Vector2& value) engine->RegisterObjectMethod(className, "bool SetVector2(const String&in, const Vector2&in)", AS_METHODPR(T, SetVector2, (const String&, const Vector2&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVector3(const String& name, const Vector3& value) engine->RegisterObjectMethod(className, "bool SetVector3(const String&in, const Vector3&in)", AS_METHODPR(T, SetVector3, (const String&, const Vector3&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVector4(const String& name, const Vector4& value) engine->RegisterObjectMethod(className, "bool SetVector4(const String&in, const Vector4&in)", AS_METHODPR(T, SetVector4, (const String&, const Vector4&), bool), AS_CALL_THISCALL); // bool XMLElement::SetVectorVariant(const String& name, const Variant& value) engine->RegisterObjectMethod(className, "bool SetVectorVariant(const String&in, const Variant&in)", AS_METHODPR(T, SetVectorVariant, (const String&, const Variant&), bool), AS_CALL_THISCALL); // static const XMLElement XMLElement::EMPTY engine->SetDefaultNamespace(className);engine->RegisterGlobalProperty("const XMLElement EMPTY", (void*)&T::EMPTY);engine->SetDefaultNamespace(""); #ifdef REGISTER_MEMBERS_MANUAL_PART_XMLElement REGISTER_MEMBERS_MANUAL_PART_XMLElement(); #endif } // class XPathQuery | File: ../Resource/XMLElement.h template void RegisterMembers_XPathQuery(asIScriptEngine* engine, const char* className) { // pugi::xpath_query* XPathQuery::GetXPathQuery() const // Error: type "pugi::xpath_query*" can not automatically bind // pugi::xpath_variable_set* XPathQuery::GetXPathVariableSet() const // Error: type "pugi::xpath_variable_set*" can not automatically bind // bool XPathQuery::SetVariable(const char* name, const char* value) // Error: type "const char*" can not automatically bind // void XPathQuery::Bind() engine->RegisterObjectMethod(className, "void Bind()", AS_METHODPR(T, Bind, (), void), AS_CALL_THISCALL); // void XPathQuery::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // XPathResultSet XPathQuery::Evaluate(const XMLElement& element) const engine->RegisterObjectMethod(className, "XPathResultSet Evaluate(const XMLElement&in) const", AS_METHODPR(T, Evaluate, (const XMLElement&) const, XPathResultSet), AS_CALL_THISCALL); // bool XPathQuery::EvaluateToBool(const XMLElement& element) const engine->RegisterObjectMethod(className, "bool EvaluateToBool(const XMLElement&in) const", AS_METHODPR(T, EvaluateToBool, (const XMLElement&) const, bool), AS_CALL_THISCALL); // float XPathQuery::EvaluateToFloat(const XMLElement& element) const engine->RegisterObjectMethod(className, "float EvaluateToFloat(const XMLElement&in) const", AS_METHODPR(T, EvaluateToFloat, (const XMLElement&) const, float), AS_CALL_THISCALL); // String XPathQuery::EvaluateToString(const XMLElement& element) const engine->RegisterObjectMethod(className, "String EvaluateToString(const XMLElement&in) const", AS_METHODPR(T, EvaluateToString, (const XMLElement&) const, String), AS_CALL_THISCALL); // String XPathQuery::GetQuery() const engine->RegisterObjectMethod(className, "String GetQuery() const", AS_METHODPR(T, GetQuery, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_query() const", AS_METHODPR(T, GetQuery, () const, String), AS_CALL_THISCALL); // bool XPathQuery::SetQuery(const String& queryString, const String& variableString = String::EMPTY, bool bind = true) engine->RegisterObjectMethod(className, "bool SetQuery(const String&in, const String&in = String::EMPTY, bool = true)", AS_METHODPR(T, SetQuery, (const String&, const String&, bool), bool), AS_CALL_THISCALL); // bool XPathQuery::SetVariable(const String& name, bool value) engine->RegisterObjectMethod(className, "bool SetVariable(const String&in, bool)", AS_METHODPR(T, SetVariable, (const String&, bool), bool), AS_CALL_THISCALL); // bool XPathQuery::SetVariable(const String& name, float value) engine->RegisterObjectMethod(className, "bool SetVariable(const String&in, float)", AS_METHODPR(T, SetVariable, (const String&, float), bool), AS_CALL_THISCALL); // bool XPathQuery::SetVariable(const String& name, const String& value) engine->RegisterObjectMethod(className, "bool SetVariable(const String&in, const String&in)", AS_METHODPR(T, SetVariable, (const String&, const String&), bool), AS_CALL_THISCALL); // bool XPathQuery::SetVariable(const String& name, const XPathResultSet& value) engine->RegisterObjectMethod(className, "bool SetVariable(const String&in, const XPathResultSet&in)", AS_METHODPR(T, SetVariable, (const String&, const XPathResultSet&), bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_XPathQuery REGISTER_MEMBERS_MANUAL_PART_XPathQuery(); #endif } // class XPathResultSet | File: ../Resource/XMLElement.h template void RegisterMembers_XPathResultSet(asIScriptEngine* engine, const char* className) { // pugi::xpath_node_set* XPathResultSet::GetXPathNodeSet() const // Error: type "pugi::xpath_node_set*" can not automatically bind // bool XPathResultSet::Empty() const engine->RegisterObjectMethod(className, "bool Empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_empty() const", AS_METHODPR(T, Empty, () const, bool), AS_CALL_THISCALL); // XMLElement XPathResultSet::FirstResult() engine->RegisterObjectMethod(className, "XMLElement FirstResult()", AS_METHODPR(T, FirstResult, (), XMLElement), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "XMLElement get_firstResult()", AS_METHODPR(T, FirstResult, (), XMLElement), AS_CALL_THISCALL); // XPathResultSet& XPathResultSet::operator =(const XPathResultSet& rhs) engine->RegisterObjectMethod(className, "XPathResultSet& opAssign(const XPathResultSet&in)", AS_METHODPR(T, operator=, (const XPathResultSet&), XPathResultSet&), AS_CALL_THISCALL); // XMLElement XPathResultSet::operator [](i32 index) const engine->RegisterObjectMethod(className, "XMLElement opIndex(int) const", AS_METHODPR(T, operator[], (i32) const, XMLElement), AS_CALL_THISCALL); // i32 XPathResultSet::Size() const engine->RegisterObjectMethod(className, "int Size() const", AS_METHODPR(T, Size, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_size() const", AS_METHODPR(T, Size, () const, i32), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_XPathResultSet REGISTER_MEMBERS_MANUAL_PART_XPathResultSet(); #endif } #ifdef URHO3D_NAVIGATION // struct CrowdObstacleAvoidanceParams | File: ../Navigation/CrowdManager.h template void RegisterMembers_CrowdObstacleAvoidanceParams(asIScriptEngine* engine, const char* className) { // float CrowdObstacleAvoidanceParams::velBias engine->RegisterObjectProperty(className, "float velBias", offsetof(T, velBias)); // float CrowdObstacleAvoidanceParams::weightDesVel engine->RegisterObjectProperty(className, "float weightDesVel", offsetof(T, weightDesVel)); // float CrowdObstacleAvoidanceParams::weightCurVel engine->RegisterObjectProperty(className, "float weightCurVel", offsetof(T, weightCurVel)); // float CrowdObstacleAvoidanceParams::weightSide engine->RegisterObjectProperty(className, "float weightSide", offsetof(T, weightSide)); // float CrowdObstacleAvoidanceParams::weightToi engine->RegisterObjectProperty(className, "float weightToi", offsetof(T, weightToi)); // float CrowdObstacleAvoidanceParams::horizTime engine->RegisterObjectProperty(className, "float horizTime", offsetof(T, horizTime)); // u8 CrowdObstacleAvoidanceParams::gridSize engine->RegisterObjectProperty(className, "uint8 gridSize", offsetof(T, gridSize)); // u8 CrowdObstacleAvoidanceParams::adaptiveDivs engine->RegisterObjectProperty(className, "uint8 adaptiveDivs", offsetof(T, adaptiveDivs)); // u8 CrowdObstacleAvoidanceParams::adaptiveRings engine->RegisterObjectProperty(className, "uint8 adaptiveRings", offsetof(T, adaptiveRings)); // u8 CrowdObstacleAvoidanceParams::adaptiveDepth engine->RegisterObjectProperty(className, "uint8 adaptiveDepth", offsetof(T, adaptiveDepth)); #ifdef REGISTER_MEMBERS_MANUAL_PART_CrowdObstacleAvoidanceParams REGISTER_MEMBERS_MANUAL_PART_CrowdObstacleAvoidanceParams(); #endif } // struct NavAreaStub | File: ../Navigation/NavBuildData.h template void RegisterMembers_NavAreaStub(asIScriptEngine* engine, const char* className) { // BoundingBox NavAreaStub::bounds_ engine->RegisterObjectProperty(className, "BoundingBox bounds", offsetof(T, bounds_)); // unsigned char NavAreaStub::areaID_ engine->RegisterObjectProperty(className, "uint8 areaID", offsetof(T, areaID_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NavAreaStub REGISTER_MEMBERS_MANUAL_PART_NavAreaStub(); #endif } // struct NavBuildData | File: ../Navigation/NavBuildData.h template void RegisterMembers_NavBuildData(asIScriptEngine* engine, const char* className) { // Vector NavBuildData::vertices_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::indices_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::offMeshVertices_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::offMeshRadii_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::offMeshFlags_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::offMeshAreas_ // Error: type "Vector" can not automatically bind // Vector NavBuildData::offMeshDir_ // Error: type "Vector" can not automatically bind // rcContext* NavBuildData::ctx_ // Not registered because pointer // rcHeightfield* NavBuildData::heightField_ // Not registered because pointer // rcCompactHeightfield* NavBuildData::compactHeightField_ // Not registered because pointer // Vector NavBuildData::navAreas_ // Error: type "Vector" can not automatically bind // BoundingBox NavBuildData::worldBoundingBox_ engine->RegisterObjectProperty(className, "BoundingBox worldBoundingBox", offsetof(T, worldBoundingBox_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NavBuildData REGISTER_MEMBERS_MANUAL_PART_NavBuildData(); #endif } // struct NavigationGeometryInfo | File: ../Navigation/NavigationMesh.h template void RegisterMembers_NavigationGeometryInfo(asIScriptEngine* engine, const char* className) { // Component* NavigationGeometryInfo::component_ // Not registered because pointer // i32 NavigationGeometryInfo::lodLevel_ engine->RegisterObjectProperty(className, "int lodLevel", offsetof(T, lodLevel_)); // Matrix3x4 NavigationGeometryInfo::transform_ engine->RegisterObjectProperty(className, "Matrix3x4 transform", offsetof(T, transform_)); // BoundingBox NavigationGeometryInfo::boundingBox_ engine->RegisterObjectProperty(className, "BoundingBox boundingBox", offsetof(T, boundingBox_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NavigationGeometryInfo REGISTER_MEMBERS_MANUAL_PART_NavigationGeometryInfo(); #endif } // struct NavigationPathPoint | File: ../Navigation/NavigationMesh.h template void RegisterMembers_NavigationPathPoint(asIScriptEngine* engine, const char* className) { // Vector3 NavigationPathPoint::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // NavigationPathPointFlag NavigationPathPoint::flag_ engine->RegisterObjectProperty(className, "NavigationPathPointFlag flag", offsetof(T, flag_)); // unsigned char NavigationPathPoint::areaID_ engine->RegisterObjectProperty(className, "uint8 areaID", offsetof(T, areaID_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NavigationPathPoint REGISTER_MEMBERS_MANUAL_PART_NavigationPathPoint(); #endif } #endif // def URHO3D_NAVIGATION #ifdef URHO3D_NETWORK // struct PackageDownload | File: ../Network/Connection.h template void RegisterMembers_PackageDownload(asIScriptEngine* engine, const char* className) { // SharedPtr PackageDownload::file_ // Error: type "SharedPtr" can not automatically bind // HashSet PackageDownload::receivedFragments_ // Error: type "HashSet" can not automatically bind // String PackageDownload::name_ engine->RegisterObjectProperty(className, "String name", offsetof(T, name_)); // unsigned PackageDownload::totalFragments_ engine->RegisterObjectProperty(className, "uint totalFragments", offsetof(T, totalFragments_)); // hash32 PackageDownload::checksum_ engine->RegisterObjectProperty(className, "hash32 checksum", offsetof(T, checksum_)); // bool PackageDownload::initiated_ engine->RegisterObjectProperty(className, "bool initiated", offsetof(T, initiated_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PackageDownload REGISTER_MEMBERS_MANUAL_PART_PackageDownload(); #endif } // struct PackageUpload | File: ../Network/Connection.h template void RegisterMembers_PackageUpload(asIScriptEngine* engine, const char* className) { // SharedPtr PackageUpload::file_ // Error: type "SharedPtr" can not automatically bind // unsigned PackageUpload::fragment_ engine->RegisterObjectProperty(className, "uint fragment", offsetof(T, fragment_)); // unsigned PackageUpload::totalFragments_ engine->RegisterObjectProperty(className, "uint totalFragments", offsetof(T, totalFragments_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PackageUpload REGISTER_MEMBERS_MANUAL_PART_PackageUpload(); #endif } // struct RemoteEvent | File: ../Network/Connection.h template void RegisterMembers_RemoteEvent(asIScriptEngine* engine, const char* className) { // unsigned RemoteEvent::senderID_ engine->RegisterObjectProperty(className, "uint senderID", offsetof(T, senderID_)); // StringHash RemoteEvent::eventType_ engine->RegisterObjectProperty(className, "StringHash eventType", offsetof(T, eventType_)); // VariantMap RemoteEvent::eventData_ engine->RegisterObjectProperty(className, "VariantMap eventData", offsetof(T, eventData_)); // bool RemoteEvent::inOrder_ engine->RegisterObjectProperty(className, "bool inOrder", offsetof(T, inOrder_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_RemoteEvent REGISTER_MEMBERS_MANUAL_PART_RemoteEvent(); #endif } #endif // def URHO3D_NETWORK #ifdef URHO3D_PHYSICS // struct DelayedWorldTransform | File: ../Physics/PhysicsWorld.h template void RegisterMembers_DelayedWorldTransform(asIScriptEngine* engine, const char* className) { // RigidBody* DelayedWorldTransform::rigidBody_ // Not registered because pointer // RigidBody* DelayedWorldTransform::parentRigidBody_ // Not registered because pointer // Vector3 DelayedWorldTransform::worldPosition_ engine->RegisterObjectProperty(className, "Vector3 worldPosition", offsetof(T, worldPosition_)); // Quaternion DelayedWorldTransform::worldRotation_ engine->RegisterObjectProperty(className, "Quaternion worldRotation", offsetof(T, worldRotation_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DelayedWorldTransform REGISTER_MEMBERS_MANUAL_PART_DelayedWorldTransform(); #endif } // struct ManifoldPair | File: ../Physics/PhysicsWorld.h template void RegisterMembers_ManifoldPair(asIScriptEngine* engine, const char* className) { // btPersistentManifold* ManifoldPair::manifold_ // Not registered because pointer // btPersistentManifold* ManifoldPair::flippedManifold_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_ManifoldPair REGISTER_MEMBERS_MANUAL_PART_ManifoldPair(); #endif } // struct PhysicsRaycastResult | File: ../Physics/PhysicsWorld.h template void RegisterMembers_PhysicsRaycastResult(asIScriptEngine* engine, const char* className) { // bool PhysicsRaycastResult::operator !=(const PhysicsRaycastResult& rhs) const // Only operator == is needed // RigidBody* PhysicsRaycastResult::body_ // Not registered because pointer // Vector3 PhysicsRaycastResult::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // Vector3 PhysicsRaycastResult::normal_ engine->RegisterObjectProperty(className, "Vector3 normal", offsetof(T, normal_)); // float PhysicsRaycastResult::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); // float PhysicsRaycastResult::hitFraction_ engine->RegisterObjectProperty(className, "float hitFraction", offsetof(T, hitFraction_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PhysicsRaycastResult REGISTER_MEMBERS_MANUAL_PART_PhysicsRaycastResult(); #endif } // struct PhysicsWorldConfig | File: ../Physics/PhysicsWorld.h template void RegisterMembers_PhysicsWorldConfig(asIScriptEngine* engine, const char* className) { // btCollisionConfiguration* PhysicsWorldConfig::collisionConfig_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_PhysicsWorldConfig REGISTER_MEMBERS_MANUAL_PART_PhysicsWorldConfig(); #endif } #endif // def URHO3D_PHYSICS #ifdef URHO3D_PHYSICS2D // struct DelayedWorldTransform2D | File: ../Physics2D/PhysicsWorld2D.h template void RegisterMembers_DelayedWorldTransform2D(asIScriptEngine* engine, const char* className) { // RigidBody2D* DelayedWorldTransform2D::rigidBody_ // Not registered because pointer // RigidBody2D* DelayedWorldTransform2D::parentRigidBody_ // Not registered because pointer // Vector3 DelayedWorldTransform2D::worldPosition_ engine->RegisterObjectProperty(className, "Vector3 worldPosition", offsetof(T, worldPosition_)); // Quaternion DelayedWorldTransform2D::worldRotation_ engine->RegisterObjectProperty(className, "Quaternion worldRotation", offsetof(T, worldRotation_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_DelayedWorldTransform2D REGISTER_MEMBERS_MANUAL_PART_DelayedWorldTransform2D(); #endif } // struct PhysicsRaycastResult2D | File: ../Physics2D/PhysicsWorld2D.h template void RegisterMembers_PhysicsRaycastResult2D(asIScriptEngine* engine, const char* className) { // bool PhysicsRaycastResult2D::operator !=(const PhysicsRaycastResult2D& rhs) const // Only operator == is needed // RigidBody2D* PhysicsRaycastResult2D::body_ // Not registered because pointer // Vector2 PhysicsRaycastResult2D::position_ engine->RegisterObjectProperty(className, "Vector2 position", offsetof(T, position_)); // Vector2 PhysicsRaycastResult2D::normal_ engine->RegisterObjectProperty(className, "Vector2 normal", offsetof(T, normal_)); // float PhysicsRaycastResult2D::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PhysicsRaycastResult2D REGISTER_MEMBERS_MANUAL_PART_PhysicsRaycastResult2D(); #endif } #endif // def URHO3D_PHYSICS2D #ifdef URHO3D_URHO2D // struct Particle2D | File: ../Urho2D/ParticleEmitter2D.h template void RegisterMembers_Particle2D(asIScriptEngine* engine, const char* className) { // float Particle2D::timeToLive_ engine->RegisterObjectProperty(className, "float timeToLive", offsetof(T, timeToLive_)); // Vector3 Particle2D::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // float Particle2D::size_ engine->RegisterObjectProperty(className, "float size", offsetof(T, size_)); // float Particle2D::sizeDelta_ engine->RegisterObjectProperty(className, "float sizeDelta", offsetof(T, sizeDelta_)); // float Particle2D::rotation_ engine->RegisterObjectProperty(className, "float rotation", offsetof(T, rotation_)); // float Particle2D::rotationDelta_ engine->RegisterObjectProperty(className, "float rotationDelta", offsetof(T, rotationDelta_)); // Color Particle2D::color_ engine->RegisterObjectProperty(className, "Color color", offsetof(T, color_)); // Color Particle2D::colorDelta_ engine->RegisterObjectProperty(className, "Color colorDelta", offsetof(T, colorDelta_)); // Vector2 Particle2D::startPos_ engine->RegisterObjectProperty(className, "Vector2 startPos", offsetof(T, startPos_)); // Vector2 Particle2D::velocity_ engine->RegisterObjectProperty(className, "Vector2 velocity", offsetof(T, velocity_)); // float Particle2D::radialAcceleration_ engine->RegisterObjectProperty(className, "float radialAcceleration", offsetof(T, radialAcceleration_)); // float Particle2D::tangentialAcceleration_ engine->RegisterObjectProperty(className, "float tangentialAcceleration", offsetof(T, tangentialAcceleration_)); // float Particle2D::emitRadius_ engine->RegisterObjectProperty(className, "float emitRadius", offsetof(T, emitRadius_)); // float Particle2D::emitRadiusDelta_ engine->RegisterObjectProperty(className, "float emitRadiusDelta", offsetof(T, emitRadiusDelta_)); // float Particle2D::emitRotation_ engine->RegisterObjectProperty(className, "float emitRotation", offsetof(T, emitRotation_)); // float Particle2D::emitRotationDelta_ engine->RegisterObjectProperty(className, "float emitRotationDelta", offsetof(T, emitRotationDelta_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Particle2D REGISTER_MEMBERS_MANUAL_PART_Particle2D(); #endif } // struct SourceBatch2D | File: ../Urho2D/Drawable2D.h template void RegisterMembers_SourceBatch2D(asIScriptEngine* engine, const char* className) { // WeakPtr SourceBatch2D::owner_ // Error: type "WeakPtr" can not automatically bind // SharedPtr SourceBatch2D::material_ // Error: type "SharedPtr" can not automatically bind // Vector SourceBatch2D::vertices_ // Error: type "Vector" can not automatically bind // float SourceBatch2D::distance_ engine->RegisterObjectProperty(className, "float distance", offsetof(T, distance_)); // int SourceBatch2D::drawOrder_ engine->RegisterObjectProperty(className, "int drawOrder", offsetof(T, drawOrder_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_SourceBatch2D REGISTER_MEMBERS_MANUAL_PART_SourceBatch2D(); #endif } // struct TileMapInfo2D | File: ../Urho2D/TileMapDefs2D.h template void RegisterMembers_TileMapInfo2D(asIScriptEngine* engine, const char* className) { // Vector2 TileMapInfo2D::ConvertPosition(const Vector2& position) const engine->RegisterObjectMethod(className, "Vector2 ConvertPosition(const Vector2&in) const", AS_METHODPR(T, ConvertPosition, (const Vector2&) const, Vector2), AS_CALL_THISCALL); // float TileMapInfo2D::GetMapHeight() const engine->RegisterObjectMethod(className, "float GetMapHeight() const", AS_METHODPR(T, GetMapHeight, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_mapHeight() const", AS_METHODPR(T, GetMapHeight, () const, float), AS_CALL_THISCALL); // float TileMapInfo2D::GetMapWidth() const engine->RegisterObjectMethod(className, "float GetMapWidth() const", AS_METHODPR(T, GetMapWidth, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_mapWidth() const", AS_METHODPR(T, GetMapWidth, () const, float), AS_CALL_THISCALL); // bool TileMapInfo2D::PositionToTileIndex(int& x, int& y, const Vector2& position) const engine->RegisterObjectMethod(className, "bool PositionToTileIndex(int&, int&, const Vector2&in) const", AS_METHODPR(T, PositionToTileIndex, (int&, int&, const Vector2&) const, bool), AS_CALL_THISCALL); // Vector2 TileMapInfo2D::TileIndexToPosition(int x, int y) const engine->RegisterObjectMethod(className, "Vector2 TileIndexToPosition(int, int) const", AS_METHODPR(T, TileIndexToPosition, (int, int) const, Vector2), AS_CALL_THISCALL); // Orientation2D TileMapInfo2D::orientation_ engine->RegisterObjectProperty(className, "Orientation2D orientation", offsetof(T, orientation_)); // int TileMapInfo2D::width_ engine->RegisterObjectProperty(className, "int width", offsetof(T, width_)); // int TileMapInfo2D::height_ engine->RegisterObjectProperty(className, "int height", offsetof(T, height_)); // float TileMapInfo2D::tileWidth_ engine->RegisterObjectProperty(className, "float tileWidth", offsetof(T, tileWidth_)); // float TileMapInfo2D::tileHeight_ engine->RegisterObjectProperty(className, "float tileHeight", offsetof(T, tileHeight_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_TileMapInfo2D REGISTER_MEMBERS_MANUAL_PART_TileMapInfo2D(); #endif } // struct Vertex2D | File: ../Urho2D/Drawable2D.h template void RegisterMembers_Vertex2D(asIScriptEngine* engine, const char* className) { // Vector3 Vertex2D::position_ engine->RegisterObjectProperty(className, "Vector3 position", offsetof(T, position_)); // unsigned Vertex2D::color_ engine->RegisterObjectProperty(className, "uint color", offsetof(T, color_)); // Vector2 Vertex2D::uv_ engine->RegisterObjectProperty(className, "Vector2 uv", offsetof(T, uv_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_Vertex2D REGISTER_MEMBERS_MANUAL_PART_Vertex2D(); #endif } // struct ViewBatchInfo2D | File: ../Urho2D/Renderer2D.h template void RegisterMembers_ViewBatchInfo2D(asIScriptEngine* engine, const char* className) { // SharedPtr ViewBatchInfo2D::vertexBuffer_ // Error: type "SharedPtr" can not automatically bind // Vector ViewBatchInfo2D::sourceBatches_ // Error: type "Vector" can not automatically bind // Vector ViewBatchInfo2D::distances_ // Error: type "Vector" can not automatically bind // Vector> ViewBatchInfo2D::materials_ // Error: type "Vector>" can not automatically bind // Vector> ViewBatchInfo2D::geometries_ // Error: type "Vector>" can not automatically bind // i32 ViewBatchInfo2D::vertexBufferUpdateFrameNumber_ engine->RegisterObjectProperty(className, "int vertexBufferUpdateFrameNumber", offsetof(T, vertexBufferUpdateFrameNumber_)); // unsigned ViewBatchInfo2D::indexCount_ engine->RegisterObjectProperty(className, "uint indexCount", offsetof(T, indexCount_)); // unsigned ViewBatchInfo2D::vertexCount_ engine->RegisterObjectProperty(className, "uint vertexCount", offsetof(T, vertexCount_)); // i32 ViewBatchInfo2D::batchUpdatedFrameNumber_ engine->RegisterObjectProperty(className, "int batchUpdatedFrameNumber", offsetof(T, batchUpdatedFrameNumber_)); // unsigned ViewBatchInfo2D::batchCount_ engine->RegisterObjectProperty(className, "uint batchCount", offsetof(T, batchCount_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ViewBatchInfo2D REGISTER_MEMBERS_MANUAL_PART_ViewBatchInfo2D(); #endif } #endif // def URHO3D_URHO2D // class AbstractFile | File: ../IO/AbstractFile.h template void RegisterMembers_AbstractFile(asIScriptEngine* engine, const char* className) { RegisterMembers_Deserializer(engine, className); RegisterMembers_Serializer(engine, className); // virtual void AbstractFile::SetName(const String& name) engine->RegisterObjectMethod(className, "void SetName(const String&in)", AS_METHODPR(T, SetName, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_name(const String&in)", AS_METHODPR(T, SetName, (const String&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_AbstractFile REGISTER_MEMBERS_MANUAL_PART_AbstractFile(); #endif } // class AllContentOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_AllContentOctreeQuery(asIScriptEngine* engine, const char* className) { RegisterMembers_OctreeQuery(engine, className); #ifdef REGISTER_MEMBERS_MANUAL_PART_AllContentOctreeQuery REGISTER_MEMBERS_MANUAL_PART_AllContentOctreeQuery(); #endif } // class AnimationState | File: ../Graphics/AnimationState.h template void RegisterMembers_AnimationState(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // void AnimationState::AddTime(float delta) engine->RegisterObjectMethod(className, "void AddTime(float)", AS_METHODPR(T, AddTime, (float), void), AS_CALL_THISCALL); // void AnimationState::AddWeight(float delta) engine->RegisterObjectMethod(className, "void AddWeight(float)", AS_METHODPR(T, AddWeight, (float), void), AS_CALL_THISCALL); // void AnimationState::Apply() engine->RegisterObjectMethod(className, "void Apply()", AS_METHODPR(T, Apply, (), void), AS_CALL_THISCALL); // Animation* AnimationState::GetAnimation() const engine->RegisterObjectMethod(className, "Animation@+ GetAnimation() const", AS_METHODPR(T, GetAnimation, () const, Animation*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Animation@+ get_animation() const", AS_METHODPR(T, GetAnimation, () const, Animation*), AS_CALL_THISCALL); // AnimationBlendMode AnimationState::GetBlendMode() const engine->RegisterObjectMethod(className, "AnimationBlendMode GetBlendMode() const", AS_METHODPR(T, GetBlendMode, () const, AnimationBlendMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "AnimationBlendMode get_blendMode() const", AS_METHODPR(T, GetBlendMode, () const, AnimationBlendMode), AS_CALL_THISCALL); // float AnimationState::GetBoneWeight(i32 index) const engine->RegisterObjectMethod(className, "float GetBoneWeight(int) const", AS_METHODPR(T, GetBoneWeight, (i32) const, float), AS_CALL_THISCALL); // float AnimationState::GetBoneWeight(const String& name) const engine->RegisterObjectMethod(className, "float GetBoneWeight(const String&in) const", AS_METHODPR(T, GetBoneWeight, (const String&) const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_boneWeights(const String&in) const", AS_METHODPR(T, GetBoneWeight, (const String&) const, float), AS_CALL_THISCALL); // float AnimationState::GetBoneWeight(StringHash nameHash) const engine->RegisterObjectMethod(className, "float GetBoneWeight(StringHash) const", AS_METHODPR(T, GetBoneWeight, (StringHash) const, float), AS_CALL_THISCALL); // unsigned char AnimationState::GetLayer() const engine->RegisterObjectMethod(className, "uint8 GetLayer() const", AS_METHODPR(T, GetLayer, () const, unsigned char), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint8 get_layer() const", AS_METHODPR(T, GetLayer, () const, unsigned char), AS_CALL_THISCALL); // float AnimationState::GetLength() const engine->RegisterObjectMethod(className, "float GetLength() const", AS_METHODPR(T, GetLength, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_length() const", AS_METHODPR(T, GetLength, () const, float), AS_CALL_THISCALL); // AnimatedModel* AnimationState::GetModel() const engine->RegisterObjectMethod(className, "AnimatedModel@+ GetModel() const", AS_METHODPR(T, GetModel, () const, AnimatedModel*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "AnimatedModel@+ get_model() const", AS_METHODPR(T, GetModel, () const, AnimatedModel*), AS_CALL_THISCALL); // Node* AnimationState::GetNode() const engine->RegisterObjectMethod(className, "Node@+ GetNode() const", AS_METHODPR(T, GetNode, () const, Node*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Node@+ get_node() const", AS_METHODPR(T, GetNode, () const, Node*), AS_CALL_THISCALL); // Bone* AnimationState::GetStartBone() const engine->RegisterObjectMethod(className, "Bone@ GetStartBone() const", AS_METHODPR(T, GetStartBone, () const, Bone*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Bone@ get_startBone() const", AS_METHODPR(T, GetStartBone, () const, Bone*), AS_CALL_THISCALL); // float AnimationState::GetTime() const engine->RegisterObjectMethod(className, "float GetTime() const", AS_METHODPR(T, GetTime, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_time() const", AS_METHODPR(T, GetTime, () const, float), AS_CALL_THISCALL); // i32 AnimationState::GetTrackIndex(Node* node) const engine->RegisterObjectMethod(className, "int GetTrackIndex(Node@+) const", AS_METHODPR(T, GetTrackIndex, (Node*) const, i32), AS_CALL_THISCALL); // i32 AnimationState::GetTrackIndex(const String& name) const engine->RegisterObjectMethod(className, "int GetTrackIndex(const String&in) const", AS_METHODPR(T, GetTrackIndex, (const String&) const, i32), AS_CALL_THISCALL); // i32 AnimationState::GetTrackIndex(StringHash nameHash) const engine->RegisterObjectMethod(className, "int GetTrackIndex(StringHash) const", AS_METHODPR(T, GetTrackIndex, (StringHash) const, i32), AS_CALL_THISCALL); // float AnimationState::GetWeight() const engine->RegisterObjectMethod(className, "float GetWeight() const", AS_METHODPR(T, GetWeight, () const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_weight() const", AS_METHODPR(T, GetWeight, () const, float), AS_CALL_THISCALL); // bool AnimationState::IsEnabled() const engine->RegisterObjectMethod(className, "bool IsEnabled() const", AS_METHODPR(T, IsEnabled, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_enabled() const", AS_METHODPR(T, IsEnabled, () const, bool), AS_CALL_THISCALL); // bool AnimationState::IsLooped() const engine->RegisterObjectMethod(className, "bool IsLooped() const", AS_METHODPR(T, IsLooped, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_looped() const", AS_METHODPR(T, IsLooped, () const, bool), AS_CALL_THISCALL); // void AnimationState::SetBlendMode(AnimationBlendMode mode) engine->RegisterObjectMethod(className, "void SetBlendMode(AnimationBlendMode)", AS_METHODPR(T, SetBlendMode, (AnimationBlendMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_blendMode(AnimationBlendMode)", AS_METHODPR(T, SetBlendMode, (AnimationBlendMode), void), AS_CALL_THISCALL); // void AnimationState::SetBoneWeight(i32 index, float weight, bool recursive = false) engine->RegisterObjectMethod(className, "void SetBoneWeight(int, float, bool = false)", AS_METHODPR(T, SetBoneWeight, (i32, float, bool), void), AS_CALL_THISCALL); // void AnimationState::SetBoneWeight(const String& name, float weight, bool recursive = false) engine->RegisterObjectMethod(className, "void SetBoneWeight(const String&in, float, bool = false)", AS_METHODPR(T, SetBoneWeight, (const String&, float, bool), void), AS_CALL_THISCALL); // void AnimationState::SetBoneWeight(StringHash nameHash, float weight, bool recursive = false) engine->RegisterObjectMethod(className, "void SetBoneWeight(StringHash, float, bool = false)", AS_METHODPR(T, SetBoneWeight, (StringHash, float, bool), void), AS_CALL_THISCALL); // void AnimationState::SetLayer(unsigned char layer) engine->RegisterObjectMethod(className, "void SetLayer(uint8)", AS_METHODPR(T, SetLayer, (unsigned char), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_layer(uint8)", AS_METHODPR(T, SetLayer, (unsigned char), void), AS_CALL_THISCALL); // void AnimationState::SetLooped(bool looped) engine->RegisterObjectMethod(className, "void SetLooped(bool)", AS_METHODPR(T, SetLooped, (bool), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_looped(bool)", AS_METHODPR(T, SetLooped, (bool), void), AS_CALL_THISCALL); // void AnimationState::SetStartBone(Bone* startBone) engine->RegisterObjectMethod(className, "void SetStartBone(Bone@)", AS_METHODPR(T, SetStartBone, (Bone*), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_startBone(Bone@)", AS_METHODPR(T, SetStartBone, (Bone*), void), AS_CALL_THISCALL); // void AnimationState::SetTime(float time) engine->RegisterObjectMethod(className, "void SetTime(float)", AS_METHODPR(T, SetTime, (float), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_time(float)", AS_METHODPR(T, SetTime, (float), void), AS_CALL_THISCALL); // void AnimationState::SetWeight(float weight) engine->RegisterObjectMethod(className, "void SetWeight(float)", AS_METHODPR(T, SetWeight, (float), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_weight(float)", AS_METHODPR(T, SetWeight, (float), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_AnimationState REGISTER_MEMBERS_MANUAL_PART_AnimationState(); #endif } // class AttributeAccessor | File: ../Core/Attribute.h template void RegisterMembers_AttributeAccessor(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // virtual void AttributeAccessor::Get(const Serializable* ptr, Variant& dest) const = 0 engine->RegisterObjectMethod(className, "void Get(Serializable@+, Variant&) const", AS_METHODPR(T, Get, (const Serializable*, Variant&) const, void), AS_CALL_THISCALL); // virtual void AttributeAccessor::Set(Serializable* ptr, const Variant& src) = 0 engine->RegisterObjectMethod(className, "void Set(Serializable@+, const Variant&in)", AS_METHODPR(T, Set, (Serializable*, const Variant&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_AttributeAccessor REGISTER_MEMBERS_MANUAL_PART_AttributeAccessor(); #endif } // class BackgroundLoader | File: ../Resource/BackgroundLoader.h template void RegisterMembers_BackgroundLoader(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); RegisterMembers_Thread(engine, className); // void BackgroundLoader::FinishResources(int maxMs) engine->RegisterObjectMethod(className, "void FinishResources(int)", AS_METHODPR(T, FinishResources, (int), void), AS_CALL_THISCALL); // unsigned BackgroundLoader::GetNumQueuedResources() const engine->RegisterObjectMethod(className, "uint GetNumQueuedResources() const", AS_METHODPR(T, GetNumQueuedResources, () const, unsigned), AS_CALL_THISCALL); // bool BackgroundLoader::QueueResource(StringHash type, const String& name, bool sendEventOnFailure, Resource* caller) engine->RegisterObjectMethod(className, "bool QueueResource(StringHash, const String&in, bool, Resource@+)", AS_METHODPR(T, QueueResource, (StringHash, const String&, bool, Resource*), bool), AS_CALL_THISCALL); // void BackgroundLoader::WaitForResource(StringHash type, StringHash nameHash) engine->RegisterObjectMethod(className, "void WaitForResource(StringHash, StringHash)", AS_METHODPR(T, WaitForResource, (StringHash, StringHash), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_BackgroundLoader REGISTER_MEMBERS_MANUAL_PART_BackgroundLoader(); #endif } // struct BatchGroup | File: ../Graphics/Batch.h template void RegisterMembers_BatchGroup(asIScriptEngine* engine, const char* className) { RegisterMembers_Batch(engine, className); // void BatchGroup::SetInstancingData(void* lockedData, i32 stride, i32& freeIndex) // Error: type "void*" can not automatically bind // void BatchGroup::AddTransforms(const Batch& batch) engine->RegisterObjectMethod(className, "void AddTransforms(const Batch&in)", AS_METHODPR(T, AddTransforms, (const Batch&), void), AS_CALL_THISCALL); // Vector BatchGroup::instances_ // Error: type "Vector" can not automatically bind // i32 BatchGroup::startIndex_ engine->RegisterObjectProperty(className, "int startIndex", offsetof(T, startIndex_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BatchGroup REGISTER_MEMBERS_MANUAL_PART_BatchGroup(); #endif } // class BoxOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_BoxOctreeQuery(asIScriptEngine* engine, const char* className) { RegisterMembers_OctreeQuery(engine, className); // BoundingBox BoxOctreeQuery::box_ engine->RegisterObjectProperty(className, "BoundingBox box", offsetof(T, box_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_BoxOctreeQuery REGISTER_MEMBERS_MANUAL_PART_BoxOctreeQuery(); #endif } // struct ComponentReplicationState | File: ../Scene/ReplicationState.h template void RegisterMembers_ComponentReplicationState(asIScriptEngine* engine, const char* className) { RegisterMembers_ReplicationState(engine, className); // NodeReplicationState* ComponentReplicationState::nodeState_ // Not registered because pointer // WeakPtr ComponentReplicationState::component_ // Error: type "WeakPtr" can not automatically bind // DirtyBits ComponentReplicationState::dirtyAttributes_ engine->RegisterObjectProperty(className, "DirtyBits dirtyAttributes", offsetof(T, dirtyAttributes_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_ComponentReplicationState REGISTER_MEMBERS_MANUAL_PART_ComponentReplicationState(); #endif } // SharedPtr Context::CreateObject(StringHash objectType) template Object* Context_SharedPtrlesObjectgre_CreateObject_StringHash_template(T* _ptr, StringHash objectType) { SharedPtr result = _ptr->CreateObject(objectType); return result.Detach(); } // class Context | File: ../Core/Context.h template void RegisterMembers_Context(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // const HashMap>& Context::GetAllAttributes() const // Error: type "const HashMap>&" can not automatically bind // AttributeInfo* Context::GetAttribute(StringHash objectType, const char* name) // Error: type "const char*" can not automatically bind // const Vector* Context::GetAttributes(StringHash type) const // Error: type "const Vector*" can not automatically bind // EventHandler* Context::GetEventHandler() const // Error: type "EventHandler" can not bind bacause abstract value // const Vector* Context::GetNetworkAttributes(StringHash type) const // Error: type "const Vector*" can not automatically bind // const HashMap>& Context::GetObjectCategories() const // Error: type "const HashMap>&" can not automatically bind // const HashMap>& Context::GetObjectFactories() const // Error: type "const HashMap>&" can not automatically bind // const HashMap>& Context::GetSubsystems() const // Error: type "const HashMap>&" can not automatically bind // AttributeHandle Context::RegisterAttribute(StringHash objectType, const AttributeInfo& attr) // Error: type "AttributeHandle" can not automatically bind bacause have @nobind mark // void Context::RegisterFactory(ObjectFactory* factory, const char* category) // Error: type "const char*" can not automatically bind // void Context::RemoveAttribute(StringHash objectType, const char* name) // Error: type "const char*" can not automatically bind // void Context::UpdateAttributeDefaultValue(StringHash objectType, const char* name, const Variant& defaultValue) // Error: type "const char*" can not automatically bind // void Context::CopyBaseAttributes(StringHash baseType, StringHash derivedType) engine->RegisterObjectMethod(className, "void CopyBaseAttributes(StringHash, StringHash)", AS_METHODPR(T, CopyBaseAttributes, (StringHash, StringHash), void), AS_CALL_THISCALL); // SharedPtr Context::CreateObject(StringHash objectType) engine->RegisterObjectMethod(className, "Object@+ CreateObject(StringHash)", AS_FUNCTION_OBJFIRST(Context_SharedPtrlesObjectgre_CreateObject_StringHash_template), AS_CALL_CDECL_OBJFIRST); // VariantMap& Context::GetEventDataMap() engine->RegisterObjectMethod(className, "VariantMap& GetEventDataMap()", AS_METHODPR(T, GetEventDataMap, (), VariantMap&), AS_CALL_THISCALL); // EventReceiverGroup* Context::GetEventReceivers(Object* sender, StringHash eventType) engine->RegisterObjectMethod(className, "EventReceiverGroup@+ GetEventReceivers(Object@+, StringHash)", AS_METHODPR(T, GetEventReceivers, (Object*, StringHash), EventReceiverGroup*), AS_CALL_THISCALL); // EventReceiverGroup* Context::GetEventReceivers(StringHash eventType) engine->RegisterObjectMethod(className, "EventReceiverGroup@+ GetEventReceivers(StringHash)", AS_METHODPR(T, GetEventReceivers, (StringHash), EventReceiverGroup*), AS_CALL_THISCALL); // Object* Context::GetEventSender() const engine->RegisterObjectMethod(className, "Object@+ GetEventSender() const", AS_METHODPR(T, GetEventSender, () const, Object*), AS_CALL_THISCALL); // const Variant& Context::GetGlobalVar(StringHash key) const engine->RegisterObjectMethod(className, "const Variant& GetGlobalVar(StringHash) const", AS_METHODPR(T, GetGlobalVar, (StringHash) const, const Variant&), AS_CALL_THISCALL); // const VariantMap& Context::GetGlobalVars() const engine->RegisterObjectMethod(className, "const VariantMap& GetGlobalVars() const", AS_METHODPR(T, GetGlobalVars, () const, const VariantMap&), AS_CALL_THISCALL); // Object* Context::GetSubsystem(StringHash type) const engine->RegisterObjectMethod(className, "Object@+ GetSubsystem(StringHash) const", AS_METHODPR(T, GetSubsystem, (StringHash) const, Object*), AS_CALL_THISCALL); // const String& Context::GetTypeName(StringHash objectType) const engine->RegisterObjectMethod(className, "const String& GetTypeName(StringHash) const", AS_METHODPR(T, GetTypeName, (StringHash) const, const String&), AS_CALL_THISCALL); // void Context::RegisterFactory(ObjectFactory* factory) engine->RegisterObjectMethod(className, "void RegisterFactory(ObjectFactory@+)", AS_METHODPR(T, RegisterFactory, (ObjectFactory*), void), AS_CALL_THISCALL); // void Context::RegisterSubsystem(Object* object) engine->RegisterObjectMethod(className, "void RegisterSubsystem(Object@+)", AS_METHODPR(T, RegisterSubsystem, (Object*), void), AS_CALL_THISCALL); // void Context::ReleaseSDL() engine->RegisterObjectMethod(className, "void ReleaseSDL()", AS_METHODPR(T, ReleaseSDL, (), void), AS_CALL_THISCALL); // void Context::RemoveAllAttributes(StringHash objectType) engine->RegisterObjectMethod(className, "void RemoveAllAttributes(StringHash)", AS_METHODPR(T, RemoveAllAttributes, (StringHash), void), AS_CALL_THISCALL); // void Context::RemoveSubsystem(StringHash objectType) engine->RegisterObjectMethod(className, "void RemoveSubsystem(StringHash)", AS_METHODPR(T, RemoveSubsystem, (StringHash), void), AS_CALL_THISCALL); // bool Context::RequireSDL(unsigned int sdlFlags) engine->RegisterObjectMethod(className, "bool RequireSDL(uint)", AS_METHODPR(T, RequireSDL, (unsigned int), bool), AS_CALL_THISCALL); // void Context::SetGlobalVar(StringHash key, const Variant& value) engine->RegisterObjectMethod(className, "void SetGlobalVar(StringHash, const Variant&in)", AS_METHODPR(T, SetGlobalVar, (StringHash, const Variant&), void), AS_CALL_THISCALL); // template void Context::CopyBaseAttributes() // Not registered because template // template SharedPtr Context::CreateObject() // Not registered because template // template AttributeInfo* Context::GetAttribute(const char* name) // Not registered because template // template T* Context::GetSubsystem() const // Not registered because template // template AttributeHandle Context::RegisterAttribute(const AttributeInfo& attr) // Not registered because template // template void Context::RegisterFactory() // Not registered because template // template void Context::RegisterFactory(const char* category) // Not registered because template // template T* Context::RegisterSubsystem() // Not registered because template // template void Context::RemoveAllAttributes() // Not registered because template // template void Context::RemoveAttribute(const char* name) // Not registered because template // template void Context::RemoveSubsystem() // Not registered because template // template void Context::UpdateAttributeDefaultValue(const char* name, const Variant& defaultValue) // Not registered because template #ifdef REGISTER_MEMBERS_MANUAL_PART_Context REGISTER_MEMBERS_MANUAL_PART_Context(); #endif } // class EventHandler | File: ../Core/Object.h template void RegisterMembers_EventHandler(asIScriptEngine* engine, const char* className) { RegisterMembers_LinkedListNode(engine, className); // virtual EventHandler* EventHandler::Clone() const = 0 // Error: type "EventHandler" can not bind bacause abstract value // void* EventHandler::GetUserData() const // Error: type "void*" can not automatically bind // const StringHash& EventHandler::GetEventType() const engine->RegisterObjectMethod(className, "const StringHash& GetEventType() const", AS_METHODPR(T, GetEventType, () const, const StringHash&), AS_CALL_THISCALL); // Object* EventHandler::GetReceiver() const engine->RegisterObjectMethod(className, "Object@+ GetReceiver() const", AS_METHODPR(T, GetReceiver, () const, Object*), AS_CALL_THISCALL); // Object* EventHandler::GetSender() const engine->RegisterObjectMethod(className, "Object@+ GetSender() const", AS_METHODPR(T, GetSender, () const, Object*), AS_CALL_THISCALL); // virtual void EventHandler::Invoke(VariantMap& eventData) = 0 engine->RegisterObjectMethod(className, "void Invoke(VariantMap&)", AS_METHODPR(T, Invoke, (VariantMap&), void), AS_CALL_THISCALL); // void EventHandler::SetSenderAndEventType(Object* sender, StringHash eventType) engine->RegisterObjectMethod(className, "void SetSenderAndEventType(Object@+, StringHash)", AS_METHODPR(T, SetSenderAndEventType, (Object*, StringHash), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_EventHandler REGISTER_MEMBERS_MANUAL_PART_EventHandler(); #endif } // class EventProfilerBlock | File: ../Core/EventProfiler.h template void RegisterMembers_EventProfilerBlock(asIScriptEngine* engine, const char* className) { RegisterMembers_ProfilerBlock(engine, className); // EventProfilerBlock* EventProfilerBlock::GetChild(StringHash eventID) // Error: type "EventProfilerBlock" can not automatically bind bacause have @nobind mark // StringHash EventProfilerBlock::eventID_ engine->RegisterObjectProperty(className, "StringHash eventID", offsetof(T, eventID_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_EventProfilerBlock REGISTER_MEMBERS_MANUAL_PART_EventProfilerBlock(); #endif } // class EventReceiverGroup | File: ../Core/Context.h template void RegisterMembers_EventReceiverGroup(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // void EventReceiverGroup::Add(Object* object) engine->RegisterObjectMethod(className, "void Add(Object@+)", AS_METHODPR(T, Add, (Object*), void), AS_CALL_THISCALL); // void EventReceiverGroup::BeginSendEvent() engine->RegisterObjectMethod(className, "void BeginSendEvent()", AS_METHODPR(T, BeginSendEvent, (), void), AS_CALL_THISCALL); // void EventReceiverGroup::EndSendEvent() engine->RegisterObjectMethod(className, "void EndSendEvent()", AS_METHODPR(T, EndSendEvent, (), void), AS_CALL_THISCALL); // void EventReceiverGroup::Remove(Object* object) engine->RegisterObjectMethod(className, "void Remove(Object@+)", AS_METHODPR(T, Remove, (Object*), void), AS_CALL_THISCALL); // Vector EventReceiverGroup::receivers_ // Error: type "Vector" can not automatically bind #ifdef REGISTER_MEMBERS_MANUAL_PART_EventReceiverGroup REGISTER_MEMBERS_MANUAL_PART_EventReceiverGroup(); #endif } // const Vector>& FontFace::GetTextures() const template CScriptArray* FontFace_constspVectorlesSharedPtrlesTexture2Dgregreamp_GetTextures_void_template(T* _ptr) { const Vector>& result = _ptr->GetTextures(); return VectorToHandleArray(result, "Array"); } // class FontFace | File: ../UI/FontFace.h template void RegisterMembers_FontFace(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // virtual const FontGlyph* FontFace::GetGlyph(c32 c) // Error: type "const FontGlyph*" can not automatically bind // virtual bool FontFace::Load(const unsigned char* fontData, unsigned fontDataSize, float pointSize) = 0 // Error: type "const unsigned char*" can not automatically bind // float FontFace::GetKerning(c32 c, c32 d) const engine->RegisterObjectMethod(className, "float GetKerning(c32, c32) const", AS_METHODPR(T, GetKerning, (c32, c32) const, float), AS_CALL_THISCALL); // float FontFace::GetPointSize() const engine->RegisterObjectMethod(className, "float GetPointSize() const", AS_METHODPR(T, GetPointSize, () const, float), AS_CALL_THISCALL); // float FontFace::GetRowHeight() const engine->RegisterObjectMethod(className, "float GetRowHeight() const", AS_METHODPR(T, GetRowHeight, () const, float), AS_CALL_THISCALL); // const Vector>& FontFace::GetTextures() const engine->RegisterObjectMethod(className, "Array@ GetTextures() const", AS_FUNCTION_OBJFIRST(FontFace_constspVectorlesSharedPtrlesTexture2Dgregreamp_GetTextures_void_template), AS_CALL_CDECL_OBJFIRST); // virtual bool FontFace::HasMutableGlyphs() const engine->RegisterObjectMethod(className, "bool HasMutableGlyphs() const", AS_METHODPR(T, HasMutableGlyphs, () const, bool), AS_CALL_THISCALL); // bool FontFace::IsDataLost() const engine->RegisterObjectMethod(className, "bool IsDataLost() const", AS_METHODPR(T, IsDataLost, () const, bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_FontFace REGISTER_MEMBERS_MANUAL_PART_FontFace(); #endif } // class FrustumOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_FrustumOctreeQuery(asIScriptEngine* engine, const char* className) { RegisterMembers_OctreeQuery(engine, className); // Frustum FrustumOctreeQuery::frustum_ engine->RegisterObjectProperty(className, "Frustum frustum", offsetof(T, frustum_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_FrustumOctreeQuery REGISTER_MEMBERS_MANUAL_PART_FrustumOctreeQuery(); #endif } // struct NodeReplicationState | File: ../Scene/ReplicationState.h template void RegisterMembers_NodeReplicationState(asIScriptEngine* engine, const char* className) { RegisterMembers_ReplicationState(engine, className); // SceneReplicationState* NodeReplicationState::sceneState_ // Not registered because pointer // WeakPtr NodeReplicationState::node_ // Error: type "WeakPtr" can not automatically bind // HashSet NodeReplicationState::dirtyVars_ // Error: type "HashSet" can not automatically bind // HashMap NodeReplicationState::componentStates_ // Error: type "HashMap" can not automatically bind // DirtyBits NodeReplicationState::dirtyAttributes_ engine->RegisterObjectProperty(className, "DirtyBits dirtyAttributes", offsetof(T, dirtyAttributes_)); // float NodeReplicationState::priorityAcc_ engine->RegisterObjectProperty(className, "float priorityAcc", offsetof(T, priorityAcc_)); // bool NodeReplicationState::markedDirty_ engine->RegisterObjectProperty(className, "bool markedDirty", offsetof(T, markedDirty_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_NodeReplicationState REGISTER_MEMBERS_MANUAL_PART_NodeReplicationState(); #endif } // void Object::UnsubscribeFromAllEventsExcept(const Vector& exceptions, bool onlyUserData) template void Object_void_UnsubscribeFromAllEventsExcept_constspVectorlesStringHashgreamp_bool_template(T* _ptr, CScriptArray* exceptions_conv, bool onlyUserData) { Vector exceptions = ArrayToVector(exceptions_conv); _ptr->UnsubscribeFromAllEventsExcept(exceptions, onlyUserData); } // class Object | File: ../Core/Object.h template void RegisterMembers_Object(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // Context* Object::GetContext() const // Error: type "Context*" can used only as function parameter // EventHandler* Object::GetEventHandler() const // Error: type "EventHandler" can not bind bacause abstract value // virtual const TypeInfo* Object::GetTypeInfo() const = 0 // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark // bool Object::IsInstanceOf(const TypeInfo* typeInfo) const // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark // void Object::SubscribeToEvent(StringHash eventType, EventHandler* handler) // Error: type "EventHandler" can not bind bacause abstract value // void Object::SubscribeToEvent(Object* sender, StringHash eventType, EventHandler* handler) // Error: type "EventHandler" can not bind bacause abstract value // void Object::SubscribeToEvent(StringHash eventType, const std::function& function, void* userData = nullptr) // Error: type "const std::function&" can not automatically bind // void Object::SubscribeToEvent(Object* sender, StringHash eventType, const std::function& function, void* userData = nullptr) // Error: type "const std::function&" can not automatically bind // bool Object::GetBlockEvents() const engine->RegisterObjectMethod(className, "bool GetBlockEvents() const", AS_METHODPR(T, GetBlockEvents, () const, bool), AS_CALL_THISCALL); // const String& Object::GetCategory() const engine->RegisterObjectMethod(className, "const String& GetCategory() const", AS_METHODPR(T, GetCategory, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_category() const", AS_METHODPR(T, GetCategory, () const, const String&), AS_CALL_THISCALL); // VariantMap& Object::GetEventDataMap() const engine->RegisterObjectMethod(className, "VariantMap& GetEventDataMap() const", AS_METHODPR(T, GetEventDataMap, () const, VariantMap&), AS_CALL_THISCALL); // Object* Object::GetEventSender() const engine->RegisterObjectMethod(className, "Object@+ GetEventSender() const", AS_METHODPR(T, GetEventSender, () const, Object*), AS_CALL_THISCALL); // const Variant& Object::GetGlobalVar(StringHash key) const engine->RegisterObjectMethod(className, "const Variant& GetGlobalVar(StringHash) const", AS_METHODPR(T, GetGlobalVar, (StringHash) const, const Variant&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const Variant& get_globalVar(StringHash) const", AS_METHODPR(T, GetGlobalVar, (StringHash) const, const Variant&), AS_CALL_THISCALL); // const VariantMap& Object::GetGlobalVars() const engine->RegisterObjectMethod(className, "const VariantMap& GetGlobalVars() const", AS_METHODPR(T, GetGlobalVars, () const, const VariantMap&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const VariantMap& get_globalVars() const", AS_METHODPR(T, GetGlobalVars, () const, const VariantMap&), AS_CALL_THISCALL); // Object* Object::GetSubsystem(StringHash type) const engine->RegisterObjectMethod(className, "Object@+ GetSubsystem(StringHash) const", AS_METHODPR(T, GetSubsystem, (StringHash) const, Object*), AS_CALL_THISCALL); // virtual StringHash Object::GetType() const = 0 engine->RegisterObjectMethod(className, "StringHash GetType() const", AS_METHODPR(T, GetType, () const, StringHash), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "StringHash get_type() const", AS_METHODPR(T, GetType, () const, StringHash), AS_CALL_THISCALL); // virtual const String& Object::GetTypeName() const = 0 engine->RegisterObjectMethod(className, "const String& GetTypeName() const", AS_METHODPR(T, GetTypeName, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_typeName() const", AS_METHODPR(T, GetTypeName, () const, const String&), AS_CALL_THISCALL); // bool Object::HasEventHandlers() const engine->RegisterObjectMethod(className, "bool HasEventHandlers() const", AS_METHODPR(T, HasEventHandlers, () const, bool), AS_CALL_THISCALL); // bool Object::HasSubscribedToEvent(StringHash eventType) const engine->RegisterObjectMethod(className, "bool HasSubscribedToEvent(StringHash) const", AS_METHODPR(T, HasSubscribedToEvent, (StringHash) const, bool), AS_CALL_THISCALL); // bool Object::HasSubscribedToEvent(Object* sender, StringHash eventType) const engine->RegisterObjectMethod(className, "bool HasSubscribedToEvent(Object@+, StringHash) const", AS_METHODPR(T, HasSubscribedToEvent, (Object*, StringHash) const, bool), AS_CALL_THISCALL); // bool Object::IsInstanceOf(StringHash type) const engine->RegisterObjectMethod(className, "bool IsInstanceOf(StringHash) const", AS_METHODPR(T, IsInstanceOf, (StringHash) const, bool), AS_CALL_THISCALL); // virtual void Object::OnEvent(Object* sender, StringHash eventType, VariantMap& eventData) engine->RegisterObjectMethod(className, "void OnEvent(Object@+, StringHash, VariantMap&)", AS_METHODPR(T, OnEvent, (Object*, StringHash, VariantMap&), void), AS_CALL_THISCALL); // void Object::SendEvent(StringHash eventType) engine->RegisterObjectMethod(className, "void SendEvent(StringHash)", AS_METHODPR(T, SendEvent, (StringHash), void), AS_CALL_THISCALL); // void Object::SendEvent(StringHash eventType, VariantMap& eventData) engine->RegisterObjectMethod(className, "void SendEvent(StringHash, VariantMap&)", AS_METHODPR(T, SendEvent, (StringHash, VariantMap&), void), AS_CALL_THISCALL); // void Object::SetBlockEvents(bool block) engine->RegisterObjectMethod(className, "void SetBlockEvents(bool)", AS_METHODPR(T, SetBlockEvents, (bool), void), AS_CALL_THISCALL); // void Object::SetGlobalVar(StringHash key, const Variant& value) engine->RegisterObjectMethod(className, "void SetGlobalVar(StringHash, const Variant&in)", AS_METHODPR(T, SetGlobalVar, (StringHash, const Variant&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_globalVar(StringHash, const Variant&in)", AS_METHODPR(T, SetGlobalVar, (StringHash, const Variant&), void), AS_CALL_THISCALL); // void Object::UnsubscribeFromAllEvents() engine->RegisterObjectMethod(className, "void UnsubscribeFromAllEvents()", AS_METHODPR(T, UnsubscribeFromAllEvents, (), void), AS_CALL_THISCALL); // void Object::UnsubscribeFromAllEventsExcept(const Vector& exceptions, bool onlyUserData) engine->RegisterObjectMethod(className, "void UnsubscribeFromAllEventsExcept(Array@+, bool)", AS_FUNCTION_OBJFIRST(Object_void_UnsubscribeFromAllEventsExcept_constspVectorlesStringHashgreamp_bool_template), AS_CALL_CDECL_OBJFIRST); // void Object::UnsubscribeFromEvent(StringHash eventType) engine->RegisterObjectMethod(className, "void UnsubscribeFromEvent(StringHash)", AS_METHODPR(T, UnsubscribeFromEvent, (StringHash), void), AS_CALL_THISCALL); // void Object::UnsubscribeFromEvent(Object* sender, StringHash eventType) engine->RegisterObjectMethod(className, "void UnsubscribeFromEvent(Object@+, StringHash)", AS_METHODPR(T, UnsubscribeFromEvent, (Object*, StringHash), void), AS_CALL_THISCALL); // void Object::UnsubscribeFromEvents(Object* sender) engine->RegisterObjectMethod(className, "void UnsubscribeFromEvents(Object@+)", AS_METHODPR(T, UnsubscribeFromEvents, (Object*), void), AS_CALL_THISCALL); // template T* Object::Cast() // Not registered because template // template const T* Object::Cast() const // Not registered because template // template T* Object::GetSubsystem() const // Not registered because template // template bool Object::IsInstanceOf() const // Not registered because template // template void Object::SendEvent(StringHash eventType, Args... args) // Not registered because template // static const TypeInfo* Object::GetTypeInfoStatic() // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark #ifdef REGISTER_MEMBERS_MANUAL_PART_Object REGISTER_MEMBERS_MANUAL_PART_Object(); #endif } // virtual SharedPtr ObjectFactory::CreateObject() = 0 template Object* ObjectFactory_SharedPtrlesObjectgre_CreateObject_void_template(T* _ptr) { SharedPtr result = _ptr->CreateObject(); return result.Detach(); } // class ObjectFactory | File: ../Core/Object.h template void RegisterMembers_ObjectFactory(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // Context* ObjectFactory::GetContext() const // Error: type "Context*" can used only as function parameter // const TypeInfo* ObjectFactory::GetTypeInfo() const // Error: type "TypeInfo" can not automatically bind bacause have @nobind mark // virtual SharedPtr ObjectFactory::CreateObject() = 0 engine->RegisterObjectMethod(className, "Object@+ CreateObject()", AS_FUNCTION_OBJFIRST(ObjectFactory_SharedPtrlesObjectgre_CreateObject_void_template), AS_CALL_CDECL_OBJFIRST); // StringHash ObjectFactory::GetType() const engine->RegisterObjectMethod(className, "StringHash GetType() const", AS_METHODPR(T, GetType, () const, StringHash), AS_CALL_THISCALL); // const String& ObjectFactory::GetTypeName() const engine->RegisterObjectMethod(className, "const String& GetTypeName() const", AS_METHODPR(T, GetTypeName, () const, const String&), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_ObjectFactory REGISTER_MEMBERS_MANUAL_PART_ObjectFactory(); #endif } // Vector>& Pass::GetPixelShaders() template CScriptArray* Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetPixelShaders_void_template(T* _ptr) { Vector>& result = _ptr->GetPixelShaders(); return VectorToHandleArray(result, "Array"); } // Vector>& Pass::GetPixelShaders(const StringHash& extraDefinesHash) template CScriptArray* Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetPixelShaders_constspStringHashamp_template(T* _ptr, const StringHash& extraDefinesHash) { Vector>& result = _ptr->GetPixelShaders(extraDefinesHash); return VectorToHandleArray(result, "Array"); } // Vector>& Pass::GetVertexShaders() template CScriptArray* Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetVertexShaders_void_template(T* _ptr) { Vector>& result = _ptr->GetVertexShaders(); return VectorToHandleArray(result, "Array"); } // Vector>& Pass::GetVertexShaders(const StringHash& extraDefinesHash) template CScriptArray* Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetVertexShaders_constspStringHashamp_template(T* _ptr, const StringHash& extraDefinesHash) { Vector>& result = _ptr->GetVertexShaders(extraDefinesHash); return VectorToHandleArray(result, "Array"); } // class Pass | File: ../Graphics/Technique.h template void RegisterMembers_Pass(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // bool Pass::GetAlphaToCoverage() const engine->RegisterObjectMethod(className, "bool GetAlphaToCoverage() const", AS_METHODPR(T, GetAlphaToCoverage, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_alphaToCoverage() const", AS_METHODPR(T, GetAlphaToCoverage, () const, bool), AS_CALL_THISCALL); // BlendMode Pass::GetBlendMode() const engine->RegisterObjectMethod(className, "BlendMode GetBlendMode() const", AS_METHODPR(T, GetBlendMode, () const, BlendMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "BlendMode get_blendMode() const", AS_METHODPR(T, GetBlendMode, () const, BlendMode), AS_CALL_THISCALL); // CullMode Pass::GetCullMode() const engine->RegisterObjectMethod(className, "CullMode GetCullMode() const", AS_METHODPR(T, GetCullMode, () const, CullMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "CullMode get_cullMode() const", AS_METHODPR(T, GetCullMode, () const, CullMode), AS_CALL_THISCALL); // CompareMode Pass::GetDepthTestMode() const engine->RegisterObjectMethod(className, "CompareMode GetDepthTestMode() const", AS_METHODPR(T, GetDepthTestMode, () const, CompareMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "CompareMode get_depthTestMode() const", AS_METHODPR(T, GetDepthTestMode, () const, CompareMode), AS_CALL_THISCALL); // bool Pass::GetDepthWrite() const engine->RegisterObjectMethod(className, "bool GetDepthWrite() const", AS_METHODPR(T, GetDepthWrite, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_depthWrite() const", AS_METHODPR(T, GetDepthWrite, () const, bool), AS_CALL_THISCALL); // String Pass::GetEffectivePixelShaderDefines() const engine->RegisterObjectMethod(className, "String GetEffectivePixelShaderDefines() const", AS_METHODPR(T, GetEffectivePixelShaderDefines, () const, String), AS_CALL_THISCALL); // String Pass::GetEffectiveVertexShaderDefines() const engine->RegisterObjectMethod(className, "String GetEffectiveVertexShaderDefines() const", AS_METHODPR(T, GetEffectiveVertexShaderDefines, () const, String), AS_CALL_THISCALL); // i32 Pass::GetIndex() const engine->RegisterObjectMethod(className, "int GetIndex() const", AS_METHODPR(T, GetIndex, () const, i32), AS_CALL_THISCALL); // PassLightingMode Pass::GetLightingMode() const engine->RegisterObjectMethod(className, "PassLightingMode GetLightingMode() const", AS_METHODPR(T, GetLightingMode, () const, PassLightingMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "PassLightingMode get_lightingMode() const", AS_METHODPR(T, GetLightingMode, () const, PassLightingMode), AS_CALL_THISCALL); // const String& Pass::GetName() const engine->RegisterObjectMethod(className, "const String& GetName() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); // const String& Pass::GetPixelShader() const engine->RegisterObjectMethod(className, "const String& GetPixelShader() const", AS_METHODPR(T, GetPixelShader, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_pixelShader() const", AS_METHODPR(T, GetPixelShader, () const, const String&), AS_CALL_THISCALL); // const String& Pass::GetPixelShaderDefineExcludes() const engine->RegisterObjectMethod(className, "const String& GetPixelShaderDefineExcludes() const", AS_METHODPR(T, GetPixelShaderDefineExcludes, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_pixelShaderDefineExcludes() const", AS_METHODPR(T, GetPixelShaderDefineExcludes, () const, const String&), AS_CALL_THISCALL); // const String& Pass::GetPixelShaderDefines() const engine->RegisterObjectMethod(className, "const String& GetPixelShaderDefines() const", AS_METHODPR(T, GetPixelShaderDefines, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_pixelShaderDefines() const", AS_METHODPR(T, GetPixelShaderDefines, () const, const String&), AS_CALL_THISCALL); // Vector>& Pass::GetPixelShaders() engine->RegisterObjectMethod(className, "Array@ GetPixelShaders()", AS_FUNCTION_OBJFIRST(Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetPixelShaders_void_template), AS_CALL_CDECL_OBJFIRST); // Vector>& Pass::GetPixelShaders(const StringHash& extraDefinesHash) engine->RegisterObjectMethod(className, "Array@ GetPixelShaders(const StringHash&in)", AS_FUNCTION_OBJFIRST(Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetPixelShaders_constspStringHashamp_template), AS_CALL_CDECL_OBJFIRST); // i32 Pass::GetShadersLoadedFrameNumber() const engine->RegisterObjectMethod(className, "int GetShadersLoadedFrameNumber() const", AS_METHODPR(T, GetShadersLoadedFrameNumber, () const, i32), AS_CALL_THISCALL); // const String& Pass::GetVertexShader() const engine->RegisterObjectMethod(className, "const String& GetVertexShader() const", AS_METHODPR(T, GetVertexShader, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_vertexShader() const", AS_METHODPR(T, GetVertexShader, () const, const String&), AS_CALL_THISCALL); // const String& Pass::GetVertexShaderDefineExcludes() const engine->RegisterObjectMethod(className, "const String& GetVertexShaderDefineExcludes() const", AS_METHODPR(T, GetVertexShaderDefineExcludes, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_vertexShaderDefineExcludes() const", AS_METHODPR(T, GetVertexShaderDefineExcludes, () const, const String&), AS_CALL_THISCALL); // const String& Pass::GetVertexShaderDefines() const engine->RegisterObjectMethod(className, "const String& GetVertexShaderDefines() const", AS_METHODPR(T, GetVertexShaderDefines, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_vertexShaderDefines() const", AS_METHODPR(T, GetVertexShaderDefines, () const, const String&), AS_CALL_THISCALL); // Vector>& Pass::GetVertexShaders() engine->RegisterObjectMethod(className, "Array@ GetVertexShaders()", AS_FUNCTION_OBJFIRST(Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetVertexShaders_void_template), AS_CALL_CDECL_OBJFIRST); // Vector>& Pass::GetVertexShaders(const StringHash& extraDefinesHash) engine->RegisterObjectMethod(className, "Array@ GetVertexShaders(const StringHash&in)", AS_FUNCTION_OBJFIRST(Pass_VectorlesSharedPtrlesShaderVariationgregreamp_GetVertexShaders_constspStringHashamp_template), AS_CALL_CDECL_OBJFIRST); // bool Pass::IsDesktop() const engine->RegisterObjectMethod(className, "bool IsDesktop() const", AS_METHODPR(T, IsDesktop, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_desktop() const", AS_METHODPR(T, IsDesktop, () const, bool), AS_CALL_THISCALL); // void Pass::MarkShadersLoaded(i32 frameNumber) engine->RegisterObjectMethod(className, "void MarkShadersLoaded(int)", AS_METHODPR(T, MarkShadersLoaded, (i32), void), AS_CALL_THISCALL); // void Pass::ReleaseShaders() engine->RegisterObjectMethod(className, "void ReleaseShaders()", AS_METHODPR(T, ReleaseShaders, (), void), AS_CALL_THISCALL); // void Pass::SetAlphaToCoverage(bool enable) engine->RegisterObjectMethod(className, "void SetAlphaToCoverage(bool)", AS_METHODPR(T, SetAlphaToCoverage, (bool), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_alphaToCoverage(bool)", AS_METHODPR(T, SetAlphaToCoverage, (bool), void), AS_CALL_THISCALL); // void Pass::SetBlendMode(BlendMode mode) engine->RegisterObjectMethod(className, "void SetBlendMode(BlendMode)", AS_METHODPR(T, SetBlendMode, (BlendMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_blendMode(BlendMode)", AS_METHODPR(T, SetBlendMode, (BlendMode), void), AS_CALL_THISCALL); // void Pass::SetCullMode(CullMode mode) engine->RegisterObjectMethod(className, "void SetCullMode(CullMode)", AS_METHODPR(T, SetCullMode, (CullMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_cullMode(CullMode)", AS_METHODPR(T, SetCullMode, (CullMode), void), AS_CALL_THISCALL); // void Pass::SetDepthTestMode(CompareMode mode) engine->RegisterObjectMethod(className, "void SetDepthTestMode(CompareMode)", AS_METHODPR(T, SetDepthTestMode, (CompareMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_depthTestMode(CompareMode)", AS_METHODPR(T, SetDepthTestMode, (CompareMode), void), AS_CALL_THISCALL); // void Pass::SetDepthWrite(bool enable) engine->RegisterObjectMethod(className, "void SetDepthWrite(bool)", AS_METHODPR(T, SetDepthWrite, (bool), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_depthWrite(bool)", AS_METHODPR(T, SetDepthWrite, (bool), void), AS_CALL_THISCALL); // void Pass::SetIsDesktop(bool enable) engine->RegisterObjectMethod(className, "void SetIsDesktop(bool)", AS_METHODPR(T, SetIsDesktop, (bool), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_desktop(bool)", AS_METHODPR(T, SetIsDesktop, (bool), void), AS_CALL_THISCALL); // void Pass::SetLightingMode(PassLightingMode mode) engine->RegisterObjectMethod(className, "void SetLightingMode(PassLightingMode)", AS_METHODPR(T, SetLightingMode, (PassLightingMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_lightingMode(PassLightingMode)", AS_METHODPR(T, SetLightingMode, (PassLightingMode), void), AS_CALL_THISCALL); // void Pass::SetPixelShader(const String& name) engine->RegisterObjectMethod(className, "void SetPixelShader(const String&in)", AS_METHODPR(T, SetPixelShader, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_pixelShader(const String&in)", AS_METHODPR(T, SetPixelShader, (const String&), void), AS_CALL_THISCALL); // void Pass::SetPixelShaderDefineExcludes(const String& excludes) engine->RegisterObjectMethod(className, "void SetPixelShaderDefineExcludes(const String&in)", AS_METHODPR(T, SetPixelShaderDefineExcludes, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_pixelShaderDefineExcludes(const String&in)", AS_METHODPR(T, SetPixelShaderDefineExcludes, (const String&), void), AS_CALL_THISCALL); // void Pass::SetPixelShaderDefines(const String& defines) engine->RegisterObjectMethod(className, "void SetPixelShaderDefines(const String&in)", AS_METHODPR(T, SetPixelShaderDefines, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_pixelShaderDefines(const String&in)", AS_METHODPR(T, SetPixelShaderDefines, (const String&), void), AS_CALL_THISCALL); // void Pass::SetVertexShader(const String& name) engine->RegisterObjectMethod(className, "void SetVertexShader(const String&in)", AS_METHODPR(T, SetVertexShader, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_vertexShader(const String&in)", AS_METHODPR(T, SetVertexShader, (const String&), void), AS_CALL_THISCALL); // void Pass::SetVertexShaderDefineExcludes(const String& excludes) engine->RegisterObjectMethod(className, "void SetVertexShaderDefineExcludes(const String&in)", AS_METHODPR(T, SetVertexShaderDefineExcludes, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_vertexShaderDefineExcludes(const String&in)", AS_METHODPR(T, SetVertexShaderDefineExcludes, (const String&), void), AS_CALL_THISCALL); // void Pass::SetVertexShaderDefines(const String& defines) engine->RegisterObjectMethod(className, "void SetVertexShaderDefines(const String&in)", AS_METHODPR(T, SetVertexShaderDefines, (const String&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_vertexShaderDefines(const String&in)", AS_METHODPR(T, SetVertexShaderDefines, (const String&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Pass REGISTER_MEMBERS_MANUAL_PART_Pass(); #endif } // class PointOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_PointOctreeQuery(asIScriptEngine* engine, const char* className) { RegisterMembers_OctreeQuery(engine, className); // Vector3 PointOctreeQuery::point_ engine->RegisterObjectProperty(className, "Vector3 point", offsetof(T, point_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_PointOctreeQuery REGISTER_MEMBERS_MANUAL_PART_PointOctreeQuery(); #endif } // SharedPtr RenderPath::Clone() template RenderPath* RenderPath_SharedPtrlesRenderPathgre_Clone_void_template(T* _ptr) { SharedPtr result = _ptr->Clone(); return result.Detach(); } // class RenderPath | File: ../Graphics/RenderPath.h template void RegisterMembers_RenderPath(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // RenderPathCommand* RenderPath::GetCommand(i32 index) // Error: type "RenderPathCommand*" can not automatically bind // void RenderPath::AddCommand(const RenderPathCommand& command) engine->RegisterObjectMethod(className, "void AddCommand(const RenderPathCommand&in)", AS_METHODPR(T, AddCommand, (const RenderPathCommand&), void), AS_CALL_THISCALL); // void RenderPath::AddRenderTarget(const RenderTargetInfo& info) engine->RegisterObjectMethod(className, "void AddRenderTarget(const RenderTargetInfo&in)", AS_METHODPR(T, AddRenderTarget, (const RenderTargetInfo&), void), AS_CALL_THISCALL); // bool RenderPath::Append(XMLFile* file) engine->RegisterObjectMethod(className, "bool Append(XMLFile@+)", AS_METHODPR(T, Append, (XMLFile*), bool), AS_CALL_THISCALL); // SharedPtr RenderPath::Clone() engine->RegisterObjectMethod(className, "RenderPath@+ Clone()", AS_FUNCTION_OBJFIRST(RenderPath_SharedPtrlesRenderPathgre_Clone_void_template), AS_CALL_CDECL_OBJFIRST); // i32 RenderPath::GetNumCommands() const engine->RegisterObjectMethod(className, "int GetNumCommands() const", AS_METHODPR(T, GetNumCommands, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numCommands() const", AS_METHODPR(T, GetNumCommands, () const, i32), AS_CALL_THISCALL); // i32 RenderPath::GetNumRenderTargets() const engine->RegisterObjectMethod(className, "int GetNumRenderTargets() const", AS_METHODPR(T, GetNumRenderTargets, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_numRenderTargets() const", AS_METHODPR(T, GetNumRenderTargets, () const, i32), AS_CALL_THISCALL); // const Variant& RenderPath::GetShaderParameter(const String& name) const engine->RegisterObjectMethod(className, "const Variant& GetShaderParameter(const String&in) const", AS_METHODPR(T, GetShaderParameter, (const String&) const, const Variant&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const Variant& get_shaderParameters(const String&in) const", AS_METHODPR(T, GetShaderParameter, (const String&) const, const Variant&), AS_CALL_THISCALL); // void RenderPath::InsertCommand(unsigned index, const RenderPathCommand& command) engine->RegisterObjectMethod(className, "void InsertCommand(uint, const RenderPathCommand&in)", AS_METHODPR(T, InsertCommand, (unsigned, const RenderPathCommand&), void), AS_CALL_THISCALL); // bool RenderPath::IsAdded(const String& tag) const engine->RegisterObjectMethod(className, "bool IsAdded(const String&in) const", AS_METHODPR(T, IsAdded, (const String&) const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_added(const String&in) const", AS_METHODPR(T, IsAdded, (const String&) const, bool), AS_CALL_THISCALL); // bool RenderPath::IsEnabled(const String& tag) const engine->RegisterObjectMethod(className, "bool IsEnabled(const String&in) const", AS_METHODPR(T, IsEnabled, (const String&) const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_enabled(const String&in) const", AS_METHODPR(T, IsEnabled, (const String&) const, bool), AS_CALL_THISCALL); // bool RenderPath::Load(XMLFile* file) engine->RegisterObjectMethod(className, "bool Load(XMLFile@+)", AS_METHODPR(T, Load, (XMLFile*), bool), AS_CALL_THISCALL); // void RenderPath::RemoveCommand(unsigned index) engine->RegisterObjectMethod(className, "void RemoveCommand(uint)", AS_METHODPR(T, RemoveCommand, (unsigned), void), AS_CALL_THISCALL); // void RenderPath::RemoveCommands(const String& tag) engine->RegisterObjectMethod(className, "void RemoveCommands(const String&in)", AS_METHODPR(T, RemoveCommands, (const String&), void), AS_CALL_THISCALL); // void RenderPath::RemoveRenderTarget(unsigned index) engine->RegisterObjectMethod(className, "void RemoveRenderTarget(uint)", AS_METHODPR(T, RemoveRenderTarget, (unsigned), void), AS_CALL_THISCALL); // void RenderPath::RemoveRenderTarget(const String& name) engine->RegisterObjectMethod(className, "void RemoveRenderTarget(const String&in)", AS_METHODPR(T, RemoveRenderTarget, (const String&), void), AS_CALL_THISCALL); // void RenderPath::RemoveRenderTargets(const String& tag) engine->RegisterObjectMethod(className, "void RemoveRenderTargets(const String&in)", AS_METHODPR(T, RemoveRenderTargets, (const String&), void), AS_CALL_THISCALL); // void RenderPath::SetCommand(unsigned index, const RenderPathCommand& command) engine->RegisterObjectMethod(className, "void SetCommand(uint, const RenderPathCommand&in)", AS_METHODPR(T, SetCommand, (unsigned, const RenderPathCommand&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_commands(uint, const RenderPathCommand&in)", AS_METHODPR(T, SetCommand, (unsigned, const RenderPathCommand&), void), AS_CALL_THISCALL); // void RenderPath::SetEnabled(const String& tag, bool active) engine->RegisterObjectMethod(className, "void SetEnabled(const String&in, bool)", AS_METHODPR(T, SetEnabled, (const String&, bool), void), AS_CALL_THISCALL); // void RenderPath::SetRenderTarget(unsigned index, const RenderTargetInfo& info) engine->RegisterObjectMethod(className, "void SetRenderTarget(uint, const RenderTargetInfo&in)", AS_METHODPR(T, SetRenderTarget, (unsigned, const RenderTargetInfo&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_renderTargets(uint, const RenderTargetInfo&in)", AS_METHODPR(T, SetRenderTarget, (unsigned, const RenderTargetInfo&), void), AS_CALL_THISCALL); // void RenderPath::SetShaderParameter(const String& name, const Variant& value) engine->RegisterObjectMethod(className, "void SetShaderParameter(const String&in, const Variant&in)", AS_METHODPR(T, SetShaderParameter, (const String&, const Variant&), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_shaderParameters(const String&in, const Variant&in)", AS_METHODPR(T, SetShaderParameter, (const String&, const Variant&), void), AS_CALL_THISCALL); // void RenderPath::ToggleEnabled(const String& tag) engine->RegisterObjectMethod(className, "void ToggleEnabled(const String&in)", AS_METHODPR(T, ToggleEnabled, (const String&), void), AS_CALL_THISCALL); // Vector RenderPath::renderTargets_ // Error: type "Vector" can not automatically bind // Vector RenderPath::commands_ // Error: type "Vector" can not automatically bind #ifdef REGISTER_MEMBERS_MANUAL_PART_RenderPath REGISTER_MEMBERS_MANUAL_PART_RenderPath(); #endif } // class RenderSurface | File: ../GraphicsAPI/RenderSurface.h template void RegisterMembers_RenderSurface(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // void* RenderSurface::GetReadOnlyView() const // Error: type "void*" can not automatically bind // void* RenderSurface::GetRenderTargetView() const // Error: type "void*" can not automatically bind // void* RenderSurface::GetSurface() const // Error: type "void*" can not automatically bind // bool RenderSurface::CreateRenderBuffer(unsigned width, unsigned height, unsigned format, int multiSample) engine->RegisterObjectMethod(className, "bool CreateRenderBuffer(uint, uint, uint, int)", AS_METHODPR(T, CreateRenderBuffer, (unsigned, unsigned, unsigned, int), bool), AS_CALL_THISCALL); // bool RenderSurface::GetAutoResolve() const engine->RegisterObjectMethod(className, "bool GetAutoResolve() const", AS_METHODPR(T, GetAutoResolve, () const, bool), AS_CALL_THISCALL); // int RenderSurface::GetHeight() const engine->RegisterObjectMethod(className, "int GetHeight() const", AS_METHODPR(T, GetHeight, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_height() const", AS_METHODPR(T, GetHeight, () const, int), AS_CALL_THISCALL); // RenderSurface* RenderSurface::GetLinkedDepthStencil() const engine->RegisterObjectMethod(className, "RenderSurface@+ GetLinkedDepthStencil() const", AS_METHODPR(T, GetLinkedDepthStencil, () const, RenderSurface*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "RenderSurface@+ get_linkedDepthStencil() const", AS_METHODPR(T, GetLinkedDepthStencil, () const, RenderSurface*), AS_CALL_THISCALL); // RenderSurface* RenderSurface::GetLinkedRenderTarget() const engine->RegisterObjectMethod(className, "RenderSurface@+ GetLinkedRenderTarget() const", AS_METHODPR(T, GetLinkedRenderTarget, () const, RenderSurface*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "RenderSurface@+ get_linkedRenderTarget() const", AS_METHODPR(T, GetLinkedRenderTarget, () const, RenderSurface*), AS_CALL_THISCALL); // int RenderSurface::GetMultiSample() const engine->RegisterObjectMethod(className, "int GetMultiSample() const", AS_METHODPR(T, GetMultiSample, () const, int), AS_CALL_THISCALL); // unsigned RenderSurface::GetNumViewports() const engine->RegisterObjectMethod(className, "uint GetNumViewports() const", AS_METHODPR(T, GetNumViewports, () const, unsigned), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_numViewports() const", AS_METHODPR(T, GetNumViewports, () const, unsigned), AS_CALL_THISCALL); // Texture* RenderSurface::GetParentTexture() const engine->RegisterObjectMethod(className, "Texture@+ GetParentTexture() const", AS_METHODPR(T, GetParentTexture, () const, Texture*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Texture@+ get_parentTexture() const", AS_METHODPR(T, GetParentTexture, () const, Texture*), AS_CALL_THISCALL); // unsigned RenderSurface::GetRenderBuffer() const engine->RegisterObjectMethod(className, "uint GetRenderBuffer() const", AS_METHODPR(T, GetRenderBuffer, () const, unsigned), AS_CALL_THISCALL); // unsigned RenderSurface::GetTarget() const engine->RegisterObjectMethod(className, "uint GetTarget() const", AS_METHODPR(T, GetTarget, () const, unsigned), AS_CALL_THISCALL); // RenderSurfaceUpdateMode RenderSurface::GetUpdateMode() const engine->RegisterObjectMethod(className, "RenderSurfaceUpdateMode GetUpdateMode() const", AS_METHODPR(T, GetUpdateMode, () const, RenderSurfaceUpdateMode), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "RenderSurfaceUpdateMode get_updateMode() const", AS_METHODPR(T, GetUpdateMode, () const, RenderSurfaceUpdateMode), AS_CALL_THISCALL); // TextureUsage RenderSurface::GetUsage() const engine->RegisterObjectMethod(className, "TextureUsage GetUsage() const", AS_METHODPR(T, GetUsage, () const, TextureUsage), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "TextureUsage get_usage() const", AS_METHODPR(T, GetUsage, () const, TextureUsage), AS_CALL_THISCALL); // Viewport* RenderSurface::GetViewport(unsigned index) const engine->RegisterObjectMethod(className, "Viewport@+ GetViewport(uint) const", AS_METHODPR(T, GetViewport, (unsigned) const, Viewport*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Viewport@+ get_viewports(uint) const", AS_METHODPR(T, GetViewport, (unsigned) const, Viewport*), AS_CALL_THISCALL); // int RenderSurface::GetWidth() const engine->RegisterObjectMethod(className, "int GetWidth() const", AS_METHODPR(T, GetWidth, () const, int), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_width() const", AS_METHODPR(T, GetWidth, () const, int), AS_CALL_THISCALL); // bool RenderSurface::IsResolveDirty() const engine->RegisterObjectMethod(className, "bool IsResolveDirty() const", AS_METHODPR(T, IsResolveDirty, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_resolveDirty() const", AS_METHODPR(T, IsResolveDirty, () const, bool), AS_CALL_THISCALL); // bool RenderSurface::IsUpdateQueued() const engine->RegisterObjectMethod(className, "bool IsUpdateQueued() const", AS_METHODPR(T, IsUpdateQueued, () const, bool), AS_CALL_THISCALL); // void RenderSurface::OnDeviceLost() engine->RegisterObjectMethod(className, "void OnDeviceLost()", AS_METHODPR(T, OnDeviceLost, (), void), AS_CALL_THISCALL); // void RenderSurface::QueueUpdate() engine->RegisterObjectMethod(className, "void QueueUpdate()", AS_METHODPR(T, QueueUpdate, (), void), AS_CALL_THISCALL); // void RenderSurface::Release() engine->RegisterObjectMethod(className, "void Release()", AS_METHODPR(T, Release, (), void), AS_CALL_THISCALL); // void RenderSurface::ResetUpdateQueued() engine->RegisterObjectMethod(className, "void ResetUpdateQueued()", AS_METHODPR(T, ResetUpdateQueued, (), void), AS_CALL_THISCALL); // void RenderSurface::SetLinkedDepthStencil(RenderSurface* depthStencil) engine->RegisterObjectMethod(className, "void SetLinkedDepthStencil(RenderSurface@+)", AS_METHODPR(T, SetLinkedDepthStencil, (RenderSurface*), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_linkedDepthStencil(RenderSurface@+)", AS_METHODPR(T, SetLinkedDepthStencil, (RenderSurface*), void), AS_CALL_THISCALL); // void RenderSurface::SetLinkedRenderTarget(RenderSurface* renderTarget) engine->RegisterObjectMethod(className, "void SetLinkedRenderTarget(RenderSurface@+)", AS_METHODPR(T, SetLinkedRenderTarget, (RenderSurface*), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_linkedRenderTarget(RenderSurface@+)", AS_METHODPR(T, SetLinkedRenderTarget, (RenderSurface*), void), AS_CALL_THISCALL); // void RenderSurface::SetNumViewports(unsigned num) engine->RegisterObjectMethod(className, "void SetNumViewports(uint)", AS_METHODPR(T, SetNumViewports, (unsigned), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_numViewports(uint)", AS_METHODPR(T, SetNumViewports, (unsigned), void), AS_CALL_THISCALL); // void RenderSurface::SetResolveDirty(bool enable) engine->RegisterObjectMethod(className, "void SetResolveDirty(bool)", AS_METHODPR(T, SetResolveDirty, (bool), void), AS_CALL_THISCALL); // void RenderSurface::SetUpdateMode(RenderSurfaceUpdateMode mode) engine->RegisterObjectMethod(className, "void SetUpdateMode(RenderSurfaceUpdateMode)", AS_METHODPR(T, SetUpdateMode, (RenderSurfaceUpdateMode), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_updateMode(RenderSurfaceUpdateMode)", AS_METHODPR(T, SetUpdateMode, (RenderSurfaceUpdateMode), void), AS_CALL_THISCALL); // void RenderSurface::SetViewport(unsigned index, Viewport* viewport) engine->RegisterObjectMethod(className, "void SetViewport(uint, Viewport@+)", AS_METHODPR(T, SetViewport, (unsigned, Viewport*), void), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "void set_viewports(uint, Viewport@+)", AS_METHODPR(T, SetViewport, (unsigned, Viewport*), void), AS_CALL_THISCALL); // void* RenderSurface::surface_ // Not registered because have @nobind mark // void* RenderSurface::renderTargetView_ // Not registered because have @nobind mark // unsigned RenderSurface::renderBuffer_ // Not registered because have @nobind mark // void* RenderSurface::readOnlyView_ // Not registered because have @nobind mark // unsigned RenderSurface::target_ // Not registered because have @nobind mark #ifdef REGISTER_MEMBERS_MANUAL_PART_RenderSurface REGISTER_MEMBERS_MANUAL_PART_RenderSurface(); #endif } // struct SceneReplicationState | File: ../Scene/ReplicationState.h template void RegisterMembers_SceneReplicationState(asIScriptEngine* engine, const char* className) { RegisterMembers_ReplicationState(engine, className); // void SceneReplicationState::Clear() engine->RegisterObjectMethod(className, "void Clear()", AS_METHODPR(T, Clear, (), void), AS_CALL_THISCALL); // HashMap SceneReplicationState::nodeStates_ // Error: type "HashMap" can not automatically bind // HashSet SceneReplicationState::dirtyNodes_ // Error: type "HashSet" can not automatically bind #ifdef REGISTER_MEMBERS_MANUAL_PART_SceneReplicationState REGISTER_MEMBERS_MANUAL_PART_SceneReplicationState(); #endif } // const Vector& ShaderVariation::GetByteCode() const template CScriptArray* ShaderVariation_constspVectorlesunsignedspchargreamp_GetByteCode_void_template(T* _ptr) { const Vector& result = _ptr->GetByteCode(); return VectorToArray(result, "Array"); } // class ShaderVariation | File: ../GraphicsAPI/ShaderVariation.h template void RegisterMembers_ShaderVariation(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); RegisterMembers_GPUObject(engine, className); // const unsigned* ShaderVariation::GetConstantBufferSizes() const // Error: type "const unsigned*" can not automatically bind // const HashMap& ShaderVariation::GetParameters() const // Error: type "const HashMap&" can not automatically bind // bool ShaderVariation::Create() engine->RegisterObjectMethod(className, "bool Create()", AS_METHODPR(T, Create, (), bool), AS_CALL_THISCALL); // const Vector& ShaderVariation::GetByteCode() const engine->RegisterObjectMethod(className, "Array@ GetByteCode() const", AS_FUNCTION_OBJFIRST(ShaderVariation_constspVectorlesunsignedspchargreamp_GetByteCode_void_template), AS_CALL_CDECL_OBJFIRST); // const String& ShaderVariation::GetCompilerOutput() const engine->RegisterObjectMethod(className, "const String& GetCompilerOutput() const", AS_METHODPR(T, GetCompilerOutput, () const, const String&), AS_CALL_THISCALL); // const String& ShaderVariation::GetDefines() const engine->RegisterObjectMethod(className, "const String& GetDefines() const", AS_METHODPR(T, GetDefines, () const, const String&), AS_CALL_THISCALL); // const String& ShaderVariation::GetDefinesClipPlane() engine->RegisterObjectMethod(className, "const String& GetDefinesClipPlane()", AS_METHODPR(T, GetDefinesClipPlane, (), const String&), AS_CALL_THISCALL); // hash64 ShaderVariation::GetElementHash() const engine->RegisterObjectMethod(className, "hash64 GetElementHash() const", AS_METHODPR(T, GetElementHash, () const, hash64), AS_CALL_THISCALL); // String ShaderVariation::GetFullName() const engine->RegisterObjectMethod(className, "String GetFullName() const", AS_METHODPR(T, GetFullName, () const, String), AS_CALL_THISCALL); // const String& ShaderVariation::GetName() const engine->RegisterObjectMethod(className, "const String& GetName() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); // Shader* ShaderVariation::GetOwner() const engine->RegisterObjectMethod(className, "Shader@+ GetOwner() const", AS_METHODPR(T, GetOwner, () const, Shader*), AS_CALL_THISCALL); // ShaderType ShaderVariation::GetShaderType() const engine->RegisterObjectMethod(className, "ShaderType GetShaderType() const", AS_METHODPR(T, GetShaderType, () const, ShaderType), AS_CALL_THISCALL); // bool ShaderVariation::HasParameter(StringHash param) const engine->RegisterObjectMethod(className, "bool HasParameter(StringHash) const", AS_METHODPR(T, HasParameter, (StringHash) const, bool), AS_CALL_THISCALL); // bool ShaderVariation::HasTextureUnit(TextureUnit unit) const engine->RegisterObjectMethod(className, "bool HasTextureUnit(TextureUnit) const", AS_METHODPR(T, HasTextureUnit, (TextureUnit) const, bool), AS_CALL_THISCALL); // void ShaderVariation::SetDefines(const String& defines) engine->RegisterObjectMethod(className, "void SetDefines(const String&in)", AS_METHODPR(T, SetDefines, (const String&), void), AS_CALL_THISCALL); // void ShaderVariation::SetName(const String& name) engine->RegisterObjectMethod(className, "void SetName(const String&in)", AS_METHODPR(T, SetName, (const String&), void), AS_CALL_THISCALL); // static const char* ShaderVariation::elementSemanticNames_OGL[] // Error: type "const char*" can not automatically bind // static const char* ShaderVariation::elementSemanticNames_D3D11[] // Error: type "const char*" can not automatically bind #ifdef REGISTER_MEMBERS_MANUAL_PART_ShaderVariation REGISTER_MEMBERS_MANUAL_PART_ShaderVariation(); #endif } // class SoundStream | File: ../Audio/SoundStream.h template void RegisterMembers_SoundStream(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // virtual unsigned SoundStream::GetData(signed char* dest, unsigned numBytes) = 0 // Error: type "signed char*" can not automatically bind // float SoundStream::GetFrequency() const engine->RegisterObjectMethod(className, "float GetFrequency() const", AS_METHODPR(T, GetFrequency, () const, float), AS_CALL_THISCALL); // unsigned SoundStream::GetIntFrequency() const engine->RegisterObjectMethod(className, "uint GetIntFrequency() const", AS_METHODPR(T, GetIntFrequency, () const, unsigned), AS_CALL_THISCALL); // unsigned SoundStream::GetSampleSize() const engine->RegisterObjectMethod(className, "uint GetSampleSize() const", AS_METHODPR(T, GetSampleSize, () const, unsigned), AS_CALL_THISCALL); // bool SoundStream::GetStopAtEnd() const engine->RegisterObjectMethod(className, "bool GetStopAtEnd() const", AS_METHODPR(T, GetStopAtEnd, () const, bool), AS_CALL_THISCALL); // bool SoundStream::IsSixteenBit() const engine->RegisterObjectMethod(className, "bool IsSixteenBit() const", AS_METHODPR(T, IsSixteenBit, () const, bool), AS_CALL_THISCALL); // bool SoundStream::IsStereo() const engine->RegisterObjectMethod(className, "bool IsStereo() const", AS_METHODPR(T, IsStereo, () const, bool), AS_CALL_THISCALL); // virtual bool SoundStream::Seek(unsigned sample_number) engine->RegisterObjectMethod(className, "bool Seek(uint)", AS_METHODPR(T, Seek, (unsigned), bool), AS_CALL_THISCALL); // void SoundStream::SetFormat(unsigned frequency, bool sixteenBit, bool stereo) engine->RegisterObjectMethod(className, "void SetFormat(uint, bool, bool)", AS_METHODPR(T, SetFormat, (unsigned, bool, bool), void), AS_CALL_THISCALL); // void SoundStream::SetStopAtEnd(bool enable) engine->RegisterObjectMethod(className, "void SetStopAtEnd(bool)", AS_METHODPR(T, SetStopAtEnd, (bool), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_SoundStream REGISTER_MEMBERS_MANUAL_PART_SoundStream(); #endif } // class SphereOctreeQuery | File: ../Graphics/OctreeQuery.h template void RegisterMembers_SphereOctreeQuery(asIScriptEngine* engine, const char* className) { RegisterMembers_OctreeQuery(engine, className); // Sphere SphereOctreeQuery::sphere_ engine->RegisterObjectProperty(className, "Sphere sphere", offsetof(T, sphere_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_SphereOctreeQuery REGISTER_MEMBERS_MANUAL_PART_SphereOctreeQuery(); #endif } // class ValueAnimationInfo | File: ../Scene/ValueAnimationInfo.h template void RegisterMembers_ValueAnimationInfo(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // ValueAnimation* ValueAnimationInfo::GetAnimation() const engine->RegisterObjectMethod(className, "ValueAnimation@+ GetAnimation() const", AS_METHODPR(T, GetAnimation, () const, ValueAnimation*), AS_CALL_THISCALL); // float ValueAnimationInfo::GetSpeed() const engine->RegisterObjectMethod(className, "float GetSpeed() const", AS_METHODPR(T, GetSpeed, () const, float), AS_CALL_THISCALL); // Object* ValueAnimationInfo::GetTarget() const engine->RegisterObjectMethod(className, "Object@+ GetTarget() const", AS_METHODPR(T, GetTarget, () const, Object*), AS_CALL_THISCALL); // float ValueAnimationInfo::GetTime() const engine->RegisterObjectMethod(className, "float GetTime() const", AS_METHODPR(T, GetTime, () const, float), AS_CALL_THISCALL); // WrapMode ValueAnimationInfo::GetWrapMode() const engine->RegisterObjectMethod(className, "WrapMode GetWrapMode() const", AS_METHODPR(T, GetWrapMode, () const, WrapMode), AS_CALL_THISCALL); // void ValueAnimationInfo::SetSpeed(float speed) engine->RegisterObjectMethod(className, "void SetSpeed(float)", AS_METHODPR(T, SetSpeed, (float), void), AS_CALL_THISCALL); // bool ValueAnimationInfo::SetTime(float time) engine->RegisterObjectMethod(className, "bool SetTime(float)", AS_METHODPR(T, SetTime, (float), bool), AS_CALL_THISCALL); // void ValueAnimationInfo::SetWrapMode(WrapMode wrapMode) engine->RegisterObjectMethod(className, "void SetWrapMode(WrapMode)", AS_METHODPR(T, SetWrapMode, (WrapMode), void), AS_CALL_THISCALL); // bool ValueAnimationInfo::Update(float timeStep) engine->RegisterObjectMethod(className, "bool Update(float)", AS_METHODPR(T, Update, (float), bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_ValueAnimationInfo REGISTER_MEMBERS_MANUAL_PART_ValueAnimationInfo(); #endif } // struct WorkItem | File: ../Core/WorkQueue.h template void RegisterMembers_WorkItem(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // void(* WorkItem::workFunction_) (const WorkItem* , i32) // Not registered because pointer // void* WorkItem::start_ // Not registered because pointer // void* WorkItem::end_ // Not registered because pointer // void* WorkItem::aux_ // Not registered because pointer // std::atomic WorkItem::completed_ // Error: type "std::atomic" can not automatically bind // i32 WorkItem::priority_ engine->RegisterObjectProperty(className, "int priority", offsetof(T, priority_)); // bool WorkItem::sendEvent_ engine->RegisterObjectProperty(className, "bool sendEvent", offsetof(T, sendEvent_)); #ifdef REGISTER_MEMBERS_MANUAL_PART_WorkItem REGISTER_MEMBERS_MANUAL_PART_WorkItem(); #endif } #ifdef URHO3D_NAVIGATION // struct DynamicNavBuildData | File: ../Navigation/NavBuildData.h template void RegisterMembers_DynamicNavBuildData(asIScriptEngine* engine, const char* className) { RegisterMembers_NavBuildData(engine, className); // dtTileCacheContourSet* DynamicNavBuildData::contourSet_ // Not registered because pointer // dtTileCachePolyMesh* DynamicNavBuildData::polyMesh_ // Not registered because pointer // rcHeightfieldLayerSet* DynamicNavBuildData::heightFieldLayers_ // Not registered because pointer // dtTileCacheAlloc* DynamicNavBuildData::alloc_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_DynamicNavBuildData REGISTER_MEMBERS_MANUAL_PART_DynamicNavBuildData(); #endif } // struct SimpleNavBuildData | File: ../Navigation/NavBuildData.h template void RegisterMembers_SimpleNavBuildData(asIScriptEngine* engine, const char* className) { RegisterMembers_NavBuildData(engine, className); // rcContourSet* SimpleNavBuildData::contourSet_ // Not registered because pointer // rcPolyMesh* SimpleNavBuildData::polyMesh_ // Not registered because pointer // rcPolyMeshDetail* SimpleNavBuildData::polyMeshDetail_ // Not registered because pointer #ifdef REGISTER_MEMBERS_MANUAL_PART_SimpleNavBuildData REGISTER_MEMBERS_MANUAL_PART_SimpleNavBuildData(); #endif } #endif // def URHO3D_NAVIGATION #ifdef URHO3D_NETWORK // class HttpRequest | File: ../Network/HttpRequest.h template void RegisterMembers_HttpRequest(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); RegisterMembers_Deserializer(engine, className); RegisterMembers_Thread(engine, className); // i32 HttpRequest::GetAvailableSize() const engine->RegisterObjectMethod(className, "int GetAvailableSize() const", AS_METHODPR(T, GetAvailableSize, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_availableSize() const", AS_METHODPR(T, GetAvailableSize, () const, i32), AS_CALL_THISCALL); // String HttpRequest::GetError() const engine->RegisterObjectMethod(className, "String GetError() const", AS_METHODPR(T, GetError, () const, String), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "String get_error() const", AS_METHODPR(T, GetError, () const, String), AS_CALL_THISCALL); // HttpRequestState HttpRequest::GetState() const engine->RegisterObjectMethod(className, "HttpRequestState GetState() const", AS_METHODPR(T, GetState, () const, HttpRequestState), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "HttpRequestState get_state() const", AS_METHODPR(T, GetState, () const, HttpRequestState), AS_CALL_THISCALL); // const String& HttpRequest::GetURL() const engine->RegisterObjectMethod(className, "const String& GetURL() const", AS_METHODPR(T, GetURL, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_url() const", AS_METHODPR(T, GetURL, () const, const String&), AS_CALL_THISCALL); // const String& HttpRequest::GetVerb() const engine->RegisterObjectMethod(className, "const String& GetVerb() const", AS_METHODPR(T, GetVerb, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_verb() const", AS_METHODPR(T, GetVerb, () const, const String&), AS_CALL_THISCALL); // bool HttpRequest::IsOpen() const engine->RegisterObjectMethod(className, "bool IsOpen() const", AS_METHODPR(T, IsOpen, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_open() const", AS_METHODPR(T, IsOpen, () const, bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_HttpRequest REGISTER_MEMBERS_MANUAL_PART_HttpRequest(); #endif } #endif // def URHO3D_NETWORK #ifdef URHO3D_PHYSICS // struct CollisionGeometryData | File: ../Physics/CollisionShape.h template void RegisterMembers_CollisionGeometryData(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); #ifdef REGISTER_MEMBERS_MANUAL_PART_CollisionGeometryData REGISTER_MEMBERS_MANUAL_PART_CollisionGeometryData(); #endif } #endif // def URHO3D_PHYSICS #ifdef URHO3D_URHO2D // class PropertySet2D | File: ../Urho2D/TileMapDefs2D.h template void RegisterMembers_PropertySet2D(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // const String& PropertySet2D::GetProperty(const String& name) const engine->RegisterObjectMethod(className, "const String& GetProperty(const String&in) const", AS_METHODPR(T, GetProperty, (const String&) const, const String&), AS_CALL_THISCALL); // bool PropertySet2D::HasProperty(const String& name) const engine->RegisterObjectMethod(className, "bool HasProperty(const String&in) const", AS_METHODPR(T, HasProperty, (const String&) const, bool), AS_CALL_THISCALL); // void PropertySet2D::Load(const XMLElement& element) engine->RegisterObjectMethod(className, "void Load(const XMLElement&in)", AS_METHODPR(T, Load, (const XMLElement&), void), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_PropertySet2D REGISTER_MEMBERS_MANUAL_PART_PropertySet2D(); #endif } // class Tile2D | File: ../Urho2D/TileMapDefs2D.h template void RegisterMembers_Tile2D(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // bool Tile2D::GetFlipX() const engine->RegisterObjectMethod(className, "bool GetFlipX() const", AS_METHODPR(T, GetFlipX, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_flipX() const", AS_METHODPR(T, GetFlipX, () const, bool), AS_CALL_THISCALL); // bool Tile2D::GetFlipY() const engine->RegisterObjectMethod(className, "bool GetFlipY() const", AS_METHODPR(T, GetFlipY, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_flipY() const", AS_METHODPR(T, GetFlipY, () const, bool), AS_CALL_THISCALL); // unsigned Tile2D::GetGid() const engine->RegisterObjectMethod(className, "uint GetGid() const", AS_METHODPR(T, GetGid, () const, unsigned), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_gid() const", AS_METHODPR(T, GetGid, () const, unsigned), AS_CALL_THISCALL); // const String& Tile2D::GetProperty(const String& name) const engine->RegisterObjectMethod(className, "const String& GetProperty(const String&in) const", AS_METHODPR(T, GetProperty, (const String&) const, const String&), AS_CALL_THISCALL); // Sprite2D* Tile2D::GetSprite() const engine->RegisterObjectMethod(className, "Sprite2D@+ GetSprite() const", AS_METHODPR(T, GetSprite, () const, Sprite2D*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Sprite2D@+ get_sprite() const", AS_METHODPR(T, GetSprite, () const, Sprite2D*), AS_CALL_THISCALL); // bool Tile2D::GetSwapXY() const engine->RegisterObjectMethod(className, "bool GetSwapXY() const", AS_METHODPR(T, GetSwapXY, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_swapXY() const", AS_METHODPR(T, GetSwapXY, () const, bool), AS_CALL_THISCALL); // bool Tile2D::HasProperty(const String& name) const engine->RegisterObjectMethod(className, "bool HasProperty(const String&in) const", AS_METHODPR(T, HasProperty, (const String&) const, bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_Tile2D REGISTER_MEMBERS_MANUAL_PART_Tile2D(); #endif } // class TileMapObject2D | File: ../Urho2D/TileMapDefs2D.h template void RegisterMembers_TileMapObject2D(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // const String& TileMapObject2D::GetName() const engine->RegisterObjectMethod(className, "const String& GetName() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_name() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); // unsigned TileMapObject2D::GetNumPoints() const engine->RegisterObjectMethod(className, "uint GetNumPoints() const", AS_METHODPR(T, GetNumPoints, () const, unsigned), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_numPoints() const", AS_METHODPR(T, GetNumPoints, () const, unsigned), AS_CALL_THISCALL); // TileMapObjectType2D TileMapObject2D::GetObjectType() const engine->RegisterObjectMethod(className, "TileMapObjectType2D GetObjectType() const", AS_METHODPR(T, GetObjectType, () const, TileMapObjectType2D), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "TileMapObjectType2D get_objectType() const", AS_METHODPR(T, GetObjectType, () const, TileMapObjectType2D), AS_CALL_THISCALL); // const Vector2& TileMapObject2D::GetPoint(unsigned index) const engine->RegisterObjectMethod(className, "const Vector2& GetPoint(uint) const", AS_METHODPR(T, GetPoint, (unsigned) const, const Vector2&), AS_CALL_THISCALL); // const Vector2& TileMapObject2D::GetPosition() const engine->RegisterObjectMethod(className, "const Vector2& GetPosition() const", AS_METHODPR(T, GetPosition, () const, const Vector2&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const Vector2& get_position() const", AS_METHODPR(T, GetPosition, () const, const Vector2&), AS_CALL_THISCALL); // const String& TileMapObject2D::GetProperty(const String& name) const engine->RegisterObjectMethod(className, "const String& GetProperty(const String&in) const", AS_METHODPR(T, GetProperty, (const String&) const, const String&), AS_CALL_THISCALL); // const Vector2& TileMapObject2D::GetSize() const engine->RegisterObjectMethod(className, "const Vector2& GetSize() const", AS_METHODPR(T, GetSize, () const, const Vector2&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const Vector2& get_size() const", AS_METHODPR(T, GetSize, () const, const Vector2&), AS_CALL_THISCALL); // bool TileMapObject2D::GetTileFlipX() const engine->RegisterObjectMethod(className, "bool GetTileFlipX() const", AS_METHODPR(T, GetTileFlipX, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_tileFlipX() const", AS_METHODPR(T, GetTileFlipX, () const, bool), AS_CALL_THISCALL); // bool TileMapObject2D::GetTileFlipY() const engine->RegisterObjectMethod(className, "bool GetTileFlipY() const", AS_METHODPR(T, GetTileFlipY, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_tileFlipY() const", AS_METHODPR(T, GetTileFlipY, () const, bool), AS_CALL_THISCALL); // unsigned TileMapObject2D::GetTileGid() const engine->RegisterObjectMethod(className, "uint GetTileGid() const", AS_METHODPR(T, GetTileGid, () const, unsigned), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_tileGid() const", AS_METHODPR(T, GetTileGid, () const, unsigned), AS_CALL_THISCALL); // Sprite2D* TileMapObject2D::GetTileSprite() const engine->RegisterObjectMethod(className, "Sprite2D@+ GetTileSprite() const", AS_METHODPR(T, GetTileSprite, () const, Sprite2D*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "Sprite2D@+ get_tileSprite() const", AS_METHODPR(T, GetTileSprite, () const, Sprite2D*), AS_CALL_THISCALL); // bool TileMapObject2D::GetTileSwapXY() const engine->RegisterObjectMethod(className, "bool GetTileSwapXY() const", AS_METHODPR(T, GetTileSwapXY, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_tileSwapXY() const", AS_METHODPR(T, GetTileSwapXY, () const, bool), AS_CALL_THISCALL); // const String& TileMapObject2D::GetType() const engine->RegisterObjectMethod(className, "const String& GetType() const", AS_METHODPR(T, GetType, () const, const String&), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "const String& get_type() const", AS_METHODPR(T, GetType, () const, const String&), AS_CALL_THISCALL); // bool TileMapObject2D::HasProperty(const String& name) const engine->RegisterObjectMethod(className, "bool HasProperty(const String&in) const", AS_METHODPR(T, HasProperty, (const String&) const, bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_TileMapObject2D REGISTER_MEMBERS_MANUAL_PART_TileMapObject2D(); #endif } // class TmxLayer2D | File: ../Urho2D/TmxFile2D.h template void RegisterMembers_TmxLayer2D(asIScriptEngine* engine, const char* className) { RegisterMembers_RefCounted(engine, className); // int TmxLayer2D::GetHeight() const engine->RegisterObjectMethod(className, "int GetHeight() const", AS_METHODPR(T, GetHeight, () const, int), AS_CALL_THISCALL); // const String& TmxLayer2D::GetName() const engine->RegisterObjectMethod(className, "const String& GetName() const", AS_METHODPR(T, GetName, () const, const String&), AS_CALL_THISCALL); // const String& TmxLayer2D::GetProperty(const String& name) const engine->RegisterObjectMethod(className, "const String& GetProperty(const String&in) const", AS_METHODPR(T, GetProperty, (const String&) const, const String&), AS_CALL_THISCALL); // TmxFile2D* TmxLayer2D::GetTmxFile() const engine->RegisterObjectMethod(className, "TmxFile2D@+ GetTmxFile() const", AS_METHODPR(T, GetTmxFile, () const, TmxFile2D*), AS_CALL_THISCALL); // TileMapLayerType2D TmxLayer2D::GetType() const engine->RegisterObjectMethod(className, "TileMapLayerType2D GetType() const", AS_METHODPR(T, GetType, () const, TileMapLayerType2D), AS_CALL_THISCALL); // int TmxLayer2D::GetWidth() const engine->RegisterObjectMethod(className, "int GetWidth() const", AS_METHODPR(T, GetWidth, () const, int), AS_CALL_THISCALL); // bool TmxLayer2D::HasProperty(const String& name) const engine->RegisterObjectMethod(className, "bool HasProperty(const String&in) const", AS_METHODPR(T, HasProperty, (const String&) const, bool), AS_CALL_THISCALL); // bool TmxLayer2D::IsVisible() const engine->RegisterObjectMethod(className, "bool IsVisible() const", AS_METHODPR(T, IsVisible, () const, bool), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_TmxLayer2D REGISTER_MEMBERS_MANUAL_PART_TmxLayer2D(); #endif } #endif // def URHO3D_URHO2D // class AttributeAnimationInfo | File: ../Scene/Animatable.h template void RegisterMembers_AttributeAnimationInfo(asIScriptEngine* engine, const char* className) { RegisterMembers_ValueAnimationInfo(engine, className); // const AttributeInfo& AttributeAnimationInfo::GetAttributeInfo() const engine->RegisterObjectMethod(className, "const AttributeInfo& GetAttributeInfo() const", AS_METHODPR(T, GetAttributeInfo, () const, const AttributeInfo&), AS_CALL_THISCALL); #ifdef REGISTER_MEMBERS_MANUAL_PART_AttributeAnimationInfo REGISTER_MEMBERS_MANUAL_PART_AttributeAnimationInfo(); #endif } // const Vector& Audio::GetSoundSources() const template CScriptArray* Audio_constspVectorlesSoundSourcestargreamp_GetSoundSources_void_template(T* _ptr) { const Vector& result = _ptr->GetSoundSources(); return VectorToHandleArray(result, "Array"); } // class Audio | File: ../Audio/Audio.h template void RegisterMembers_Audio(asIScriptEngine* engine, const char* className) { RegisterMembers_Object(engine, className); // void Audio::MixOutput(void* dest, u32 samples) // Error: type "void*" can not automatically bind // void Audio::AddSoundSource(SoundSource* soundSource) engine->RegisterObjectMethod(className, "void AddSoundSource(SoundSource@+)", AS_METHODPR(T, AddSoundSource, (SoundSource*), void), AS_CALL_THISCALL); // bool Audio::GetInterpolation() const engine->RegisterObjectMethod(className, "bool GetInterpolation() const", AS_METHODPR(T, GetInterpolation, () const, bool), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "bool get_interpolation() const", AS_METHODPR(T, GetInterpolation, () const, bool), AS_CALL_THISCALL); // SoundListener* Audio::GetListener() const engine->RegisterObjectMethod(className, "SoundListener@+ GetListener() const", AS_METHODPR(T, GetListener, () const, SoundListener*), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "SoundListener@+ get_listener() const", AS_METHODPR(T, GetListener, () const, SoundListener*), AS_CALL_THISCALL); // float Audio::GetMasterGain(const String& type) const engine->RegisterObjectMethod(className, "float GetMasterGain(const String&in) const", AS_METHODPR(T, GetMasterGain, (const String&) const, float), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "float get_masterGain(const String&in) const", AS_METHODPR(T, GetMasterGain, (const String&) const, float), AS_CALL_THISCALL); // i32 Audio::GetMixRate() const engine->RegisterObjectMethod(className, "int GetMixRate() const", AS_METHODPR(T, GetMixRate, () const, i32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "int get_mixRate() const", AS_METHODPR(T, GetMixRate, () const, i32), AS_CALL_THISCALL); // Mutex& Audio::GetMutex() engine->RegisterObjectMethod(className, "Mutex& GetMutex()", AS_METHODPR(T, GetMutex, (), Mutex&), AS_CALL_THISCALL); // u32 Audio::GetSampleSize() const engine->RegisterObjectMethod(className, "uint GetSampleSize() const", AS_METHODPR(T, GetSampleSize, () const, u32), AS_CALL_THISCALL); engine->RegisterObjectMethod(className, "uint get_sampleSize() const", AS_METHODPR(T, GetSampleSize, () const, u32), AS_CALL_THISCALL); // float Audio::GetSoundSourceMasterGain(StringHash typeHash) const engine->RegisterObjectMethod(className, "float GetSoundSourceMasterGain(StringHash) const", AS_METHODPR(T, GetSoundSourceMasterGain, (StringHash) const, float), AS_CALL_THISCALL); // const Vector& Audio::GetSoundSources() const engine->RegisterObjectMethod(className, "Array@ GetSoundSources() const", AS_FUNCTION_OBJFIRST(Audio_constspVectorlesSoundSourcestargreamp_GetSoundSources_void_template