private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { object Selected = ((TreeView)sender).SelectedNode.Tag; if (SelectedDZRChunkElement != null) { SelectedDZRChunkElement.Highlight = false; if (SelectedDZRChunkElement.EditControl != null) { SelectedDZRChunkElement.EditControl.Dispose(); } } if (SelectedArc != null) { if (SelectedArc.EditControl != null) { SelectedArc.EditControl.Dispose(); } } Panel TargetPanel = (Selected is IDZxChunkElement && (IDZxChunkElement)Selected is Generic) ? panel2 : panel1; Panel OtherPanel = (Selected is IDZxChunkElement && (IDZxChunkElement)Selected is Generic) ? panel1 : panel2; OtherPanel.Visible = false; TargetPanel.SuspendLayout(); if (Selected is ZeldaArc) { if (((ZeldaArc)Selected).Filename.Contains("room") || ((ZeldaArc)Selected).Filename.Contains("Room")) { SelectedArc = (ZeldaArc)Selected; SelectedArc.ShowControl(TargetPanel); } } else if (Selected is IDZxChunkElement) { SelectedDZRChunkElement = (IDZxChunkElement)Selected; SelectedDZRChunkElement.Highlight = true; SelectedDZRChunkElement.ShowControl(TargetPanel); if (autoCenterCameraToolStripMenuItem.Checked && (SelectedDZRChunkElement is Generic) == false) { Vector3 CamPos = Vector3.Zero; if (SelectedDZRChunkElement is ACTR) { CamPos = (-((ACTR)SelectedDZRChunkElement).Position * 0.005f); } else if (SelectedDZRChunkElement is RPPN) { CamPos = (-((RPPN)SelectedDZRChunkElement).Position * 0.005f); } else if (SelectedDZRChunkElement is SHIP) { CamPos = (-((SHIP)SelectedDZRChunkElement).Position * 0.005f); } else if (SelectedDZRChunkElement is TGDR) { CamPos = (-((TGDR)SelectedDZRChunkElement).Position * 0.005f); } else if (SelectedDZRChunkElement is TRES) { CamPos = (-((TRES)SelectedDZRChunkElement).Position * 0.005f); } else if (SelectedDZRChunkElement is MULT) { CamPos = (-(new Vector3(((MULT)SelectedDZRChunkElement).Translation.X, 0.0f, ((MULT)SelectedDZRChunkElement).Translation.Y) * 0.005f)); } Helpers.Camera.Initialize(CamPos - new Vector3(0, 0, 2.0f)); } } else { TargetPanel.Visible = false; } TargetPanel.ResumeLayout(); }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { object Selected = ((TreeView)sender).SelectedNode.Tag; if (SelectedDZRChunkElement != null) { SelectedDZRChunkElement.Highlight = false; if (SelectedDZRChunkElement.EditControl != null) SelectedDZRChunkElement.EditControl.Dispose(); } Panel TargetPanel = (Selected is IDZxChunkElement && (IDZxChunkElement)Selected is Generic) ? panel2 : panel1; Panel OtherPanel = (Selected is IDZxChunkElement && (IDZxChunkElement)Selected is Generic) ? panel1 : panel2; OtherPanel.Visible = false; TargetPanel.SuspendLayout(); if (Selected is IDZxChunkElement) { SelectedDZRChunkElement = (IDZxChunkElement)Selected; SelectedDZRChunkElement.Highlight = true; SelectedDZRChunkElement.ShowControl(TargetPanel); if (autoCenterCameraToolStripMenuItem.Checked && (SelectedDZRChunkElement is Generic) == false) { Vector3 CamPos = Vector3.Zero; if (SelectedDZRChunkElement is ACTR) CamPos = (-((ACTR)SelectedDZRChunkElement).Position * 0.005f); else if (SelectedDZRChunkElement is RPPN) CamPos = (-((RPPN)SelectedDZRChunkElement).Position * 0.005f); else if (SelectedDZRChunkElement is SHIP) CamPos = (-((SHIP)SelectedDZRChunkElement).Position * 0.005f); else if (SelectedDZRChunkElement is TGDR) CamPos = (-((TGDR)SelectedDZRChunkElement).Position * 0.005f); else if (SelectedDZRChunkElement is TRES) CamPos = (-((TRES)SelectedDZRChunkElement).Position * 0.005f); else if (SelectedDZRChunkElement is MULT) CamPos = (-(new Vector3(((MULT)SelectedDZRChunkElement).HVTranslation.X, 0.0f, ((MULT)SelectedDZRChunkElement).HVTranslation.Y) * 0.005f)); Helpers.Camera.Initialize(CamPos - new Vector3(0, 0, 2.0f)); } } else TargetPanel.Visible = false; TargetPanel.ResumeLayout(); }