wServer.realm.entities.player.Player.ProcessCmd C# (CSharp) Method

ProcessCmd() private method

private ProcessCmd ( string cmd, string args ) : void
cmd string
args string
return void
        private void ProcessCmd(string cmd, string[] args)
        {
            if (cmds == null)
            {
                cmds = new Dictionary<string, ICommand>();
                var t = typeof(ICommand);
                foreach (var i in t.Assembly.GetTypes())
                    if (t.IsAssignableFrom(i) && i != t)
                    {
                        var instance = (ICommand)Activator.CreateInstance(i);
                        cmds.Add(instance.Command, instance);
                    }
            }

            ICommand command;
            if (!cmds.TryGetValue(cmd, out command))
            {
                psr.SendPacket(new TextPacket
                {
                    BubbleTime = 0,
                    Stars = -1,
                    Name = "*Error*",
                    Text = "Unknown Command!"
                });
                return;
            }
            try
            {
                ExecCmd(command, args);
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e);
                psr.SendPacket(new TextPacket
                {
                    BubbleTime = 0,
                    Stars = -1,
                    Name = "*Error*",
                    Text = "Error when executing the command!"
                });
            }
        }