/// <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; }
public void AddCommand(Kbtter4Command cmd) { Instance.CommandManager.AddCommand(cmd); }
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; }
/// <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; }
private void RegisterDefaultCommand() { var hc = new Kbtter4Command { Name = "help", Description = "登録されているコマンドの詳細を表示します。", Function = Help, }; hc.Parameters.Add(new Kbtter4CommandParameter { Name = "cmd"}); AddCommand(hc); }