public void Setup(CommandsConsole commands)
 {
     if (commands == null || this.commands != null)
     {
         return;
     }
     this.commands = commands;
     GetMethods(this.commands);
 }
        public void GetMethods(CommandsConsole commands)
        {
            var methods = commands.GetType().GetMethods().Where(m => m.GetCustomAttributes(typeof(BindAttribute), false).Length > 0).ToArray();
            var message = string.Empty;

            for (var i = 0; i < methods.Length; i++)
            {
                var method = methods[i];
                cachedMethods.Add(method.Name, method);
                var _params = method.GetParameters();
                if (method.Name == "Help")
                {
                    continue;
                }
                message += "\n-> <b>" + method.Name + "</b>";

                for (var j = 0; j < _params.Length; j++)
                {
                    message += " <color=#555555>(" + _params[j].ParameterType.Name + ")</color><color=#858585> " + _params[j].Name + "</color>";
                }
            }

            cachedHelp = message;
        }