void EVA::Light::Save(DataObject& data) const
{
	data.SetString("type", m_Type == Directional ? "directional" : "point");
	data.SetVec3("color", color);
	data.SetFloat("ambientCoefficient", ambientCoefficient);

	if(m_Type == Directional)
	{
		data.SetVec2("rotation", m_Rotation);

		data.SetFloat("directionalShadowDistance", directionalShadowDistance);

		data.SetFloat("directionalNearPlane", directionalNearPlane);
		data.SetFloat("directionalFarPlane", directionalFarPlane);
	}
	else
	{
		data.SetVec3("position", m_Position);

		data.SetFloat("attenuation", attenuation);

		data.SetFloat("pointNearPlane", pointNearPlane);
		data.SetFloat("pointFarPlane", pointFarPlane);
	}

	data.SetBool("shadows", m_Shadows);
	if(m_Shadows)
	{
		data.SetInt("shadowMapSize", m_ShadowMapSize);
	}
}