public void LoadDefinition(string fileName) { FinalizeScenery(); parameters = new SceneryParameters(); parameters.ReadParameters(fileName); if (parameters.DefinitionFile != null) { definition = new TerrainDefinition(); definition.Load(parameters.SceneryFolder + parameters.DefinitionFile); } Initialize(); }
void comboPilotPos_Changed(object sender, EventArgs e) { DataRow dataRow = comboPilotPos.GetSelectedData() as DataRow; SceneryInfo sceneryInfo = comboSceneries.GetSelectedData() as SceneryInfo; if (sceneryInfo != null) { SceneryParameters parameters = new SceneryParameters(); parameters.File = sceneryInfo.ParFile; SetPilotPosition(parameters, dataRow); } }
private void SetPilotPosition(SceneryParameters parameters, DataRow dataRow) { if (dataRow != null) { Vector3 pilotPos = (Vector3)dataRow["Position"]; string map = dataRow["Map"].ToString(); Program.Instance.PilotPosition = new Vector3(pilotPos.X, Program.Instance.Heightmap.GetHeightAt(pilotPos.X, pilotPos.Z) + 1.7f, pilotPos.Z); Program.Instance.Map = parameters.SceneryFolder + map; } else { Program.Instance.PilotPosition = new Vector3(0, 1.7f, 0); Program.Instance.Map = null; } }
void comboSceneries_Changed(object sender, EventArgs e) { changed = true; SceneryInfo sceneryInfo = comboSceneries.GetSelectedData() as SceneryInfo; if (sceneryInfo != null) { SceneryParameters parameters = new SceneryParameters(); parameters.File = sceneryInfo.ParFile; if (parameters.SceneryType == SceneryParameters.SceneryTypeEnum.Photofield) { comboPilotPos.IsVisible = false; } else { comboPilotPos.IsVisible = true; } LoadPilotPositions(parameters); } }
private void LoadPilotPositions(SceneryParameters parameters) { try { comboPilotPos.Clear(); if ((parameters != null) && (parameters.DefinitionFile != null) && (parameters.SceneryType == SceneryParameters.SceneryTypeEnum.Full3D)) { bool posFound = false; TerrainDefinition definition = new TerrainDefinition(); definition.Load(parameters.SceneryFolder + parameters.DefinitionFile); foreach (DataRow dataRow in definition.PilotPositionTable.Rows) { comboPilotPos.AddItem(dataRow["Name"].ToString(), dataRow); Vector3 pos = (Vector3)dataRow["Position"]; if ((pos.X == Program.Instance.PilotPosition.X) && (pos.Z == Program.Instance.PilotPosition.Z)) { comboPilotPos.SetSelected(dataRow["Name"].ToString()); posFound = true; } } if ((!posFound) && definition.PilotPositionTable.Rows.Count > 0) { SetPilotPosition(parameters, definition.PilotPositionTable.Rows[0]); comboPilotPos.SetSelected(definition.PilotPositionTable.Rows[0]["Name"].ToString()); } } else { comboPilotPos.AddItem("default", null); comboPilotPos.SetSelectedByData(null); SetPilotPosition(parameters, null); } } catch { } }
public PhotoScenery(SceneryParameters parameters) { this.parameters = parameters; BuildCube(); Program.Instance.SwitchToObserverCamera(); }