コード例 #1
0
        private void Item_Selected(object sender, RoutedEventArgs e)
        {
            ListBoxItem item = sender as ListBoxItem;

            Hierarchy.SceneObject obj = Hierarchy.GetObject(item.Tag as string);
            Hierarchy.ChangeObjectFocus(obj);
        }
コード例 #2
0
        public void UpdateProperty(object value)
        {
            Hierarchy.SceneObject obj = value as Hierarchy.SceneObject;

            currentObjectGuid = obj.Guid;

            if (!templateApplied)
            {
                return;
            }

            color.UpdateProperty((CldVector3)obj.MeshRenderer.Color);
        }
コード例 #3
0
        public void UpdateProperty(object value)
        {
            Hierarchy.SceneObject obj = value as Hierarchy.SceneObject;

            currentObjectGuid = obj.Guid;

            if (!templateApplied)
            {
                return;
            }

            name.UpdateProperty(obj.Name);
            guid.UpdateProperty(obj.Guid);
        }
コード例 #4
0
        public void UpdateProperty(object value)
        {
            Hierarchy.SceneObject sceneObject = value as Hierarchy.SceneObject;

            currentObjectGuid = sceneObject.Guid;

            if (!templateApplied)
            {
                return;
            }

            position.UpdateProperty(sceneObject.Transform.Position);
            rotation.UpdateProperty(sceneObject.Transform.Rotation);
            scale.UpdateProperty(sceneObject.Transform.Scale);
        }
コード例 #5
0
        public Editor()
        {
            InitializeComponent();
            this.Loaded += Editor_Loaded;

#if DEBUG
            var body = new Hierarchy.SceneObject("Debug Cube 4");
            body.Transform.Position = new CldVector3(0, 0.5f, 0);
            body.Transform.Scale    = new CldVector3(1, 1, 1);
            body.MeshRenderer       = new MeshRenderer {
                Color = Color.SkyBlue, Mesh = new Box()
            };
            var head = new Hierarchy.SceneObject("Debug Cube 5");
            head.Transform.Position = new CldVector3(0, 1.4f, 0);
            head.Transform.Scale    = new CldVector3(0.8f, 0.8f, 0.8f);
            head.MeshRenderer       = new MeshRenderer {
                Color = Color.Aquamarine, Mesh = new Box()
            };
            var eye1 = new Hierarchy.SceneObject("Debug Sphere 6");
            eye1.Transform.Position = new CldVector3(-0.2f, 1.6f, -0.4f);
            eye1.Transform.Scale    = new CldVector3(0.15f, 0.15f, 0.07f);
            eye1.MeshRenderer       = new MeshRenderer {
                Color = Color.Black, Mesh = new Icosphere(1)
            };
            var eye2 = new Hierarchy.SceneObject("Debug Sphere 7");
            eye2.Transform.Position = new CldVector3(0.2f, 1.6f, -0.4f);
            eye2.Transform.Scale    = new CldVector3(0.15f, 0.15f, 0.07f);
            eye2.MeshRenderer       = new MeshRenderer {
                Color = Color.Black, Mesh = new Icosphere(1)
            };
            var mouth = new Hierarchy.SceneObject("Debug Sphere 8");
            mouth.Transform.Position = new CldVector3(0, 1.2f, -0.4f);
            mouth.Transform.Scale    = new CldVector3(0.3f, 0.07f, 0.07f);
            mouth.MeshRenderer       = new MeshRenderer {
                Color = Color.Pink, Mesh = new Icosphere(1)
            };


            Hierarchy.HierarchyObjectList.Add(body);
            Hierarchy.HierarchyObjectList.Add(head);
            Hierarchy.HierarchyObjectList.Add(eye1);
            Hierarchy.HierarchyObjectList.Add(eye2);
            Hierarchy.HierarchyObjectList.Add(mouth);
#endif
        }
コード例 #6
0
        private void CreateSubMenuItem_OnClick(object sender, RoutedEventArgs e)
        {
            MenuItem item = sender as MenuItem;

            if (item != null)
            {
                switch (item.Header)
                {
                case "Sphere":
                    Hierarchy.SceneObject obj = new Hierarchy.SceneObject("Sphere");
                    obj.MeshRenderer       = new MeshRenderer();
                    obj.MeshRenderer.Color = new GLColor(1, 1, 1, 1);
                    obj.MeshRenderer.Mesh  = new Icosphere(1);
                    Hierarchy.HierarchyObjectList.Add(obj);

                    Hierarchy.TriggerHierarchyUpdate();
                    break;
                }
            }
        }
コード例 #7
0
 public static void OnSceneObjectFocus(Hierarchy.SceneObject
                                       obj) => SceneObjectFocusEvent?.Invoke(obj);