protected override DarkLightBase ChangeTypeOverride(DarkLightType newType) { switch (newType) { case DarkLightType.Point: return(new DarkPointLight { Range = Range }); case DarkLightType.Directional: return(new DarkDirectionalLight()); case DarkLightType.Spot: return(new DarkSpotLight { Range = Range }); case DarkLightType.AreaSphere: return(new DarkAreaSphereLight { Range = Range, Radius = Width, VisibleLight = VisibleLight }); case DarkLightType.AreaTube: return(new DarkAreaTubeLight { Direction = Direction, Range = Range, Radius = Width, Length = Height, VisibleLight = VisibleLight }); case DarkLightType.LtcPlane: return(new DarkLtcPlaneLight { Direction = Direction, Up = Up, Range = Range, Width = Width, Height = Height, VisibleBrightnessMultiplier = VisibleBrightnessMultiplier, DoubleSide = DoubleSide, VisibleLight = VisibleLight }); case DarkLightType.LtcTube: return(new DarkLtcTubeLight { Direction = Direction, Range = Range, Radius = Width, Length = Height, VisibleLight = VisibleLight }); default: return(base.ChangeTypeOverride(newType)); } }
protected override DarkLightBase ChangeTypeOverride(DarkLightType newType) { switch (newType) { case DarkLightType.Point: return(new DarkPointLight { Range = Range }); case DarkLightType.Directional: return(new DarkDirectionalLight()); case DarkLightType.Spot: return(new DarkSpotLight { Range = Range }); case DarkLightType.Plane: return(new DarkPlaneLight { Range = Range }); case DarkLightType.AreaSphere: return(new DarkAreaSphereLight { Range = Range, Radius = Radius, VisibleLight = VisibleLight }); case DarkLightType.AreaTube: return(new DarkAreaTubeLight { Range = Range, Radius = Radius, VisibleLight = VisibleLight }); case DarkLightType.LtcPlane: return(new DarkLtcPlaneLight { Range = Range, Width = Radius, Height = Radius, DoubleSide = true, VisibleLight = VisibleLight }); case DarkLightType.LtcTube: return(new DarkLtcTubeLight { Range = Range, Radius = Radius, VisibleLight = VisibleLight }); default: return(base.ChangeTypeOverride(newType)); } }
protected override DarkLightBase ChangeTypeOverride(DarkLightType newType) { switch (newType) { case DarkLightType.Point: return(new DarkPointLight { Range = Range }); case DarkLightType.Directional: return(new DarkDirectionalLight { Direction = Direction }); case DarkLightType.Spot: return(new DarkSpotLight { Direction = Direction, Range = Range, Angle = Angle, SpotFocus = SpotFocus }); case DarkLightType.Plane: return(new DarkPlaneLight { Direction = Direction, Range = Range }); case DarkLightType.AreaSphere: return(new DarkAreaSphereLight { Range = Range }); case DarkLightType.AreaTube: return(new DarkAreaTubeLight { Range = Range }); case DarkLightType.LtcPlane: return(new DarkLtcPlaneLight { Direction = Direction, Range = Range }); case DarkLightType.LtcTube: return(new DarkLtcTubeLight { Range = Range }); default: return(base.ChangeTypeOverride(newType)); } }
protected override DarkLightBase ChangeTypeOverride(DarkLightType newType) { switch (newType) { case DarkLightType.Point: return(new DarkPointLight()); case DarkLightType.Directional: return(new DarkDirectionalLight { _shadowsSize = _shadowsSize, IsMainLightSource = IsMainLightSource, Direction = Direction }); case DarkLightType.Spot: return(new DarkSpotLight { Direction = Direction }); case DarkLightType.Plane: return(new DarkPlaneLight { Direction = Direction }); case DarkLightType.AreaSphere: return(new DarkAreaSphereLight()); case DarkLightType.AreaTube: return(new DarkAreaTubeLight()); case DarkLightType.LtcPlane: return(new DarkLtcPlaneLight { Direction = Direction }); case DarkLightType.LtcTube: return(new DarkLtcTubeLight()); default: return(base.ChangeTypeOverride(newType)); } }
protected override DarkLightBase ChangeTypeOverride(DarkLightType newType) { switch (newType) { case DarkLightType.Point: return(new DarkPointLight { Range = Range }); case DarkLightType.Directional: return(new DarkDirectionalLight()); case DarkLightType.Spot: return(new DarkSpotLight { Range = Range }); case DarkLightType.Sphere: return(new DarkAreaSphereLight { Range = Range }); case DarkLightType.Tube: return(new DarkAreaTubeLight { Range = Range }); case DarkLightType.LtcPlane: return(new DarkAreaPlaneLight { Range = Range }); case DarkLightType.LtcTube: return(new DarkAreaLtcTubeLight { Range = Range }); default: return(base.ChangeTypeOverride(newType)); } }
protected DarkAreaLightBase(DarkLightType type) : base(type) { ShadowsAvailable = false; HighQualityShadowsAvailable = false; IsVisibleAsMesh = true; }