1//************************************ bs::framework - Copyright 2018 Marko Pintera **************************************//
2//*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********//
3#pragma once
4
5#include "BsCorePrerequisites.h"
6#include "Reflection/BsRTTIType.h"
7#include "Audio/BsAudioSource.h"
8
9namespace bs
10{
11 /** @cond RTTI */
12 /** @addtogroup RTTI-Impl-Engine
13 * @{
14 */
15
16 class BS_CORE_EXPORT AudioSourceRTTI : public RTTIType<AudioSource, IReflectable, AudioSourceRTTI>
17 {
18 private:
19 BS_BEGIN_RTTI_MEMBERS
20 BS_RTTI_MEMBER_REFL(mTransform, 0)
21 BS_RTTI_MEMBER_PLAIN(mActive, 1)
22 BS_RTTI_MEMBER_PLAIN(mMobility, 2)
23 BS_RTTI_MEMBER_PLAIN(mVelocity, 3)
24 BS_RTTI_MEMBER_REFL(mAudioClip, 4)
25 BS_RTTI_MEMBER_PLAIN(mVolume, 5)
26 BS_RTTI_MEMBER_PLAIN(mPitch, 6)
27 BS_RTTI_MEMBER_PLAIN(mLoop, 7)
28 BS_RTTI_MEMBER_PLAIN(mPriority, 8)
29 BS_RTTI_MEMBER_PLAIN(mMinDistance, 9)
30 BS_RTTI_MEMBER_PLAIN(mAttenuation, 10)
31 BS_END_RTTI_MEMBERS
32 public:
33 const String& getRTTIName() override
34 {
35 static String name = "AudioSource";
36 return name;
37 }
38
39 UINT32 getRTTIId() override
40 {
41 return TID_AudioSource;
42 }
43
44 SPtr<IReflectable> newRTTIObject() override
45 {
46 return AudioSource::create();
47 }
48 };
49
50 /** @} */
51 /** @endcond */
52}
53