public Dictionary <Guid, MotionSequence> GenerateMotionSequence(State state) { // feed back if (_lastState.Count != 0) { _sequenceMaker.Feedback(_currentAction.Reward(_lastState, state), _lastState, state); _decisionMaker.Feedback(_souls.Select(x => x.Reward(_lastState, state)).ToList()); } _lastState.ReplaceFrom(state); // forward _currentAction = _decisionMaker.DecideAction(state); return(_sequenceMaker.GenerateSequence(_currentAction, state)); }