Added full implementation of Renderable script interface
This commit is contained in:
parent
9617ed3838
commit
19dc999e4f
|
@ -16,13 +16,10 @@ of DigiPen Institute of Technology is prohibited.
|
|||
// Primary Header
|
||||
#include "Renderable.hxx"
|
||||
#include "Assets/NativeAsset.hxx"
|
||||
#include "Utility/Convert.hxx"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* Properties */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* Constructors */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
@ -31,7 +28,40 @@ namespace SHADE
|
|||
{}
|
||||
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
/* Usage Functions */
|
||||
/* Properties */
|
||||
/*---------------------------------------------------------------------------------*/
|
||||
|
||||
SHADE::Mesh^ Renderable::Mesh::get()
|
||||
{
|
||||
return gcnew SHADE::Mesh(GetNativeComponent()->Mesh);
|
||||
}
|
||||
void Renderable::Mesh::set(SHADE::Mesh^ value)
|
||||
{
|
||||
if (value == nullptr)
|
||||
{
|
||||
GetNativeComponent()->Mesh = Handle<SHMesh>();
|
||||
}
|
||||
else
|
||||
{
|
||||
GetNativeComponent()->Mesh = Handle<SHMesh>(Convert::ToNative(value->NativeObjectHandle));
|
||||
}
|
||||
}
|
||||
SHADE::Material^ Renderable::Material::get()
|
||||
{
|
||||
return gcnew SHADE::Material(GetNativeComponent()->GetMaterial());
|
||||
}
|
||||
void Renderable::Material::set(SHADE::Material^ value)
|
||||
{
|
||||
if (value == nullptr)
|
||||
{
|
||||
GetNativeComponent()->SetMaterial(Handle<SHMaterialInstance>());
|
||||
}
|
||||
else
|
||||
{
|
||||
GetNativeComponent()->SetMaterial(Handle<SHMaterialInstance>(Convert::ToNative(value->NativeObjectHandle)));
|
||||
}
|
||||
}
|
||||
System::Byte Renderable::LightLayer::get()
|
||||
{
|
||||
return GetNativeComponent()->GetLightLayer();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@ of DigiPen Institute of Technology is prohibited.
|
|||
#include "Math/Quaternion.hxx"
|
||||
// External Dependencies
|
||||
#include "Graphics/MiddleEnd/Interface/SHRenderable.h"
|
||||
#include "Assets/Mesh.hxx"
|
||||
#include "Assets/Material.hxx"
|
||||
|
||||
namespace SHADE
|
||||
{
|
||||
|
@ -43,11 +45,29 @@ namespace SHADE
|
|||
/*-----------------------------------------------------------------------------*/
|
||||
/* Properties */
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
/* Usage Functions */
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
/// <summary>
|
||||
/// Mesh used to render this Renderable.
|
||||
/// </summary>
|
||||
property SHADE::Mesh^ Mesh
|
||||
{
|
||||
SHADE::Mesh^ get();
|
||||
void set(SHADE::Mesh^ value);
|
||||
}
|
||||
/// <summary>
|
||||
/// Material used to render this Renderable.
|
||||
/// </summary>
|
||||
property SHADE::Material^ Material
|
||||
{
|
||||
SHADE::Material^ get();
|
||||
void set(SHADE::Material^ value);
|
||||
}
|
||||
/// <summary>
|
||||
/// Material used to render this Renderable.
|
||||
/// </summary>
|
||||
property System::Byte LightLayer
|
||||
{
|
||||
System::Byte get();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue