private EditorPersuadeItemData GetEditorItemDataByBaseNode(BaseNode node) { EditorPersuadeItemData itemData = new EditorPersuadeItemData(); itemData.itemId = node.Id; itemData.m_Position = new EditorVector2(node.Position); for (int i = 0; i < node.Lets.Count; i++) { if (node.Lets[i].Type == LetTypes.OUTLET) { for (int j = 0; j < node.Lets[i].Connections.Count; j++) { Connection con = node.Lets[i].Connections[j]; EditorConnectionData connectPoint = new EditorConnectionData(); connectPoint.m_connectPoint = new EditorVector2[con.Points.Length]; for (int k = 0; k < con.Points.Length; k++) { connectPoint.m_connectPoint[k] = new EditorVector2(con.Points[k]); } connectPoint.m_nextItemID = con.Inlet.Owner.Id; itemData.m_nextChatItemID.Add(connectPoint); } } } if (node is PersuadeBaseNode) { PersuadeBaseNode persuadeNode = node as PersuadeBaseNode; itemData.talkType = (int)persuadeNode.m_talkType; itemData.persuadeType = (int)persuadeNode.m_type; itemData.content = persuadeNode.content; itemData.evidenceID = persuadeNode.evidenceID; //itemData.feedbackID = persuadeNode.feedbackID; } return(itemData); }
private EditorChatItemData GetEditorChatItemDataByBaseNode(BaseNode node) { EditorChatItemData itemData = new EditorChatItemData(); itemData.m_chatItemID = node.Id; itemData.m_Position = new EditorVector2(node.Position); for (int i = 0; i < node.Lets.Count; i++) { if (node.Lets[i].Type == LetTypes.OUTLET) { for (int j = 0; j < node.Lets[i].Connections.Count; j++) { Connection con = node.Lets[i].Connections[j]; EditorConnectionData connectPoint = new EditorConnectionData(); connectPoint.m_connectPoint = new EditorVector2[con.Points.Length]; for (int k = 0; k < con.Points.Length; k++) { connectPoint.m_connectPoint[k] = new EditorVector2(con.Points[k]); } connectPoint.m_nextItemID = con.Inlet.Owner.Id; itemData.m_nextChatItemID.Add(connectPoint); } } } //itemData.m_nextChatItemID if (node is ButtonNode) { ButtonNode btnNode = node as ButtonNode; itemData.m_chatHead = btnNode.headValue; itemData.m_chatContent = btnNode.contentValue; itemData.m_chatPosition = (int)btnNode.m_headPosition; itemData.m_chatType = (int)btnNode.m_nodeType; if (btnNode.imgValue_00 != null) { itemData.m_chatKeyImages.Add(UnityEditor.AssetDatabase.GetAssetPath(btnNode.imgValue_00)); } if (btnNode.imgValue_01 != null) { itemData.m_chatKeyImages.Add(UnityEditor.AssetDatabase.GetAssetPath(btnNode.imgValue_01)); } if (btnNode.imgValue_02 != null) { itemData.m_chatKeyImages.Add(UnityEditor.AssetDatabase.GetAssetPath(btnNode.imgValue_02)); } if (btnNode.imgValue_03 != null) { itemData.m_chatKeyImages.Add(UnityEditor.AssetDatabase.GetAssetPath(btnNode.imgValue_03)); } } else if (node is ChatOptionContentNode) { ChatOptionContentNode contentNode = (ChatOptionContentNode)node; itemData.m_chatContent = contentNode.contentValue; itemData.m_chatType = (int)ChatNodeType.Content_Word; } else if (node is ChatOptionNode) { ChatOptionNode optionNode = (ChatOptionNode)node; itemData.m_chatContent = optionNode.tex.name; itemData.m_chatType = (int)ChatNodeType.Content_Image; } return(itemData); }