/// <summary> /// Method for updating secondary motivation Aspect ( != attention/satisfaction/confidence) /// </summary> /// /// <param name="ms"> Motivation state for storing the new values. </param> internal void updateSecondaryMotivationAspects(MotivationState ms) { MotivationModel mm = ms.getMotivationModel(); foreach (MotivationAspect ma in mm.motivationAspects.motivationAspectList) { if (!primaryMotivationAspects.Contains(ma.name)) { if (ms.getMotivation().ContainsKey(ma.name)) { try { double sol = FormulaInterpreter.eval(ma.rule); ms.updateMotivationAspect(ma.name, sol); } catch (Exception e) { loggingMAs("Warning: Update for secondary motivation aspects not done.", Severity.Warning); loggingMAs("Exception caught: " + e.Message); } } else { loggingMAs("Warning: Motivation aspect not found!", Severity.Warning); } } } }
/// <summary> /// Returns the Motivation State of a player when provided with player-Id. /// </summary> /// /// <param name="playerId"> Identifier of the player. </param> /// /// <returns> Motivation state of the specified player. </returns> public Dictionary <string, double> getMotivationState() { MotivationState ms = Handler.getMotivationState(); return(ms.getMotivation());; }