protected override RenderableHandler GetRenderableHandler()
{
switch (LayerScaleType)
{
case GlobalLayerScaleType.Uniform:
return obj => obj.InternalRender(SeenRenderables);
case GlobalLayerScaleType.Dynamic:
var isBaseRes = ArtemisEngine.DisplayManager.IsBaseResolution;
var crntRes = ArtemisEngine.DisplayManager.WindowResolution;
var resScale = ArtemisEngine.DisplayManager.ResolutionScale;
return obj => ProcessDynamicallyScaledRenderable(obj, isBaseRes, crntRes, resScale);
default:
throw new RenderLayerException(
String.Format(
"Unknown GlobalLayerScaleType '{0}' supplied to layer '{1}'.",
LayerScaleType, tempFullName));
}
}