// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #include "Engine/Scripting/ScriptingObject.h" /// /// Represents a single audio device. /// API_CLASS(NoSpawn) class AudioDevice : public ScriptingObject { DECLARE_SCRIPTING_TYPE_NO_SPAWN(AudioDevice); explicit AudioDevice() : ScriptingObject(SpawnParams(Guid::New(), TypeInitializer)) { } AudioDevice(const AudioDevice& other) : ScriptingObject(SpawnParams(Guid::New(), TypeInitializer)) { Name = other.Name; InternalName = other.InternalName; } AudioDevice& operator=(const AudioDevice& other) { Name = other.Name; InternalName = other.InternalName; return *this; } public: /// /// The device name. /// API_FIELD(ReadOnly) String Name; /// /// The internal device name used by the audio backend. /// StringAnsi InternalName; String ToString() const override { return Name; } };