public void ClearCooldowns(ICommand cmd = null) { if ( cmd == null ) CommandCoolDowns.Clear(); else CommandCoolDowns[MessageLocalizer.GetDefaultLocalization(cmd.CommandName)] = 0; }
public CommandConfiguration(ICommand cmd) : this() { Command = MessageLocalizer.GetDefaultLocalization(cmd.CommandName).ToLowerInvariant(); Cost = cmd.CommandCost; CoolDown = cmd.CommandCoolDown; Enabled = true; Level = cmd.CommandLevel; }
public virtual void Message(string p, params object[] args) { string msg = MessageLocalizer.Localize(this, p, args); if ( (ProxyPlayer != null) && ( (ProxyPlayer.IsOnline) || (ProxyPlayer == Program.ServerPlayer)) && (ProxyPlayer != this)) ProxyPlayer.Message(msg); if (IsOnline) Program.Server.PrivateMessage(this,msg); }
public int GetCoolDown(ICommand cmd) { int timePassed = -1; if (cmd.CommandCoolDown <= 0) return 0; if (CommandCoolDowns.ContainsCommand(MessageLocalizer.GetDefaultLocalization(cmd.CommandName))) { timePassed = Age - CommandCoolDowns[MessageLocalizer.GetDefaultLocalization(cmd.CommandName)]; return (timePassed > cmd.CommandCoolDown) ? 0 : cmd.CommandCoolDown - timePassed; } return 0; }
public static void RegisterCommandHandlers(Assembly x) { foreach (var t in x.GetExportedTypes()) { if (t.GetInterfaces().Contains(typeof(ICommand))) { if (t.IsAbstract) { continue; } try { logger.Info("Loading Command {0} from {1}", t.FullName, x.GetName().Name); ICommand ex = Activator.CreateInstance(t) as ICommand; allCommands[MessageLocalizer.GetDefaultLocalization(ex.CommandName)] = ex; ILogger l = LogManager.GetLogger(t.ToString(), typeof(ExtensionLogger)) as ILogger; ex.Init(l, MessageLocalizer.Instance); if (!Program.Config.Commands.ContainsCommand(MessageLocalizer.GetDefaultLocalization(ex.CommandName))) { Program.Config.Commands.Add(new Config.CommandConfiguration(ex)); } else { Program.Config.Commands.UpdateCommand(ex); } foreach (var item in ex.CommandAliases) { if (!String.IsNullOrEmpty(item)) { allCommands[item.ToLowerInvariant()] = ex; } } Program.Config.Save(true); } catch (Exception ex) { logger.Error("Error loading {0}: {1}", t.ToString(), ex.ToString()); } } } }
internal void UpdateCommand(ICommand cmd) { CommandConfiguration config = this[MessageLocalizer.GetDefaultLocalization(cmd.CommandName)]; cmd.CommandCoolDown = config.CoolDown; cmd.CommandCost = config.Cost; if (cmd.CommandLevel != config.Level) { logger.Warn("{0} Changing Level from {1} to {2}", MessageLocalizer.GetDefaultLocalization(cmd.CommandName), cmd.CommandLevel, config.Level); } cmd.CommandLevel = config.Level; if (config.Alias.Length > 0) { cmd.CommandAliases = config.Alias; } else { config.Alias = cmd.CommandAliases; Program.Config.IsDirty = true; } Program.Config.Save(); }
static void Main(string[] args) { Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; Thread.CurrentThread.CurrentUICulture = System.Globalization.CultureInfo.InvariantCulture; System.Globalization.CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.InvariantCulture; System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = System.Globalization.CultureInfo.InvariantCulture; ConfigureLogging(); Config = Configuration.Load(); Config.UpdateDefaults(); if (Config.IsNewConfiguration) { Config.Save(); Console.WriteLine("Configuration not found. A default-config has been created for you. Please change to your needs and restart the application."); return; } MessageLocalizer.Init(); MessageLocalizer.InitTranslation("english-default"); MessageLocalizer.SaveTranslation(); Server = new Manager(); PlayersManager.Init(); ExtensionManager.LoadExtensions(Server); PlayersManager.Load(); CommandManager.Init(); PositionManager.Init(); PlayersManager.Instance.RegisterPlayers(); Server.Connect(); while (1 == 1) { string cline = Console.ReadLine(); if (cline == "exit") { Server.AllPlayers.Save(); LogManager.Flush(); return; } else { if (cline.StartsWith("!")) { Program.Server.Execute(cline.Substring(1)); continue; } _7DTDManager.LineHandlers.lineServerCommand c = new _7DTDManager.LineHandlers.lineServerCommand(); c.ProcessLine(Program.Server, "INF GMSG: Server: /" + cline); //bool res = cmd.Execute(Server, ServerPlayer, largs); } } }
public override void Message(string p, params object[] args) { string msg = MessageLocalizer.Localize(this, p, args); Console.WriteLine(msg); }
public string Localize(string key,params object[] args) { return MessageLocalizer.Localize(this, key,args); }
public void Confirm(string msg, params object[] args) { Message("[00FF00]" + MessageLocalizer.Localize(this,msg,args) + "[FFFFFF]"); }
public void SetCoolDown(ICommand cmd) { if (cmd.CommandCoolDown <= 0) return; CommandCoolDowns[MessageLocalizer.GetDefaultLocalization(cmd.CommandName)] = Age; }