本文整理汇总了C#中ScriptManager.AddScriptInstance方法的典型用法代码示例。如果您正苦于以下问题:C# ScriptManager.AddScriptInstance方法的具体用法?C# ScriptManager.AddScriptInstance怎么用?C# ScriptManager.AddScriptInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScriptManager
的用法示例。
在下文中一共展示了ScriptManager.AddScriptInstance方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Entity_With_DelayedFunc
public void Entity_With_DelayedFunc()
{
var serializer = new CrySerializer();
using (var stream = new MemoryStream())
{
var scriptManager = new ScriptManager();
scriptManager.AddScriptInstance(new TestEntity(), ScriptType.Entity);
serializer.Serialize(stream, scriptManager.Scripts);
scriptManager.Scripts = serializer.Deserialize(stream) as List<CryScript>;
}
}
示例2: Serialize_Native_Scripts
public void Serialize_Native_Scripts()
{
var serializer = new CrySerializer();
using(var stream = new MemoryStream())
{
var scriptManager = new ScriptManager();
scriptManager.AddScriptInstance(new NativeEntity(1, IntPtr.Zero), ScriptType.Entity);
scriptManager.AddScriptInstance(new NativeEntity(2, IntPtr.Zero), ScriptType.Entity);
scriptManager.AddScriptInstance(new NativeActor(3), ScriptType.Actor);
serializer.Serialize(stream, scriptManager.Scripts);
scriptManager.Scripts = serializer.Deserialize(stream) as List<CryScript>;
Assert.NotNull(scriptManager.Scripts);
Assert.Equal(2, scriptManager.Scripts.Count);
var entityScript = scriptManager.FindScript(ScriptType.Entity, x => x.Type == typeof(NativeEntity));
Assert.NotSame(default(CryScript), entityScript);
Assert.NotNull(entityScript.ScriptInstances);
Assert.Equal<int>(1, (entityScript.ScriptInstances[0] as NativeEntity).Id);
Assert.Equal<int>(2, (entityScript.ScriptInstances[1] as NativeEntity).Id);
var actorScript = scriptManager.FindScript(ScriptType.Entity, x => x.Type == typeof(NativeActor));
Assert.NotSame(default(CryScript), actorScript);
Assert.NotNull(actorScript.ScriptInstances);
Assert.Equal<int>(3, (actorScript.ScriptInstances[0] as NativeActor).Id);
}
}