/// <summary> /// ワールド拡張の表情リストを取得する /// </summary> /// <param name="compInfo"></param> /// <returns></returns> private static string[] getKagexCharFaceList(KagTagKindInfo compInfo) { string name = getKagexCharNameFromAttrTable(compInfo); if (name == "") { return(null); //キャラクター名が指定されていない } kkde.parse.kagex.KagexCompletionUnit cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (cu == null) { return(null); //ワールド拡張が読み込めていない } string pose = getKagexCharPoseFromAttrTable(compInfo, cu); if (pose == "") { return(null); //キャラクター名が指定されていない } List <string> list = cu.GetCharFaceList(name, pose); if (list == null) { return(null); } return(list.ToArray()); }
/// <summary> /// キャラクターの状態を更新する /// </summary> private void initChar() { m_cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (m_cu == null) { return; //初期化できるデータがない } m_rootNode.Nodes.Clear(); List <string> nameList = m_cu.GetCharNameList(); foreach (string name in nameList) //名前追加 { if (filterCharItem(name, CharParts.Name) == false) { continue; //表示できない } TreeNode nameNode = m_rootNode.Nodes.Add(name); List <string> poseList = m_cu.GetCharPoseList(name); foreach (string pose in poseList) //姿勢追加 { if (filterCharItem(pose, CharParts.Pose) == false) { continue; //表示できない } TreeNode poseNode = nameNode.Nodes.Add(pose); List <string> dressList = m_cu.GetCharDressList(name, pose); List <string> faceList = m_cu.GetCharFaceList(name, pose); foreach (string dress in dressList) //服装追加 { if (filterCharItem(dress, CharParts.Dress) == false) { continue; //表示できない } TreeNode dressNode = poseNode.Nodes.Add(dress); foreach (string face in faceList) //表情追加 { if (filterCharItem(face, CharParts.Face) == false) { continue; //表示できない } dressNode.Nodes.Add(face); } } } } }