private void OnNodeItemAdded(CanvasPrinter.NodeItem item) { if (string.IsNullOrEmpty(item.node.metadata)) { return; } if (enableDebug) { Debug.LogFormat("OnNodeItemAdded. metadata={0}", item.node.metadata); } // get LevelMapNode var levelMapNode = item.transform.GetComponent <LevelMapNode>(); // get data context from view var dc = item.transform.GetComponent <IDataContext>(); // bind source if (levelMapNode.nodeType == LevelMapNode.NodeType.Level) { // bind to level node dc.Source = levelNodes[levelMapNode.levelIndex]; } else if (levelMapNode.nodeType == LevelMapNode.NodeType.BossLevel) { // bind to boss level node dc.Source = bossLevelNodes[levelMapNode.levelIndex]; } else { Debug.LogErrorFormat("Unhandled node type {0}", levelMapNode.nodeType); } }
private void OnNodeItemRemoved(CanvasPrinter.NodeItem item) { if (string.IsNullOrEmpty(item.node.metadata)) { return; } if (enableDebug) { Debug.LogFormat("OnNodeItemRemoved. metadata={0}", item.node.metadata); } // get data context from view var dc = item.transform.GetComponent <IDataContext>(); // unbind source dc.Source = null; }