roll method

int roll(
  1. int rollCount,
  2. dynamic courierFunc
)

Start developing scout roll function Eventually scoutRoll handles all these others: init-open-close-schedule.. scoutRoll call, by: mission_test, dawo_example

Implementation

int roll(int rollCount, var courierFunc) {
  _flowC('    -->--->  :M:scout:$name  opRoll    * * * *  * * * * *  ', _pB);
  _flowC('    :scout:Roll:-info: RunInitOpen, &; close & report. >>', _pB);
  _flowC('>>  :scout: INFO : operationsa are outside chore-world.', _pB);
  int __counter = 0;
  _flowC('-->>-->>--  :scoutR: calling :connector:  -->>-->>--', _pB);

  ///  TODO  C:PING:all: C:BIND:all  re :command:s :bind: :bing:
  ///  Eventually close this connector act inside below loop.
  String connectorMsg =
      ':scout:R: C:PING:all: C:BIND:all :CLIENT :GRANT :N:47345 :VALID 3day';
  //
  connector.join(name, placardM, connectorMsg, name);
  connector.roll();

  //  PLAN: loop inside this function to include #scout and #courier
  for (var i = 0; i < rollCount; i++) {
    __counter++;

    ///  Code: Check feedback from environment; something changed?
    ///  #courier brings something from outside world.
    courierFunc();
  }
  print('-1:run  2:print-cf---3: print:courier:Func.runtimeType- ------');
  Map<String, String> courierM = {
    '1-2 ': '-1:run  2:print-cf--',
    '3:  ': '- print:courier:Func.runtimeType-',
  };
  //  hklTry:
  //  List<String> courierL = boxServe.infoBox(courierM, 8, 35, 29);
  List<String> courierL = [];
  courierL.addAll(boxServe.infoBox(courierM, 8, 35, 29));
  courierL.forEach(print);

  ///  #LEARN:  courier function output:
  print(courierFunc()); //  null
  print(courierFunc); //  Closure: () => void
  print(courierFunc.runtimeType); //  () => void
  print('----- :courier: ------------- \n');
  print(':scout:Roll: :courier:func:  :');

  _flowC('    <---<--  :scout:roll:  Counter: $__counter   * * *', _pB);
  return __counter;
}