/// <summary> /// Asset constructor. /// Creates a new empty Emotional Appraisal Asset. /// </summary> /// <param name="perspective">The initial perspective of the asset.</param> public EmotionalAppraisalAsset() { m_emotionDispositions = new Dictionary <string, EmotionDisposition>(); m_defaultEmotionalDisposition = new EmotionDisposition("*", 1, 0); m_occAffectDerivator = new OCCAffectDerivationComponent(); m_appraisalDerivator = new ReactiveAppraisalDerivator(); }
/// @cond DEV public void SetObjectData(ISerializationData dataHolder, ISerializationContext context) { Description = dataHolder.GetValue <string>("Description"); m_appraisalDerivator = dataHolder.GetValue <ReactiveAppraisalDerivator>("AppraisalRules"); m_occAffectDerivator = new OCCAffectDerivationComponent(); m_emotionDispositions = new Dictionary <string, EmotionDisposition>(); m_defaultEmotionalDisposition = new EmotionDisposition("*", 1, 0); }
public EmotionalAppraisalAsset(string perspective) { m_kb = new KB((Name)perspective); m_am = new AM(); m_am.BindCalls(m_kb); m_emotionalState = new ConcreteEmotionalState(this); m_occAffectDerivator = new OCCAffectDerivationComponent(); m_appraisalDerivator = new ReactiveAppraisalDerivator(); BindCalls(m_kb); }
/// @cond DEV public void SetObjectData(ISerializationData dataHolder, ISerializationContext context) { Description = dataHolder.GetValue <string>("Description"); m_appraisalDerivator = dataHolder.GetValue <ReactiveAppraisalDerivator>("AppraisalRules"); m_occAffectDerivator = new OCCAffectDerivationComponent(); if (m_emotionDispositions == null) { m_emotionDispositions = new Dictionary <string, EmotionDisposition>(); } else { m_emotionDispositions.Clear(); } var dispositions = dataHolder.GetValue <EmotionDisposition[]>("EmotionDispositions"); EmotionDisposition defaultDisposition = null; foreach (var disposition in dispositions) { if (string.Equals(disposition.Emotion, "*", StringComparison.InvariantCultureIgnoreCase)) { if (defaultDisposition == null) { defaultDisposition = disposition; } } else { m_emotionDispositions.Add(disposition.Emotion, disposition); } } if (defaultDisposition == null) { defaultDisposition = new EmotionDisposition("*", 1, 1); } m_defaultEmotionalDisposition = defaultDisposition; m_goals = new Dictionary <string, Goal>(); var goals = dataHolder.GetValue <Goal[]>("Goals"); foreach (var g in goals) { m_goals.Add(g.Name.ToString(), g); } }
public void SetObjectData(ISerializationData dataHolder) { Description = dataHolder.GetValue <string>("Description"); EmotionalHalfLifeDecayTime = dataHolder.GetValue <float>("EmotionalHalfLifeDecayTime"); MoodHalfLifeDecayTime = dataHolder.GetValue <float>("MoodHalfLifeDecayTime"); HalfLifeDecayConstant = dataHolder.GetValue <double>("HalfLifeDecayConstant"); EmotionInfluenceOnMoodFactor = dataHolder.GetValue <float>("EmotionInfluenceOnMoodFactor"); MoodInfluenceOnEmotionFactor = dataHolder.GetValue <float>("MoodInfluenceOnEmotionFactor"); MinimumMoodValueForInfluencingEmotions = dataHolder.GetValue <double>("MinimumMoodValueForInfluencingEmotions"); m_kb = dataHolder.GetValue <KB>("KnowledgeBase"); m_am = dataHolder.GetValue <AM>("AutobiographicMemory"); m_am.BindCalls(m_kb); m_emotionalState = dataHolder.GetValue <ConcreteEmotionalState>("EmotionalState"); m_appraisalDerivator = dataHolder.GetValue <ReactiveAppraisalDerivator>("AppraisalRules"); m_occAffectDerivator = new OCCAffectDerivationComponent(); BindCalls(m_kb); }