示例#1
0
        public virtual void StopPlayMode(ILevelEditor levelEditor)
        {
            DestroyPlayer();
            StopPlayModeObjects();
            ToggleEditorCamera(true);

            isPlaying = false;
            OnStopPlayMode?.Invoke();
        }
示例#2
0
        public virtual void StartPlayMode(ILevelEditor levelEditor)
        {
            SpawnPlayModeObjects();
            StartPlayModeObjects();
            ToggleEditorCamera(false);

            isPlaying = true;
            OnStartPlayMode?.Invoke();
        }
        public void StopPlayMode(ILevelEditor levelEditor)
        {
            List <ILevelEditorObject> allObjects = levelEditor.ObjectManager.GetAllObjects();

            for (int i = 0; i < allObjects.Count; i++)
            {
                allObjects[i].StopPlayMode();
            }

            IsPlaying = false;

            OnStopPlayMode?.Invoke();
        }
        protected virtual void SetLevelEditor(ILevelEditor l)
        {
            if (realLevelEditor != null)
            {
                realLevelEditor.SaveManager.OnLevelLoading    -= OnLevelLoading;
                realLevelEditor.SaveManager.OnLevelLoaded     -= OnLevelLoaded;
                realLevelEditor.ObjectManager.OnCreatedObject -= OnObjectManagerCreatedObject;
                realLevelEditor.ObjectManager.OnDeletedObject -= OnObjectManagerDeleteObject;
                realLevelEditor.Selection.OnSelectionChanged  -= OnSelectionChanged;

                realLevelEditor = null;
            }

            if (l != null)
            {
                realLevelEditor = l;
                l.SaveManager.OnLevelLoading    += OnLevelLoading;
                l.SaveManager.OnLevelLoaded     += OnLevelLoaded;
                l.ObjectManager.OnCreatedObject += OnObjectManagerCreatedObject;
                l.ObjectManager.OnDeletedObject += OnObjectManagerDeleteObject;
                l.Selection.OnSelectionChanged  += OnSelectionChanged;
                treeControl.SetItems(l.ObjectManager.GetAllObjects());
            }
        }
示例#5
0
 /// <summary>
 /// Sets the editor that is currently connected to LevelManager.
 /// </summary>
 public void SetEditor(ILevelEditor editor)
 {
     this.editor = editor;
 }