///////////////////////////////////////////////////////////////////////////////
//  CHEOMaterial.cpp

#include "CHEOMaterial.h"

namespace heo {

CHEOMaterial::CHEOMaterial(const std::string& Name, EHEOShaderType ShaderType, EHEOBlendMode BlendMode, float Cutoff, bool DoubleSided, bool UseVertexColor,
	const SColor& Color, const SColor& EmissionColor, int TextureIndexMain, int TextureIndexNormal, int TextureIndexEmission, int TextureIndexRoughness,
	const SUV& TextureScaleMain, const SUV& TextureOffsetMain, const SUV& Texture1ScaleMain, const SUV& Texture1OffsetMain) :
	m_Name(Name),
	m_ShaderType(ShaderType),
	m_BlendMode(BlendMode),
	m_Cutoff(Cutoff),
	m_DoubleSided(DoubleSided),
	m_UseVertexColor(UseVertexColor),
	m_Color(Color),
	m_EmissionColor(EmissionColor),
	m_TextureIndexMain(TextureIndexMain),
	m_TextureIndexNormal(TextureIndexNormal),
	m_TextureIndexEmission(TextureIndexEmission),
	m_TextureIndexRoughness(TextureIndexRoughness),
	m_TextureScaleMain(TextureScaleMain),
	m_TextureOffsetMain(TextureOffsetMain),
	m_Texture1ScaleMain(Texture1ScaleMain),
	m_Texture1OffsetMain(Texture1OffsetMain)
{
}

const std::string& CHEOMaterial::GetName() const
{
	return m_Name;
}

EHEOShaderType CHEOMaterial::GetShaderType() const
{
	return m_ShaderType;
}

EHEOBlendMode CHEOMaterial::GetBlendMode() const
{
	return m_BlendMode;
}

float CHEOMaterial::GetCutoff() const
{
	return m_Cutoff;
}

bool CHEOMaterial::IsDoubleSided() const
{
	return m_DoubleSided;
}

bool CHEOMaterial::IsUseVertexColor() const
{
	return m_UseVertexColor;
}

const SColor& CHEOMaterial::GetColor() const
{
	return m_Color;
}

const SColor& CHEOMaterial::GetEmissionColor() const
{
	return m_EmissionColor;
}

int CHEOMaterial::GetTextureIndexMain() const
{
	return m_TextureIndexMain;
}

int CHEOMaterial::GetTextureIndexNormal() const
{
	return m_TextureIndexNormal;
}

int CHEOMaterial::GetTextureIndexEmission() const
{
	return m_TextureIndexEmission;
}

int CHEOMaterial::GetTextureIndexRoughness() const
{
	return m_TextureIndexRoughness;
}

const SUV& CHEOMaterial::GetTextureScaleMain() const
{
	return m_TextureScaleMain;
}

const SUV& CHEOMaterial::GetTextureOffsetMain() const
{
	return m_TextureOffsetMain;
}

const SUV& CHEOMaterial::GetTexture1ScaleMain() const
{
	return m_Texture1ScaleMain;
}

const SUV& CHEOMaterial::GetTexture1OffsetMain() const
{
	return m_Texture1OffsetMain;
}

// シェーダパラメータ
/*
const gcommon::CPBRParam& CHEOMaterial::GetPBRParam() const
{
	return m_PBRParam;
}

const gcommon::CUTSParam& CHEOMaterial::GetUTSParam() const
{
	return m_UTSParam;
}

const gcommon::CWaterPlaneParam& CHEOMaterial::GetWaterPlaneParam() const
{
	return m_WaterPlaneParam;
}

const gcommon::CFurParam& CHEOMaterial::GetFurParam() const
{
	return m_FurParam;
}
*/
}

