本文整理汇总了C#中ISerializationContext.PopContext方法的典型用法代码示例。如果您正苦于以下问题:C# ISerializationContext.PopContext方法的具体用法?C# ISerializationContext.PopContext怎么用?C# ISerializationContext.PopContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISerializationContext
的用法示例。
在下文中一共展示了ISerializationContext.PopContext方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetObjectData
public void SetObjectData(ISerializationData dataHolder, ISerializationContext context)
{
if(emotionPool==null)
emotionPool = new Dictionary<string, ActiveEmotion>();
else
emotionPool.Clear();
if(emotionDispositions==null)
emotionDispositions = new Dictionary<string, EmotionDisposition>();
else
emotionDispositions.Clear();
if(mood==null)
mood = new Mood();
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;
context.PushContext();
{
context.Context = m_parent.Tick;
var emotions = dataHolder.GetValue<ActiveEmotion[]>("EmotionalPool");
foreach (var emotion in emotions)
{
var hash = calculateHashString(emotion, m_parent.m_am);
emotionPool.Add(hash, emotion);
}
}
context.PopContext();
}