/// <summary> /// Adds a node into the scene /// </summary> public void AddNode(NodeInfo nodeInfo) { MDSNode newNode = m_WPNodePrefab; MDSNodeType nodeType = (MDSNodeType)nodeInfo.nodeType; if (nodeType == MDSNodeType.WAYPOINT) { newNode = Instantiate(m_WPNodePrefab); } else { newNode = Instantiate(m_EPNodePrefab); m_TargetNode = newNode; } newNode.NodeInfo = nodeInfo; newNode.transform.position = new Vector3(nodeInfo.px, nodeInfo.py, nodeInfo.pz); if (newNode.nameInputBehaviour != null) { if (MainController.Instance._mode == Mode.EDITOR_MODE) { newNode.nameInputBehaviour.SetInputText(nodeInfo.name); } else { newNode.nameInputBehaviour.gameObject.SetActive(false); } } if (newNode.answerInputBehaviour != null) { if (MainController.Instance._mode == Mode.EDITOR_MODE) { newNode.answerInputBehaviour.SetInputText(nodeInfo.answer); } else { newNode.answerInputBehaviour.gameObject.SetActive(false); } } m_NodeObjList.Add(newNode); if (nodeType == MDSNodeType.ENDPOINT) { m_TargetNodeObjList.Add(newNode); // Add one to number of puzzles if (MainController.Instance._mode == Mode.PLAY_MODE) { MainController.Instance.GetGUIController().puzzlePanel.NumOfPuzzles += 1; } } }
/// <summary> /// Adds a deactivated node into the scene public void AddDeactiveNode(NodeInfo nodeInfo) { MDSNode newNode = m_WPNodePrefab; MDSNodeType nodeType = (MDSNodeType)nodeInfo.nodeType; // Cast stored node type from int to MDSNodeType if (nodeType == MDSNodeType.WAYPOINT) { newNode = Instantiate(m_WPNodePrefab); } else { newNode = Instantiate(m_EPNodePrefab); m_TargetNode = newNode; } newNode.Deactivate(); newNode.NodeInfo = nodeInfo; newNode.transform.position = new Vector3(nodeInfo.px, nodeInfo.py, nodeInfo.pz); if (newNode.nameInputBehaviour != null) { newNode.nameInputBehaviour.SetInputText(nodeInfo.name); } if (newNode.answerInputBehaviour != null) { newNode.answerInputBehaviour.SetInputText(nodeInfo.answer.ToString()); } m_NodeObjList.Add(newNode); if (nodeType == MDSNodeType.ENDPOINT) { m_TargetNodeObjList.Add(newNode); } }
/// <summary> /// Helper function that changes the selected node type using its raw value - int /// </summary> public void ChangeSelectedNodeType(int value) { _selectedNodeType = (MDSNodeType)value; }
/// <summary> /// Helper function that changes the selected node type for node placement /// </summary> public void ChangeSelectedNodeType(MDSNodeType nodeType) { _selectedNodeType = nodeType; }