Example #1
0
 private void AddNewSceneItemToTree(SceneItemType type, SceneItemGroup itemGroup)
 {
     SceneItem sceneItem;
     sceneItem = InstanciateNewItemOfType(type);
     sceneItem.Name = GetNewSceneItemName();
     AddNewSceneItemInstance(sceneItem, itemGroup, true);          
 }
Example #2
0
        /// <summary>
        /// Creates all the nodes of SceneItems from a group's collection
        /// </summary>
        /// <param name="sceneItemGroup"></param>
        private void LoadSceneItemsFromGroup(SceneItemGroup sceneItemGroup)
        {
            TreeNode rootNode;
            List<SceneItem> itemList = SceneManager.ActiveScene.SceneItems;
            switch (sceneItemGroup)
            {
                case SceneItemGroup.GlobalTemplates:
                    rootNode = treeViewResources.Nodes[1].Nodes[0];
                    itemList = SceneManager.GlobalDataHolder.TemplateItems;
                    break;
                case SceneItemGroup.LocalTemplates:
                    rootNode = treeViewResources.Nodes[1].Nodes[1];
                    itemList = SceneManager.ActiveScene.TemplateItems;
                    break;
                default:
                    itemList = SceneManager.ActiveScene.SceneItems;
                    rootNode = treeViewResources.Nodes[2];
                    break;
            }
            // clear all the nodes
            foreach (TreeNode node in rootNode.Nodes)
            {
                node.Nodes.Clear();
            }
            // add the nodes

            foreach (SceneItem item in itemList)
            {
                SceneItemType itemType = GetTypeOfSceneItem(item);
                TreeNode newNode = rootNode.Nodes[(int)itemType].Nodes.Add(item.Name);
                String icon = GetIconFromType(itemType);
                newNode.SelectedImageKey = newNode.ImageKey = icon;
                newNode.Tag = item;
                // add a reference to the node and the item
                if (sceneItemGroup == SceneItemGroup.SceneInstances)
                {
                    _sceneItemNodes[item] = newNode;
                }
                if (item == _objecToSelect)
                {
                    treeViewResources.SelectedNode = newNode;
                }
                RefreshNodeComponents(newNode);
            }
        }
Example #3
0
 internal void AddNewSceneItemInstance(SceneItem newItem, SceneItemGroup itemGroup, bool selectItem)
 {
     newItem.Position = _sceneCamera.Position + new Vector2(100, 100);
     newItem.SceneParent = SceneManager.ActiveScene;
     if (itemGroup == SceneItemGroup.LocalTemplates)
     {
         newItem.IsTemplate = true;
         SceneManager.ActiveScene.TemplateItems.Add(newItem);
     }
     else if (itemGroup == SceneItemGroup.GlobalTemplates)
     {
         newItem.IsTemplate = true;
         SceneManager.GlobalDataHolder.TemplateItems.Add(newItem);
     }
     else
     {
         newItem.IsTemplate = false;
         SceneManager.ActiveScene.SceneItems.Add(newItem);
     }
     if (selectItem == true)
     {
         _objecToSelect = newItem;
     }
     LoadSceneTreeViewItems();
     SceneWasModified = true;
 }