示例#1
0
        private void ElementSelected(WorldElementTreeViewModel ele)
        {
            if (ele == null)
            {
                ResetValues();

                editor_ElementGrid.Visibility = Visibility.Collapsed;
                editor_ObjectGrid.Visibility  = Visibility.Collapsed;

                return;
            }

            _selectedObject  = null;
            _selectedElement = ele;

            editor_NameText.Text            = ele.Text;
            editor_UseRotFlagsBox.IsChecked = ele.WorldElement.usesRotFlags;
            editor_XYZRotFlagsBox.Text      = "0x" + ele.WorldElement.xyzRotFlags.ToString("X4");
            editor_CosBox.Text  = ele.WorldElement.cosAlpha.ToString(CultureInfo.InvariantCulture);
            editor_SinBox.Text  = ele.WorldElement.sinAlpha.ToString(CultureInfo.InvariantCulture);
            editor_PosXBox.Text = ele.WorldElement.pos.X.ToString(CultureInfo.InvariantCulture);
            editor_PosYBox.Text = ele.WorldElement.pos.Y.ToString(CultureInfo.InvariantCulture);
            editor_PosZBox.Text = ele.WorldElement.pos.Z.ToString(CultureInfo.InvariantCulture);

            editor_ElementGrid.Visibility = Visibility.Visible;
            editor_ObjectGrid.Visibility  = Visibility.Collapsed;

            // Expand after values have changed
            if (!editorExpander.IsExpanded)
            {
                editorExpander.IsExpanded = true;
            }
        }
示例#2
0
        private void OnWorldElementSelected(WorldElementTreeViewModel worldElementModel)
        {
            SelectedNodeImage        = worldElementModel.WorldElement.Texture;
            _modelViewModel.Texture  = SelectedNodeImage;
            _modelViewModel.AnimData = null;
            _modelViewModel.VifModel = worldElementModel.WorldElement.model;

            _window.tabControl.SelectedIndex = 1;                   // Model View
            _window.ResetCamera();
            _window.SetViewportText(1, worldElementModel.Text, ""); // Set Model View Text
        }
示例#3
0
        private void ElementSelected(WorldElementTreeViewModel ele)
        {
            if (ele == null)
            {
                propertiesArea.SelectedObject  = null;
                propertiesArea.SelectedElement = null;
                return;
            }

            propertiesArea.SelectedObject  = null;
            propertiesArea.SelectedElement = ele;

            // Expand after values have changed
            if (!editorExpander.IsExpanded)
            {
                editorExpander.IsExpanded = true;
            }
        }
示例#4
0
        void viewport_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (e.ChangedButton == MouseButton.Left && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
            {
                var hitResult = GetHitTestResult(e.GetPosition(viewport));

                var levelViewModel = (LevelViewModel)DataContext;
                var worldNode      = levelViewModel.WorldNode;

                /*if (!worldNode.IsExpanded)
                 * {
                 *  worldNode.IsExpanded = true;
                 * }*/

                WorldElementTreeViewModel selectedElement = null;

                if (worldNode == null)
                {
                    ElementSelected(null);
                    return;
                }

                var vod = levelViewModel.ObjectManager.HitTest(hitResult);

                if (vod != null)
                {
                    ObjectSelected(vod);
                    return;
                }

                for (var i = 0; i < worldNode.Children.Count; i++)
                {
                    if (levelViewModel.Scene[i + 2] == hitResult)
                    {
                        selectedElement = (WorldElementTreeViewModel)worldNode.Children[i];
                        break;
                    }
                }

                ElementSelected(selectedElement);
            }
        }
示例#5
0
        void ResetValues()
        {
            _selectedElement = null;

            editor_NameText.Text                    = "No Element Selected";
            editor_UseRotFlagsBox.IsChecked         = false;
            editor_XYZRotFlagsBox.Text              =
                editor_CosBox.Text                  =
                    editor_SinBox.Text              =
                        editor_PosXBox.Text         =
                            editor_PosYBox.Text     =
                                editor_PosZBox.Text = null;

            editor_Obj_NameBox.Text                           =
                editor_Obj_I6Box.Text                         =
                    editor_Obj_Float1Box.Text                 =
                        editor_Obj_Float2Box.Text             =
                            editor_Obj_Float3Box.Text         =
                                editor_Obj_PropertiesBox.Text = null;
        }
