1//********************************** Banshee Engine (www.banshee3d.com) **************************************************//
2//**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************//
3#pragma once
4
5#include "BsCorePrerequisites.h"
6#include "Reflection/BsRTTIType.h"
7#include "Components/BsCSkybox.h"
8#include "Private/RTTI/BsGameObjectRTTI.h"
9
10namespace bs
11{
12 /** @cond RTTI */
13 /** @addtogroup RTTI-Impl-Engine
14 * @{
15 */
16
17 class BS_CORE_EXPORT CSkyboxRTTI : public RTTIType <CSkybox, Component, CSkyboxRTTI>
18 {
19 private:
20 SPtr<Skybox> getInternal(CSkybox* obj) { return obj->mInternal; }
21 void setInternal(CSkybox* obj, SPtr<Skybox> val) { obj->mInternal = val; }
22
23 public:
24 CSkyboxRTTI()
25 {
26 addReflectablePtrField("mInternal", 0, &CSkyboxRTTI::getInternal, &CSkyboxRTTI::setInternal);
27 }
28
29 const String& getRTTIName() override
30 {
31 static String name = "CSkybox";
32 return name;
33 }
34
35 UINT32 getRTTIId() override
36 {
37 return TID_CSkybox;
38 }
39
40 SPtr<IReflectable> newRTTIObject() override
41 {
42 return SceneObject::createEmptyComponent<CSkybox>();
43 }
44 };
45
46 /** @} */
47 /** @endcond */
48}