private void Initialize()
        {
            GUI.skin.AddCustomStyle(SceneManagerResources.SceneNodeOpenStyle, overrideIfExist: false);
            GUI.skin.AddCustomStyle(SceneManagerResources.SceneNodeCloseStyle, overrideIfExist: false);

            if (isInitialized)
            {
                return;
            }

            sceneManagerTabs = new GUIContent[]
            {
                new GUIContent(SceneManagerResources.VariablesListIcon, "Variables Listing"),
                new GUIContent(SceneManagerResources.SceneOrderIcon, "Organize Scene Iteration"),
                new GUIContent(SceneManagerResources.SceneImportIcon, "Import Scenes")
            };

            sceneFileDragReceiver = new DragReceiver(SceneFileDragValidator, DragAndDropVisualMode.Link);
            sceneFileDragReceiver.OnDragComplete += SceneFileDragReceiver_OnDragComplete;
            RefreshStatuses();

            InitializeSceneImport();
            InitializeVariablesTab();
            InitializeSceneOrderTab();

            NodeEditor.Initialize(serializedSceneManager, this);

            isInitialized = true;
        }
Ejemplo n.º 2
0
 public static void InitViewportControl(DragReceiver drag_)
 {
     _drag = drag_;
     _drag.WhenDragBegin = d => {
         _focusOverride             = _dragFocusOverride;
         _dragInertiaValue          = 0;
         CameraSystem.WorldPosition = MainCamera.transform.position;
     };
     _drag.WhenDrag = (d, offset, pos) => {
         var targetX = CameraSystem.X + offset.x * UnitPerPixel;
         var targetY = CameraSystem.Y + offset.y * UnitPerPixel;
         if (PositionLimit != null)
         {
             (targetX, targetY) = PositionLimit.Limit(targetX, targetY);
         }
         MainCamera.transform.position = CameraSystem.SystemToWorld(
             targetX,
             targetY,
             CameraSystem.Z);
         OnDrag.Invoke(offset, new Vector3(targetX, targetY, CameraSystem.Z));
     };
     _drag.WhenDragEnd = (d, delta) => {
         _focusOverride             = false;
         _dragInertiaValue          = delta.magnitude;
         _dragInertiaDelta          = delta / _dragInertiaValue;
         CameraSystem.WorldPosition = MainCamera.transform.position;
     };
     _drag.WhenPinch = (d, start, distance) => {
         var diff = (distance - start) * zoomSetting.dragFactor * zoomSetting.range * _screenHeightInverse;
         TargetZoom(_zoomTarget - diff);
     };
     ViewportControl(true);
 }
Ejemplo n.º 3
0
        private void Initialize()
        {
            SceneManagerEditorWindow editor = RefreshManager();

            if (editor != null)
            {
                NodeEditor_OnSelectionChanged(editor.NodeEditor.NodeEditor, null);
            }

            scenePathDragReceiver = new DragReceiver(IsValidDrag, DragAndDropVisualMode.Link);
            scenePathDragReceiver.OnDragComplete += ScenePathDragReceiver_OnDragComplete;
        }
Ejemplo n.º 4
0
        private void ScenePathDragReceiver_OnDragComplete(object sender, EventArgs e)
        {
            DragReceiver senderReceiver = sender as DragReceiver;

            if (senderReceiver == null)
            {
                return;
            }

            if (serializedScene == null)
            {
                return;
            }

            serializedScene.AssetPathProp.stringValue = DragAndDrop.paths[0];
            serializedScene.SerializedObject.ApplyModifiedProperties();
        }