示例#6
0
        private void ObjectSelected(VisualObjectData obj)
        {
            if (obj == null)
            {
                ResetValues();

                editor_ElementGrid.Visibility = Visibility.Collapsed;
                editor_ObjectGrid.Visibility  = Visibility.Collapsed;

                return;
            }

            _selectedElement = null;
            _selectedObject  = obj;

            editor_NameText.Text      = "Object";
            editor_Obj_NameBox.Text   = obj.ObjectData.Name;
            editor_Obj_I6Box.Text     = "0x" + obj.ObjectData.I6.ToString("X4");
            editor_Obj_Float1Box.Text = obj.ObjectData.Floats[0].ToString(CultureInfo.InvariantCulture);
            editor_Obj_Float2Box.Text = obj.ObjectData.Floats[1].ToString(CultureInfo.InvariantCulture);
            editor_Obj_Float3Box.Text = obj.ObjectData.Floats[2].ToString(CultureInfo.InvariantCulture);
            if (obj.ObjectData.Properties != null && obj.ObjectData.Properties.Count > 0)
            {
                editor_Obj_PropertiesBox.Text = string.Join("\n", obj.ObjectData.Properties);
            }
            else
            {
                editor_Obj_PropertiesBox.Text = null;
            }

            editor_ElementGrid.Visibility = Visibility.Collapsed;
            editor_ObjectGrid.Visibility  = Visibility.Visible;

            // Expand after values have changed
            if (!editorExpander.IsExpanded)
            {
                editorExpander.IsExpanded = true;
            }
        }
        private void OnWorldElementSelected(WorldElementTreeViewModel worldElementModel)
        {
            SelectedNodeImage = worldElementModel.WorldElement.Texture;
            _modelViewModel.Texture = SelectedNodeImage;
            _modelViewModel.AnimData = null;
            _modelViewModel.VifModel = worldElementModel.WorldElement.model;

            _window.tabControl.SelectedIndex = 1; // Model View
            _window.ResetCamera();
            _window.SetViewportText(1, worldElementModel.Text, ""); // Set Model View Text
        }
示例#8
0
        void ResetValues()
        {
            _selectedElement = null;

            editor_NameText.Text = "No Element Selected";
            editor_UseRotFlagsBox.IsChecked = false;
            editor_XYZRotFlagsBox.Text =
                editor_CosBox.Text =
                    editor_SinBox.Text =
                        editor_PosXBox.Text =
                            editor_PosYBox.Text =
                                editor_PosZBox.Text = null;

            editor_Obj_NameBox.Text =
                editor_Obj_I6Box.Text =
                    editor_Obj_Float1Box.Text =
                        editor_Obj_Float2Box.Text =
                            editor_Obj_Float3Box.Text =
                                editor_Obj_PropertiesBox.Text = null;
        }
示例#9
0
        private void ObjectSelected(VisualObjectData obj)
        {
            if (obj == null)
            {
                ResetValues();

                editor_ElementGrid.Visibility = Visibility.Collapsed;
                editor_ObjectGrid.Visibility = Visibility.Collapsed;

                return;
            }

            _selectedElement = null;
            _selectedObject = obj;

            editor_NameText.Text = "Object";
            editor_Obj_NameBox.Text = obj.ObjectData.Name;
            editor_Obj_I6Box.Text = "0x" + obj.ObjectData.I6.ToString("X4");
            editor_Obj_Float1Box.Text = obj.ObjectData.Floats[0].ToString(CultureInfo.InvariantCulture);
            editor_Obj_Float2Box.Text = obj.ObjectData.Floats[1].ToString(CultureInfo.InvariantCulture);
            editor_Obj_Float3Box.Text = obj.ObjectData.Floats[2].ToString(CultureInfo.InvariantCulture);
            if (obj.ObjectData.Properties != null && obj.ObjectData.Properties.Count > 0)
            {
                editor_Obj_PropertiesBox.Text = string.Join("\n", obj.ObjectData.Properties);
            }
            else
            {
                editor_Obj_PropertiesBox.Text = null;
            }

            editor_ElementGrid.Visibility = Visibility.Collapsed;
            editor_ObjectGrid.Visibility = Visibility.Visible;

            // Expand after values have changed
            if (!editorExpander.IsExpanded)
                editorExpander.IsExpanded = true;
        }
示例#10
0
        private void ElementSelected(WorldElementTreeViewModel ele)
        {
            if (ele == null)
            {
                ResetValues();

                editor_ElementGrid.Visibility = Visibility.Collapsed;
                editor_ObjectGrid.Visibility = Visibility.Collapsed;

                return;
            }

            _selectedObject = null;
            _selectedElement = ele;

            editor_NameText.Text = ele.Text;
            editor_UseRotFlagsBox.IsChecked = ele.WorldElement.usesRotFlags;
            editor_XYZRotFlagsBox.Text = "0x"+ele.WorldElement.xyzRotFlags.ToString("X4");
            editor_CosBox.Text = ele.WorldElement.cosAlpha.ToString(CultureInfo.InvariantCulture);
            editor_SinBox.Text = ele.WorldElement.sinAlpha.ToString(CultureInfo.InvariantCulture);
            editor_PosXBox.Text = ele.WorldElement.pos.X.ToString(CultureInfo.InvariantCulture);
            editor_PosYBox.Text = ele.WorldElement.pos.Y.ToString(CultureInfo.InvariantCulture);
            editor_PosZBox.Text = ele.WorldElement.pos.Z.ToString(CultureInfo.InvariantCulture);

            editor_ElementGrid.Visibility = Visibility.Visible;
            editor_ObjectGrid.Visibility = Visibility.Collapsed;

            // Expand after values have changed
            if (!editorExpander.IsExpanded)
                editorExpander.IsExpanded = true;
        }