void ScriptSubsystemManaged_IsReloading(object sender, EventArgs e) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { mmw = new Controls.ModernModalWindow("Compiling Scripts..."); })); }
void ScriptSubsystemManaged_HasReloaded(object sender, EventArgs e) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (mmw != null) { mmw.Close(); } mmw = null; })); }
public static void Paste(object dest) { if (dest == null || stored_type == null) { return; } if ((dest as MochaInterface.Component).myType == "CScript") { MochaInterface.CScript cscript = MochaEditor.CastingHelper.CastTo <MochaInterface.CScript>((MochaInterface.Component)dest); MochaScriptSystem.BoundScript bs = MochaScriptSystem.ScriptSubsystemManaged.getInstance().GetBoundScriptFromCScript(cscript); if (bs.scriptObject.GetType() != stored_type) { MochaEditor.Controls.ModernModalWindow mmw = new MochaEditor.Controls.ModernModalWindow("Copy/Paste types do not match."); return; } foreach (var pi in bs.scriptObject.GetType().GetProperties()) { if (pi.Name == "gameObject") { continue; //do not copy the gameObject this is bound to } foreach (CopyPasteData data in clipboard) { if (pi.Name == data.name && pi.PropertyType == data.value.GetType()) { pi.SetValue(bs.scriptObject, data.value); } } } return; } if (dest.GetType() != stored_type) { MochaEditor.Controls.ModernModalWindow mmw = new MochaEditor.Controls.ModernModalWindow("Copy/Paste types do not match."); return; } MochaEditor.PropertyValueConverter pvc = new MochaEditor.PropertyValueConverter(); var pilist = (ObservableCollection <MochaEditor.PropertyValueConverter.PropertyInfo>)pvc.Convert(dest, null, "Component", null); foreach (CopyPasteData data in clipboard) { foreach (MochaEditor.PropertyValueConverter.PropertyInfo pi in pilist) { if (pi.PropertyName == data.name && pi.PropertyType == data.value.GetType()) { pi.PropertyValue = data.value; } } } }
public static void Paste(object dest) { if (dest == null || stored_type == null) return; if ((dest as MochaInterface.Component).myType == "CScript") { MochaInterface.CScript cscript = MochaEditor.CastingHelper.CastTo<MochaInterface.CScript>((MochaInterface.Component)dest); MochaScriptSystem.BoundScript bs = MochaScriptSystem.ScriptSubsystemManaged.getInstance().GetBoundScriptFromCScript(cscript); if (bs.scriptObject.GetType() != stored_type) { MochaEditor.Controls.ModernModalWindow mmw = new MochaEditor.Controls.ModernModalWindow("Copy/Paste types do not match."); return; } foreach (var pi in bs.scriptObject.GetType().GetProperties()) { if (pi.Name == "gameObject") continue; //do not copy the gameObject this is bound to foreach (CopyPasteData data in clipboard) { if (pi.Name == data.name && pi.PropertyType == data.value.GetType()) { pi.SetValue(bs.scriptObject, data.value); } } } return; } if (dest.GetType() != stored_type) { MochaEditor.Controls.ModernModalWindow mmw = new MochaEditor.Controls.ModernModalWindow("Copy/Paste types do not match."); return; } MochaEditor.PropertyValueConverter pvc = new MochaEditor.PropertyValueConverter(); var pilist = (ObservableCollection<MochaEditor.PropertyValueConverter.PropertyInfo>)pvc.Convert(dest, null, "Component", null); foreach (CopyPasteData data in clipboard) { foreach (MochaEditor.PropertyValueConverter.PropertyInfo pi in pilist) { if (pi.PropertyName == data.name && pi.PropertyType == data.value.GetType()) { pi.PropertyValue = data.value; } } } }
private void MakePrefabButton_Click(object sender, RoutedEventArgs e) { StringBuilder ss = new StringBuilder(); EditorSubsystemManaged.getInstance().QueueActionAndBlock(new Action(() => { foreach (GameObject g in Models.EngineManagerModel.instance._selectedGameObjects) { MochaInterface.Prefab.MakePrefabFrom(g); ss.AppendLine(g.GetName()); } })); Controls.ModernModalWindow mmw = new Controls.ModernModalWindow("Prefabs created: " + ss.ToString()); mmw.ShowDialog(); }
void ScriptSubsystemManaged_HasReloaded(object sender, EventArgs e) { Application.Current.Dispatcher.BeginInvoke(new Action(() => { if (mmw != null) mmw.Close(); mmw = null; })); }