// Instances a box decorator.
Decorator* DecoratorTiledVerticalInstancer::InstanceDecorator(const String& ROCKET_UNUSED(name), const PropertyDictionary& properties)
{
	DecoratorTiled::Tile tiles[3];
	String texture_names[3];
	String rcss_paths[3];

	GetTileProperties(tiles[0], texture_names[0], rcss_paths[0], properties, "top-image");
	GetTileProperties(tiles[1], texture_names[1], rcss_paths[1], properties, "bottom-image");
	GetTileProperties(tiles[2], texture_names[2], rcss_paths[2], properties, "center-image");

	DecoratorTiledVertical* decorator = new DecoratorTiledVertical();
	if (decorator->Initialise(tiles, texture_names, rcss_paths))
		return decorator;

	decorator->RemoveReference();
	ReleaseDecorator(decorator);
	return NULL;
}
// Instances a box decorator.
Decorator* DecoratorTiledVerticalInstancer::InstanceDecorator(const String& ROCKET_UNUSED_PARAMETER(name), const PropertyDictionary& properties)
{
	ROCKET_UNUSED(name);

	DecoratorTiled::Tile tiles[3];
	String texture_names[3];
	String rcss_paths[3];

	GetTileProperties(tiles[0], texture_names[0], rcss_paths[0], properties, "top-image");
	GetTileProperties(tiles[1], texture_names[1], rcss_paths[1], properties, "bottom-image");
	GetTileProperties(tiles[2], texture_names[2], rcss_paths[2], properties, "center-image");

	DecoratorTiledVertical* decorator = new DecoratorTiledVertical();

	decorator->GetColorMultiplier() = properties.GetProperty("color-multiplier")->value.Get< Colourb >();

	if (decorator->Initialise(tiles, texture_names, rcss_paths))
		return decorator;

	decorator->RemoveReference();
	ReleaseDecorator(decorator);
	return NULL;
}