public static void UpdateOverlays(CanvasObject obj) { if (!OverlayMenuTypes.Exists(obj)) { return; } for (int i = 0; i < popups.Count; i++) { if (popups[i].Compare(obj)) { popups.RemoveAt(i); return; } if (popups[i].Compare(obj.GetType()) && !OverlayMenuTypes.AllowMultiple(obj)) { popups.RemoveAt(i); } } IOverlayMenu menu = OverlayMenuTypes.GetMenu(obj); if (menu == null) { return; } popups.Add(menu); OverlayMenuTypes.Sort(popups); }
public void SaveNewObject(CanvasObject subObject, CanvasObject mainObject, bool updateSelection = false) { SaveManager.SaveObjects(subObject, mainObject); if (updateSelection) { DialogueEditorGUI.UpdateSelection(new EditorStates(subObject.Position.center.ToString(), States)); } }
public void SaveNewObject(CanvasObject saveObject) { SaveNewObject(saveObject, false); }
public static bool AllowMultiple(CanvasObject obj) { return(menuTypes.Find(i => i.Key.objectType == obj.GetType()).Key.allowMultiple); }
public static IOverlayMenu GetMenu(CanvasObject obj) { return(menuTypes.Single(i => i.Key.objectType == obj.GetType()).Value.GetConstructors()[0].Invoke(new object[] { obj }) as IOverlayMenu); }
public static bool Exists(CanvasObject obj) { return(menuTypes.Exists(i => i.Key.objectType == obj.GetType())); }