joinSolve method
Direct reach via joinM to clients placardM and clause data- Solve inMsg String to extract parts of command.
Implementation
void joinSolve(String inMsg, caller) {
// if caller is registered Mission:
if (joinM.containsKey(caller)) {
List<String> joinInfoL = [
'** PLAN: :join:Solve: has access to all #joined members data, and it',
'resolves callers #FIND calls serching #clause #info and #motto fields',
'by #LANG and #RULE keywords and mediates answer and act to caller.',
''
];
print(
'\n ----->--- :join:Solve: C: $caller --->------------->---------');
joinInfoL.forEach(print);
print(tl.mapToListO(joinM));
print('------------- info map: -----------------------');
///
joinM[caller]!.say.forEach((k, v) => print('$k $v'));
print('-------- name: motto: -----------------------');
///
print(joinM[caller]!.name);
print(joinM[caller]!.motto);
print('------------- report -----------------------');
///
List<String> _l = joinM[caller]!.report(':scoutSolve:', false);
_l.forEach(print);
print('--------placardM: ----------------------------');
print(joinM[caller]!.placardM);
print('--<------ :join:Solve: done ----<-------------<--------- \n');
}
// get #findThisThing, announce it
// search joinM / forEach / clause-info-motto for: / findWord
// Match Word #time #area
// If found: Sender & receiver/all are in same area
// Answer #Match joinM, to give them to do their own actions
// Add Joins and Binds to 2-week, year and connect-table
// Done this search.
}