SetMoodValue() public method

public SetMoodValue ( float value, EmotionalAppraisalAsset parent ) : void
value float
parent EmotionalAppraisalAsset
return void
            public void SetObjectData(ISerializationData dataHolder)
            {
                m_parent = dataHolder.GetValue <EmotionalAppraisalAsset>("Parent");
                mood.SetMoodValue(dataHolder.GetValue <float>("Mood"), m_parent);
                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
                    {
                        emotionDispositions.Add(disposition.Emotion, disposition);
                    }
                }
                if (defaultDisposition == null)
                {
                    defaultDisposition = new EmotionDisposition("*", 1, 1);
                }
                m_defaultEmotionalDisposition = defaultDisposition;

                var seq = dataHolder.GetValueGraphNode("EmotionalPool") as ISequenceGraphNode;

                foreach (var n in seq)
                {
                    var data    = (n as IObjectGraphNode).ToSerializationData();
                    var emotion = new ActiveEmotion(data, m_parent.Tick);
                    var hash    = calculateHashString(emotion, m_parent.m_am);
                    emotionPool.Add(hash, emotion);
                }
            }
示例#2
0
        public void SetObjectData(ISerializationData dataHolder, ISerializationContext context)
        {
            if (emotionPool == null)
            {
                emotionPool = new Dictionary <string, ActiveEmotion>();
            }
            else
            {
                emotionPool.Clear();
            }

            if (mood == null)
            {
                mood = new Mood();
            }

            this.appraisalConfiguration = dataHolder.GetValue <EmotionalAppraisalConfiguration>("AppraisalConfiguration");
            if (this.appraisalConfiguration == null)
            {
                this.appraisalConfiguration = new EmotionalAppraisalConfiguration();
            }

            mood.SetMoodValue(dataHolder.GetValue <float>("Mood"), this.appraisalConfiguration);
            mood.SetTick0Value(dataHolder.GetValue <ulong>("initialTick"));
            context.PushContext();
            {
                context.Context = (ulong)0; //Tick

                var emotions = dataHolder.GetValue <ActiveEmotion[]>("EmotionalPool");
                foreach (var emotion in emotions)
                {
                    emotionPool.Add(calculateHashString(emotion), emotion);
                }
            }
            context.PopContext();
        }