diff --git a/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp b/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp index b7e0f142c..daac952d1 100644 --- a/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp +++ b/Source/Engine/Networking/Drivers/NetworkLagDriver.cpp @@ -23,7 +23,7 @@ void NetworkLagDriver::SetDriver(INetworkDriver* value) return; // Cleanup created proxy driver object - if (auto* driver = FromInterface(_driver, INetworkDriver::TypeInitializer)) + if (auto* driver = FromInterface(_driver)) Delete(driver); _driver = value; diff --git a/Source/Engine/Online/Online.cpp b/Source/Engine/Online/Online.cpp index 2acd16110..ddd8dafca 100644 --- a/Source/Engine/Online/Online.cpp +++ b/Source/Engine/Online/Online.cpp @@ -42,7 +42,7 @@ bool Online::Initialize(IOnlinePlatform* platform) { if (Platform == platform) return false; - const auto object = ScriptingObject::FromInterface(platform, IOnlinePlatform::TypeInitializer); + const auto object = ScriptingObject::FromInterface(platform); LOG(Info, "Changing online platform to {0}", object ? object->ToString() : (platform ? TEXT("?") : TEXT("none"))); if (Platform) @@ -51,6 +51,8 @@ bool Online::Initialize(IOnlinePlatform* platform) Scripting::ScriptsReloading.Unbind(OnOnlineScriptsReloading); #endif Platform->Deinitialize(); + if (auto* prevObject = ScriptingObject::FromInterface(Platform)) + Delete(prevObject); } Platform = platform; if (Platform) diff --git a/Source/Engine/Platform/Base/WindowBase.cpp b/Source/Engine/Platform/Base/WindowBase.cpp index 2d6d2d615..8df464c9a 100644 --- a/Source/Engine/Platform/Base/WindowBase.cpp +++ b/Source/Engine/Platform/Base/WindowBase.cpp @@ -607,3 +607,22 @@ bool WindowBase::IsForegroundWindow() const { return _focused; } + +StringView WindowBase::GetTitle() const +{ + return _title; +} + +void WindowBase::SetTitle(const StringView& title) +{ + _title = title; +} + +float WindowBase::GetOpacity() const +{ + return 1.0f; +} + +void WindowBase::SetOpacity(float opacity) +{ +} diff --git a/Source/Engine/Platform/Base/WindowBase.h b/Source/Engine/Platform/Base/WindowBase.h index 21309c9d9..23bcdb445 100644 --- a/Source/Engine/Platform/Base/WindowBase.h +++ b/Source/Engine/Platform/Base/WindowBase.h @@ -366,35 +366,24 @@ public: /// Gets the window title. /// /// The window title. - API_PROPERTY() virtual String GetTitle() const - { - return _title; - } + API_PROPERTY() StringView GetTitle() const; /// /// Sets the window title. /// /// The title. - API_PROPERTY() virtual void SetTitle(const StringView& title) - { - _title = title; - } + API_PROPERTY() virtual void SetTitle(const StringView& title); /// /// Gets window opacity value (valid only for windows created with SupportsTransparency flag). Opacity values are normalized to range [0;1]. /// - API_PROPERTY() virtual float GetOpacity() const - { - return 1.0f; - } + API_PROPERTY() virtual float GetOpacity() const; /// /// Sets window opacity value (valid only for windows created with SupportsTransparency flag). Opacity values are normalized to range [0;1]. /// /// The opacity. - API_PROPERTY() virtual void SetOpacity(float opacity) - { - } + API_PROPERTY() virtual void SetOpacity(float opacity); /// /// Determines whether this window is focused. diff --git a/Source/Engine/Renderer/RenderList.h b/Source/Engine/Renderer/RenderList.h index 3a1389c1a..f2da4c001 100644 --- a/Source/Engine/Renderer/RenderList.h +++ b/Source/Engine/Renderer/RenderList.h @@ -10,7 +10,6 @@ #include "Engine/Scripting/ScriptingObject.h" #include "DrawCall.h" #include "RenderListBuffer.h" -#include "RendererAllocation.h" #include "RenderSetup.h" enum class StaticFlags;