예제 #1
0
        //Services
        private void AssembleTree()
        {
            if (_Interface.CurrentScene == null)
            {
                return;
            }
            Scene    CurrentScene = this._Interface.CurrentScene;
            TreeNode SceneNode    = new TreeNode(CurrentScene.Name, 0, 0);

            this._SceneNode = SceneNode;
            for (int i = 0; i < CurrentScene.Objects.Count; i++)
            {
                if (CurrentScene.Objects[i].Type == SceneObjectType.DrawnSceneObject && ((DrawnSceneObject)CurrentScene.Objects[i]).Visual.Type == DrawObjectType.Actor)
                {
                    TreeNode ActorNode = new TreeNode(CurrentScene.Objects[i].Name, 1, 1);
                    ActorNode.Tag = new object[3] {
                        SceneObjectType.DrawnSceneObject, DrawObjectType.Actor, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(ActorNode);
                }
                else if (CurrentScene.Objects[i].Type == SceneObjectType.DrawnSceneObject && ((DrawnSceneObject)CurrentScene.Objects[i]).Visual.Type == DrawObjectType.Camera)
                {
                    TreeNode CameraNode = new TreeNode(CurrentScene.Objects[i].Name, 3, 3);
                    CameraNode.Tag = new object[3] {
                        SceneObjectType.DrawnSceneObject, DrawObjectType.Camera, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(CameraNode);
                }
                else if (CurrentScene.Objects[i].Type == SceneObjectType.DrawnSceneObject && ((DrawnSceneObject)CurrentScene.Objects[i]).Visual.Type == DrawObjectType.Light)
                {
                    TreeNode LightNode = new TreeNode(CurrentScene.Objects[i].Name, 4, 4);
                    LightNode.Tag = new object[3] {
                        SceneObjectType.DrawnSceneObject, DrawObjectType.Light, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(LightNode);
                }
                else if (CurrentScene.Objects[i].Type == SceneObjectType.DrawnSceneObject && ((DrawnSceneObject)CurrentScene.Objects[i]).Visual.Type == DrawObjectType.Background)
                {
                    TreeNode BackgroundNode = new TreeNode(CurrentScene.Objects[i].Name, 5, 5);
                    BackgroundNode.Tag = new object[3] {
                        SceneObjectType.DrawnSceneObject, DrawObjectType.Background, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(BackgroundNode);
                }
                else if (CurrentScene.Objects[i].Type == SceneObjectType.DrawnSceneObject && ((DrawnSceneObject)CurrentScene.Objects[i]).Visual.Type == DrawObjectType.Sprite)
                {
                    TreeNode SpriteNode = new TreeNode(CurrentScene.Objects[i].Name, 6, 6);
                    SpriteNode.Tag = new object[3] {
                        SceneObjectType.DrawnSceneObject, DrawObjectType.Sprite, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(SpriteNode);
                }
                else if (CurrentScene.Objects[i].Type == SceneObjectType.ScriptSceneObject)
                {
                    TreeNode SpriteNode = new TreeNode(CurrentScene.Objects[i].Name, 7, 7);
                    SpriteNode.Tag = new object[3] {
                        SceneObjectType.ScriptSceneObject, ScriptObjectType.CSScript, CurrentScene.Objects[i].ID
                    };
                    SceneNode.Nodes.Add(SpriteNode);
                }
            }
            SceneTree.Nodes.Clear();
            SceneTree.Nodes.Add(SceneNode);
            SceneTree.ExpandAll();
            RefreshSelection();
        }