private void UpdateEmotions(IAppraisalFrame frame, Dictionary <string, Goal> goals, IEmotionalState emotionalState, AM am)
        {
            var emotions = m_occAffectDerivator.AffectDerivation(this, goals, frame);

            foreach (var emotion in emotions)
            {
                var activeEmotion = emotionalState.AddEmotion(emotion, am, GetEmotionDisposition(emotion.EmotionType), am.Tick);
                if (activeEmotion == null)
                {
                    continue;
                }
            }
        }
        private void UpdateEmotions(IAppraisalFrame frame, IEmotionalState emotionalState, AM am)
        {
            if (_lastFrameAppraisal > frame.LastChange)
            {
                return;
            }

            var emotions = m_occAffectDerivator.AffectDerivation(this, frame);

            foreach (var emotion in emotions)
            {
                var activeEmotion = emotionalState.AddEmotion(emotion, am, GetEmotionDisposition(emotion.EmotionType), am.Tick);
                if (activeEmotion == null)
                {
                    continue;
                }
            }

            _lastFrameAppraisal = frame.LastChange;
        }