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);
        }
Beispiel #2
0
        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));
            }
        }
Beispiel #3
0
 public void SaveNewObject(CanvasObject saveObject)
 {
     SaveNewObject(saveObject, false);
 }
Beispiel #4
0
 public static bool AllowMultiple(CanvasObject obj)
 {
     return(menuTypes.Find(i => i.Key.objectType == obj.GetType()).Key.allowMultiple);
 }
Beispiel #5
0
 public static IOverlayMenu GetMenu(CanvasObject obj)
 {
     return(menuTypes.Single(i => i.Key.objectType == obj.GetType()).Value.GetConstructors()[0].Invoke(new object[] { obj }) as IOverlayMenu);
 }
Beispiel #6
0
 public static bool Exists(CanvasObject obj)
 {
     return(menuTypes.Exists(i => i.Key.objectType == obj.GetType()));
 }