Ejemplo n.º 1
0
EntityMesh::EntityMesh(const char* meshFileName, bool transparent,float radius)
{
	ResourceManager* resourceManager = GameManager::getInstance()->getResourceManager();
	// Pide el recurso de malla
	mesh = resourceManager->getMesh(meshFileName);

	intensity = 0;

	if ( mesh != NULL )
	{
		int shaderType = mesh->model.material.shader;

		if (shaderType < 0) // Material por defecto
		{
			material = new ResourceMaterial( mesh->model.material, transparent );
		}
		else // Material con shaders
		{
			switch (shaderType)
			{
			case Material::SHIELD:
				material = new MaterialShield( mesh->model.material, transparent, this, radius );
				break;
			case Material::TERRAIN:
				material = new MaterialTerrain(mesh->model.material, transparent, this);
				break;
			}
		}
	}
}