﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RektMod.PersistentData;

namespace RektMod.Chat.Commands
{
    public abstract class CommandBase : ICommand
    {
        internal protected string _prefix = "";

        public abstract string Command { get; }

        public abstract string CommandDescription { get; }

        public abstract string CommandHelp { get; }

        public virtual CommandLevel Level
        {
            get
            {
                return CommandLevel.Player;
            }
        }

        public abstract void HandleCommand(ClientInfo _cInfo, Player _player, string _command, string[] args, CommandAPI API);

        public void Init(CommandAPI api)
        {
            _prefix = api.CurrentConfig.GetPrefix(Level);
        }

    }

}
