public void ProcessCommand(IBattleManager battleManager, params string[] arguments)
        {
            if (battleManager == null)
            {
                throw new ArgumentNullException("battleManager");
            }

            if (arguments == null)
            {
                throw new ArgumentNullException("arguments");
            }

            if (arguments.Length < 2)
            {
                throw new ArgumentException("Invalid number of arguments for attack command");
            }

            var attackerIdentifierString = arguments[0];
            var attackerIdentifier = CreatureIdentifier.CreatureIdentifierFromString(attackerIdentifierString);

            var defenderIdentifierString = arguments[1];
            var defenderIdentifier = CreatureIdentifier.CreatureIdentifierFromString(defenderIdentifierString);

            battleManager.Attack(attackerIdentifier, defenderIdentifier);
        }
        public void ProcessCommand(IBattleManager battleManager, params string[] arguments)
        {
            if (battleManager == null)
            {
                throw new ArgumentNullException("battleManager");
            }

            if (arguments == null)
            {
                throw new ArgumentNullException("arguments");
            }

            if (arguments.Length < 2)
            {
                throw new ArgumentException("Invalid number of arguments for attack command");
            }

            var attackerIdentifierString = arguments[0];
            var attackerIdentifier       = CreatureIdentifier.CreatureIdentifierFromString(attackerIdentifierString);

            var defenderIdentifierString = arguments[1];
            var defenderIdentifier       = CreatureIdentifier.CreatureIdentifierFromString(defenderIdentifierString);

            battleManager.Attack(attackerIdentifier, defenderIdentifier);
        }