protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e) { base.OnMouseLeftButtonDown(e); Color?color = ViewManager.ShowColorDialog(Caption, SelectedColor.GetColor(ColorSchema)); if (color != null) { SelectedColor.SetColor(color.Value, ColorSchema); SelectedColor = new SkyColor(SelectedColor); } }
public FovSettingsVM(ISettings settings) { _Settings = settings; LoadEquipment(); Binning = 1; Rotation = 0; Color = new SkyColor(System.Drawing.Color.Pink); AddEquipmentCommand = new Command <Type>((type) => EditEquipment(type, isNew: true)); EditEquipmentCommand = new Command <Type>((type) => EditEquipment(type, isNew: false)); DeleteEquipmentCommand = new Command <Type>((type) => DeleteEquipment(type)); OkCommand = new Command(Ok); CancelCommand = new Command(Close); }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { if (id == "groundAngle") { GroundAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "groundColor") { GroundColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else if (id == "backUrl") { BackUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "bottomUrl") { BottomUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "frontUrl") { FrontUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "leftUrl") { LeftUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "rightUrl") { RightUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "topUrl") { TopUrl.AddRange(parser.ParseSFStringOrMFStringValue()); } else if (id == "skyAngle") { SkyAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "skyColor") { if (wasSkyColor) { SkyColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else { SkyColor = parser.ParseSFColorOrMFColorValue(); } wasSkyColor = true; } else if (id == "transparency") { // since X3D Node Spec and VRML Classic Coding Spec disagree on the fieldType List <double> values = parser.ParseSFFloatOrMFFloatValue(); if (values.Count != 0) { Transparency = values[0]; } } else { return(false); } return(true); }
public override object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { skyColor = (SkyColor)values[0]; settings = (ISettings)values[1]; return(skyColor.GetColor(settings.Get <ColorSchema>("Schema"))); }
internal override bool ParseNodeBodyElement(string id, VRMLParser parser) { int line = parser.Line; if (id == "groundAngle") { GroundAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "groundColor") { GroundColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else if (id == "backTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { BackTexture = node as X3DTextureNode; if (BackTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "bottomTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { BottomTexture = node as X3DTextureNode; if (BottomTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "frontTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { FrontTexture = node as X3DTextureNode; if (FrontTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "leftTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { LeftTexture = node as X3DTextureNode; if (LeftTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "rightTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { RightTexture = node as X3DTextureNode; if (RightTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "topTexture") { X3DNode node = parser.ParseSFNodeValue(); if (node != null) { TopTexture = node as X3DTextureNode; if (TopTexture == null) { parser.ErrorParsingNode(VRMLReaderError.UnexpectedNodeType, this, id, node, line); } } } else if (id == "skyAngle") { SkyAngle.AddRange(parser.ParseSFFloatOrMFFloatValue()); } else if (id == "skyColor") { if (wasSkyColor) { SkyColor.AddRange(parser.ParseSFColorOrMFColorValue()); } else { SkyColor = parser.ParseSFColorOrMFColorValue(); } wasSkyColor = true; } else if (id == "transparency") { // since X3D Node Spec and VRML Classic Coding Spec disagree on the fieldType List <double> values = parser.ParseSFFloatOrMFFloatValue(); if (values.Count != 0) { Transparency = values[0]; } } else { return(false); } return(true); }
protected override void LoadContent() { Error = Content.Load <Model>("Error"); spriteBatch = new SpriteBatch(GraphicsDevice); for (int i = 0; i < _3DRadSpaceGame.MAX_OBJECTS; i++) { string obj = project[i].ToString(); switch (obj.Split(' ')[0]) { case "Camera": { Vector3 pos = new Vector3(Convert.ToSingle(obj.Split(' ')[3]), Convert.ToSingle(obj.Split(' ')[4]), Convert.ToSingle(obj.Split(' ')[5])); Objects[i] = new Camera( obj.Split(' ')[1], Convert.ToBoolean(obj.Split(' ')[2]), pos, Vector3.Zero, //Vector3.Transform(pos, Matrix.CreateFromYawPitchRoll(MathHelper.ToRadians(Convert.ToSingle(obj.Split(' ')[7])),MathHelper.ToRadians( Convert.ToSingle(obj.Split(' ')[6])), MathHelper.ToRadians(Convert.ToSingle(obj.Split(' ')[8])))), MathHelper.ToRadians(Convert.ToSingle(obj.Split(' ')[9])), Convert.ToSingle(obj.Split(' ')[11]) ); break; } case "SkyColor": { Color color = new Color(Convert.ToUInt32(obj.Split(' ')[3]), Convert.ToUInt32(obj.Split(' ')[4]), Convert.ToUInt32(obj.Split(' ')[5])); Objects[i] = new SkyColor( obj.Split(' ')[1], Convert.ToBoolean(obj.Split(' ')[2]), color ); break; } case "Skinmesh": { Vector3 pos = new Vector3(Convert.ToSingle(obj.Split(' ')[3]), Convert.ToSingle(obj.Split(' ')[4]), Convert.ToSingle(obj.Split(' ')[5])); Vector3 rot = new Vector3(Convert.ToSingle(obj.Split(' ')[6]), Convert.ToSingle(obj.Split(' ')[7]), Convert.ToSingle(obj.Split(' ')[8])); string res = ""; int length = obj.Split(' ').Length; for (int j = 10; j < length; j++) { res += obj.Split(' ')[j]; if (j != length - 1) { res += " "; } } Objects[i] = new SkinMesh(obj.Split(' ')[1], Convert.ToBoolean(obj.Split(' ')[2]), res, pos, rot); break; } case "TextPrint": { Color clr = new Color(Convert.ToInt32(obj.Split(' ')[5]), Convert.ToInt32(obj.Split(' ')[6]) , Convert.ToInt32(obj.Split(' ')[7]) ); string text = ""; for (int j = 8; j < obj.Split(' ').Length; j++) { text += obj.Split(' ')[j]; } Vector3 loc = new Vector3(Convert.ToInt32(obj.Split(' ')[4]), Convert.ToInt32(obj.Split(' ')[5]), 0); Objects[i] = new TextPrint(obj.Split(' ')[1], Convert.ToBoolean(obj.Split(' ')[2]), Content, loc, text, clr); break; } case "Fog": { Vector3 clr = new Vector3(Convert.ToInt32(obj.Split(' ')[3]), Convert.ToInt32(obj.Split(' ')[4]) , Convert.ToInt32(obj.Split(' ')[5]) ); Objects[i] = new Fog(obj.Split(' ')[1], Convert.ToBoolean(obj.Split(' ')[2]) , clr, Convert.ToSingle(obj.Split(' ')[6]), Convert.ToSingle(obj.Split(' ')[7])); break; } default: break; } AllObjectsInitialize(); } }
protected override void LoadContent() { // Load shader, set up settings var black = Game.Content.Load <Texture2D>("Textures/black"); basicShader = Game.Content.Load <Effect>("Shaders/BasicColorMapped"); basicShader.CurrentTechnique = basicShader.Techniques["DefaultTechnique"]; basicShader.Parameters["ColorMapTexture"].SetValue(black); basicShader.Parameters["ColorInfluence"].SetValue(1.0f); basicShader.Parameters["FogColor"].SetValue(SkyColor.ToVector4()); basicShader.Parameters["FogEndDistance"].SetValue(FogDistance); // Load models, decoration and biome data var modelLoader = new AtlasModelLoader(2048, 2048, basicShader, Game.Content); var decorationData = orbis.Content.Load <XMLModel.DecorationCollection>("Config/Decorations"); var decorationManager = new DecorationManager(decorationData, modelLoader, GraphicsDevice); // Load decorations foreach (var data in decorationData.Decorations) { decorations.Add(data.Name, new DecorationPool(decorationManager.GetDecorationMesh(data.Name), GraphicsDevice, 1)); } var biomeData = orbis.Content.Load <XMLModel.BiomeCollection>("Config/Biomes"); biomeMappedData = new Dictionary <string, BiomeMappedData>(); // Load biomes foreach (var biome in biomeData.Biomes) { biomeMappedData.Add(biome.Name, new BiomeMappedData { HexMesh = modelLoader.LoadModel(biome.HexModel.Name, biome.HexModel.Texture, biome.HexModel.ColorTexture).Mesh, DefaultDecoration = biome.DefaultDecoration, DefaultDensity = biome.DecorationDensity, }); } // Load tile highlight mesh var model = modelLoader.LoadModel("flag", "flag"); tileHighlightMesh = new RenderableMesh(GraphicsDevice, model.Mesh); modelLoader.FinializeLoading(GraphicsDevice); // Set up shader textures basicShader.Parameters["MainTexture"].SetValue(modelLoader.Material.Texture); basicShader.Parameters["ColorMapTexture"].SetValue(modelLoader.Material.ColorMap); if (atlasDebugEnabled) { // Atlas texture debugging Mesh mesh = null; using (var stream = TitleContainer.OpenStream("Content/Meshes/quad_up.obj")) { mesh = ObjParser.FromStream(stream); } atlasDebugInstance = new RenderInstance { mesh = new RenderableMesh(GraphicsDevice, mesh), matrix = Matrix.CreateScale(10) * Matrix.CreateTranslation(0, 0, 30), }; basicShader.Parameters["ColorMapTexture"].SetValue(black); } base.LoadContent(); }
public Color GetColor(Color colorNight, Color colorDay) { return(SkyColor.GetColor(Schema, colorNight, colorDay, DayLightFactor)); }