//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(); }