// Copyright (c) 2008-2023 the Urho3D project // License: MIT #pragma once #include "../AngelScript/Addons.h" #include "../AngelScript/Script.h" #include "../AngelScript/ScriptInstance.h" #include "../Audio/SoundSource.h" #include "../Core/Context.h" #include "../Container/HashSet.h" #include "../Container/Sort.h" #include "../Graphics/Drawable.h" #include "../Graphics/StaticModel.h" #include "../GraphicsAPI/Texture.h" #include "../IO/File.h" #include "../IO/Log.h" #include "../IO/VectorBuffer.h" #include "../Resource/Resource.h" #include "../Scene/Animatable.h" #include "../Scene/Node.h" #include "../UI/BorderImage.h" #ifdef URHO3D_URHO2D #include "../Urho2D/Drawable2D.h" #endif #include #include #include "../AngelScript/RegistrationMacros.h" #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable:4505) #endif namespace Urho3D { class Camera; /// Template function for Vector to array conversion. template CScriptArray* VectorToArray(const Vector& vector, const char* arrayName) { Context* context = GetScriptContext(); if (context) { asITypeInfo* type = context->GetSubsystem