Beispiel #1
0
        /// <summary>
        /// 実行中のプラグイン名を取得する
        /// </summary>
        /// <returns>プラグイン名</returns>
        public List <string> GetPlugin()
        {
            if (api.Player.LoginStatus != (int)LoginStatus.LoggedIn)
            {
                return(new List <string>());
            }
            chat.Reset();
            api.ThirdParty.SendString("//plugin_list");
            List <string> ret = new List <string>();
            var           cl  = new EliteAPI.ChatEntry();

            for (int i = 0; i < this.MaxLoopCount && !MiscTool.IsRegexString(cl.Text, REGEX_PLUGIN_END); i++)
            {
                while (chat.GetNextChatLine(out cl))
                {
                    if (MiscTool.IsRegexString(cl.Text, REGEX_PLUGIN))
                    {
                        List <string> reg  = MiscTool.GetRegexString(cl.Text, REGEX_PLUGIN);
                        string[]      work = reg[0].Split(',');
                        ret.Add(work[work.Count() - 1]);
                    }
                    else if (MiscTool.IsRegexString(cl.Text, REGEX_PLUGIN_END))
                    {
                        break;
                    }
                }
                Thread.Sleep(this.BaseWait);
            }
            return(ret);
        }
Beispiel #2
0
 /// <summary>
 /// チャットからタイムスタンプを削除
 /// タイムスタンプの表示形式が[HH:MM]の場合、EliteAPIでタイムスタンプをクリアしてくれない
 /// </summary>
 /// <param name="iText"></param>
 /// <returns></returns>
 private string RemoveTimeStamp(string iText)
 {
     if (MiscTool.IsRegexString(iText, REGEX_TIMESTAMP_HHMM))
     {
         var reg = MiscTool.GetRegexString(iText, REGEX_TIMESTAMP_HHMM);
         return(reg[2]);
     }
     else
     {
         return(iText);
     }
 }
Beispiel #3
0
        /// <summary>
        /// 実行中のアドオン名を取得する
        /// </summary>
        /// <returns>アドオン名</returns>
        public List <string> GetAddon()
        {
            if (api.Player.LoginStatus != (int)LoginStatus.LoggedIn)
            {
                return(new List <string>());
            }
            chat.Reset();
            api.ThirdParty.SendString("//lua list");
            Thread.Sleep(this.BaseWait);
            api.ThirdParty.SendString("/echo " + REGEX_ADDON_END);

            List <string> ret      = new List <string>();
            var           cl       = new EliteAPI.ChatEntry();
            bool          startFlg = false;

            for (int i = 0; i < this.MaxLoopCount && !MiscTool.IsRegexString(cl.Text, REGEX_ADDON_END); i++)
            {
                while (chat.GetNextChatLine(out cl))
                {
                    if (!startFlg)
                    {
                        if (MiscTool.IsRegexString(cl.Text, REGEX_ADDON_START))
                        {
                            startFlg = true;
                        }
                    }
                    else
                    {
                        if (MiscTool.IsRegexString(cl.Text, REGEX_ADDON_END))
                        {
                            break;
                        }
                        else if (MiscTool.IsRegexString(cl.Text, REGEX_ADDON))
                        {
                            List <string> reg = MiscTool.GetRegexString(cl.Text, REGEX_ADDON);
                            ret.Add(reg[0].Trim());
                        }
                    }
                }
                Thread.Sleep(this.BaseWait);
            }
            return(ret);
        }