/// <summary> /// ワールド拡張の服装リストを取得する /// </summary> /// <param name="compInfo"></param> /// <returns></returns> private static string[] getKagexCharDressList(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.GetCharDressList(name, pose); if (list == null) { return(null); } return(list.ToArray()); }
/// <summary> /// ダイアログを表示したとき /// </summary> private void WorldExObjectSelectDialog_Shown(object sender, EventArgs e) { m_cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (m_cu == null) { return; //初期化できるデータがない } if (m_mode == Mode.Event) { initListViewItem(m_cu.GetEventList()); } else if (m_mode == Mode.Stage) { initListViewItem(m_cu.GetStageList()); } if (m_selectedText != "") { foreach (ListViewItem item in objectListView.Items) { if (item.Text == m_selectedText) { item.Selected = true; //選択状態にする objectListView.EnsureVisible(item.Index); //見える位置までスクロールする break; } } } objectListView.Focus(); }
/// <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); } } } } }
/// <summary> /// プロパティ情報のコンバーターを更新する /// </summary> public void UpdatePropertyGridConverter() { //リスト情報初期化 kkde.parse.kagex.KagexCompletionUnit cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (cu == null) { return; } PropertyGridWorldExActionConverter.SetList(cu.GetActionList()); PropertyGridWorldExStimeConverter.SetList(cu.GetTimeList()); PropertyGridWorldExTransConverter.SetList(cu.GetTransList()); PropertyGridWorldExPosConverter.SetList(cu.GetPosList()); PropertyGridWorldExLevelConverter.SetList(cu.GetLevelList()); }
/// <summary> /// すでにかかれている属性リストからキャラクターの姿勢を取得する /// </summary> /// <param name="compInfo"></param> /// <param name="cu"></param> /// <returns></returns> private static string getKagexCharPoseFromAttrTable(KagTagKindInfo compInfo, kkde.parse.kagex.KagexCompletionUnit cu) { string pose; if (compInfo.AttrTable.ContainsKey("pose")) { pose = compInfo.AttrTable["pose"]; } else { pose = ""; } return(pose); }
/// <summary> /// ワールド拡張のトランジションリストを取得する /// </summary> /// <returns></returns> private static string[] getKagexTransList() { kkde.parse.kagex.KagexCompletionUnit cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (cu == null) { return(null); //ワールド拡張が読み込めていない } List <string> list = cu.GetTransList(); if (list == null) { return(null); } return(list.ToArray()); }
/// <summary> /// KAGEXワールド拡張のキャラクタ名リストを取得する /// </summary> /// <param name="compInfo"></param> /// <returns></returns> private static string[] getKagexCharNameList(KagTagKindInfo compInfo) { kkde.parse.kagex.KagexCompletionUnit cu = GlobalStatus.ParserSrv.GetKagexEnvinitInfo(); if (cu == null) { return(null); } List <string> list = cu.GetCharNameList(); if (list == null) { return(null); } return(list.ToArray()); }