예제 #1
0
 /// <summary>
 /// コマンドを追加します。
 /// </summary>
 /// <param name="cmd">コマンド</param>
 /// <param name="overwrite">コマンドが重複する場合に上書きする場合はtrue</param>
 /// <returns>追加できた場合はtrue</returns>
 public bool AddCommand(Kbtter4Command cmd, bool overwrite)
 {
     var ov = Commands.FirstOrDefault(p => p.Name == cmd.Name);
     if (!overwrite && ov != null) return false;
     if (ov != null) Commands.Remove(ov);
     Commands.Add(cmd);
     return true;
 }
예제 #2
0
 public void AddCommand(Kbtter4Command cmd)
 {
     Instance.CommandManager.AddCommand(cmd);
 }
예제 #3
0
 public Kbtter4Command CreateCommand(string name, string desc, IEnumerable<string> prm, Func<IDictionary<string, object>, string> func)
 {
     var ret = new Kbtter4Command();
     ret.Name = name;
     ret.Description = desc;
     ret.Function = func;
     foreach (var i in prm)
     {
         var cn = i.TrimStart('!');
         var cp = new Kbtter4CommandParameter(cn, i.StartsWith("!"));
     }
     return ret;
 }
예제 #4
0
 /// <summary>
 /// コマンドを追加します。
 /// 名前が重複する場合は追加されません。
 /// </summary>
 /// <param name="cmd">コマンド</param>
 /// <returns>追加できた場合はtrue</returns>
 public bool AddCommand(Kbtter4Command cmd)
 {
     if (Commands.Count(p => p.Name == cmd.Name) != 0) return false;
     Commands.Add(cmd);
     return true;
 }
예제 #5
0
 private void RegisterDefaultCommand()
 {
     var hc = new Kbtter4Command
     {
         Name = "help",
         Description = "登録されているコマンドの詳細を表示します。",
         Function = Help,
     };
     hc.Parameters.Add(new Kbtter4CommandParameter { Name = "cmd"});
     AddCommand(hc);
 }