Example #1
0
 public void RemoveNode(AdvancedSceneNode toRemove)
 {
     if (SceneNodeList.Contains(toRemove))
     {
         SceneNodeList.Remove(toRemove);
     }
 }
Example #2
0
 public bool SwitchSelectedNode(AdvancedSceneNode nNode)
 {
     if (mSelectedTransform.Contains(nNode.transform))
     {
         //Debug.Log("CONTAINS TIS NODE: " + mSelectedTransform.IndexOf(nNode.transform));
         SelectionChange(mSelectedTransform.IndexOf(nNode.transform));
         TheMenu.value = mSelectedTransform.IndexOf(nNode.transform);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #3
0
    /*void GetChildrenNames(string blanks, Transform node)
     * {
     *  string space = blanks + kChildSpace;
     *  for (int i = node.childCount - 1; i >= 0; i--)
     *  {
     *      Transform child = node.GetChild(i);
     *      AdvancedSceneNode cn = child.GetComponent<AdvancedSceneNode>();
     *      if (cn != null)
     *      {
     *          mSelectMenuOptions.Add(new Dropdown.OptionData(space + child.name));
     *          mSelectedTransform.Add(child);
     *          GetChildrenNames(blanks + kChildSpace, child);
     *      }
     *  }
     * }*/

    void GetChildrenNames(string blanks, AdvancedSceneNode node)
    {
        string space = blanks + kChildSpace;

        for (int i = node.SceneNodeList.Count - 1; i >= 0; i--)
        {
            AdvancedSceneNode cn = node.SceneNodeList[i];
            if (cn != null)
            {
                mSelectMenuOptions.Add(new Dropdown.OptionData(space + cn.transform.name));
                mSelectedTransform.Add(cn.transform);
                GetChildrenNames(blanks + kChildSpace, cn);
            }
        }
    }
Example #4
0
    void SelectionChange(int index)
    {
        mCurrentSelected.gameObject.GetComponent <MeshRenderer>().material.color = inactiveColor;
        mCurrentSelected.UnSelect();

        mCurrentSelected = mSelectedTransform[index].GetComponent <AdvancedSceneNode>();
        mCurrentSelected.SetToSelect();

        mCurrentSelected.gameObject.GetComponent <MeshRenderer>().material.color = activeColor;

        XformControl.SetSelectedObject(mSelectedTransform[index]);

        primCtrl.GenerateList(mCurrentSelected);
        //mTranslator.SetPositionToSelected(mCurrentSelected.transform);
    }
Example #5
0
    public bool AddNode()
    {
        if (mCurrentSelected == null)
        {
            return(false);
        }
        else
        {
            AdvancedSceneNode nNode = Instantiate(node, nodeContainer.transform).GetComponent <AdvancedSceneNode>();
            nNode.transform.position = new Vector3(mCurrentSelected.transform.position.x + (nodeInitialOffset * offsetDirection),
                                                   mCurrentSelected.transform.position.y - nodeInitialOffset,
                                                   mCurrentSelected.transform.position.z);

            mCurrentSelected.SceneNodeList.Add(nNode);

            GameObject nLine = Instantiate(nodeLine, nodeContainer.transform);
            nLine.GetComponent <NodeLine>().SetLineAttributes(mCurrentSelected.transform, nNode.transform, 0.25f);

            nNode.line           = nLine;
            nNode.transform.name = "Lvl" + (TheMenu.value + 1) + "Node";

            offsetDirection *= -1f;

            /*Dropdown.OptionData nData = new Dropdown.OptionData(nNode.transform.name);
             * mSelectMenuOptions.Add(nData);
             * mSelectedTransform.Add(nNode.transform);
             * TheMenu.AddOptions(mSelectMenuOptions);*/



            GenerateList();
            //Now, select our new current node
            nNode.transform.parent = mCurrentSelected.transform;
            SelectionChange(TheMenu.value + 1);
            TheMenu.value += 1;

            nNode.gameObject.layer = 9; //We set our layer to the NodeLLayer

            return(true);
        }
    }
Example #6
0
    // Use this for initialization
    void Start()
    {
        Debug.Assert(TheMenu != null);
        Debug.Assert(TheRoot != null);
        Debug.Assert(XformControl != null);
        Debug.Assert(node != null);
        Debug.Assert(nodeContainer != null);
        Debug.Assert(nodeLine != null);

        /*mSelectMenuOptions.Add(new Dropdown.OptionData(TheRoot.transform.name));
         * mSelectedTransform.Add(TheRoot.transform);
         * //GetChildrenNames("", TheRoot.transform);
         * GetChildrenNames("", TheRoot);
         * TheMenu.AddOptions(mSelectMenuOptions);*/
        GenerateList();

        TheMenu.onValueChanged.AddListener(SelectionChange);

        mCurrentSelected = TheRoot;
        SelectionChange(0);

        primCtrl.InitializeNodeCtrl(TheRoot);
    }
Example #7
0
    public bool RemoveSelectedNode()
    {
        if (mSelectedTransform.IndexOf(mCurrentSelected.transform) == 0)
        {
            return(false);
        }
        else
        {
            AdvancedSceneNode toDelete = mCurrentSelected;


            int nIndex = mSelectedTransform.IndexOf(mCurrentSelected.transform) - 1;


            toDelete.DeleteSelf();
            GenerateList();
            SelectionChange(nIndex);
            TheMenu.value = nIndex;

            mCurrentSelected.RemoveNode(toDelete);

            return(true);
        }
    }
Example #8
0
    public void GenerateList(AdvancedSceneNode currentNode)
    {
        mSelectedNode = currentNode;

        mSelectMenuOptions.Clear();
        mSelectedTransform.Clear();
        TheMenu.ClearOptions();

        if (currentNode.PrimitiveList.Count <= 0)
        {
            mSelectMenuOptions.Add(new Dropdown.OptionData("No Primitives Available"));
        }
        else
        {
            for (int i = 0; i < currentNode.PrimitiveList.Count; i++)
            {
                mSelectMenuOptions.Add(new Dropdown.OptionData(currentNode.PrimitiveList[i].transform.name));
                mSelectedTransform.Add(currentNode.PrimitiveList[i].transform);
            }
        }

        SelectionChange(0);
        TheMenu.AddOptions(mSelectMenuOptions);
    }
Example #9
0
 public void InitializeNodeCtrl(AdvancedSceneNode root)
 {
     GenerateList(root);
     TheMenu.onValueChanged.AddListener(SelectionChange);
     SelectionChange(0);
 }