3 using SiliconStudio.Paradox;
4 using SiliconStudio.Paradox.Games.ViewModel;
10 private EngineContext engineContext;
14 this.engineContext = engineContext;
17 public void GenerateChildren(ViewModelContext context, IViewModelNode viewModelNode, ref
bool handled)
19 var type = viewModelNode.Type;
20 if (viewModelNode.NodeValue is ScriptAssembly)
22 viewModelNode.Children.Add(
new ViewModelNode(
"Url",
new PropertyInfoViewModelContent(
new ParentNodeValueViewModelContent(), typeof(ScriptAssembly).GetProperty(
"Url"))));
23 viewModelNode.Children.Add(
new ViewModelNode(
"Scripts", EnumerableViewModelContent.FromUnaryLambda<ViewModelReference, ScriptAssembly>(
new ParentNodeValueViewModelContent(),
24 (scriptAssembly) => scriptAssembly.Scripts.Select(x =>
new ViewModelReference(x,
true)))));
27 if (viewModelNode.NodeValue is ScriptEntry2)
29 viewModelNode.Children.Add(
new ViewModelNode(
"TypeName",
new PropertyInfoViewModelContent(
new ParentNodeValueViewModelContent(), typeof(ScriptEntry2).GetProperty(
"TypeName"))));
30 viewModelNode.Children.Add(
new ViewModelNode(
"MethodName",
new PropertyInfoViewModelContent(
new ParentNodeValueViewModelContent(), typeof(ScriptEntry2).GetProperty(
"MethodName"))));
31 viewModelNode.Children.Add(
new ViewModelNode(
"Run",
new RootViewModelContent((ExecuteCommand)((viewModel2, parameter) =>
33 var scriptEntry = (ScriptEntry2)viewModel2.Parent.NodeValue;
34 var microThread = engineContext.ScriptManager.RunScript(scriptEntry, null);
void GenerateChildren(ViewModelContext context, IViewModelNode viewModelNode, ref bool handled)
ScriptAssemblyEnumerator(EngineContext engineContext)