下面进入实战操作,先说一下需求,项目组有个关卡编辑器,是用mono脚本写的,放在一个名为NewLevelEditor的场景里,并且需要设置分辨率为FreeAspect,而项目分辨率为1080X1920,启动场景为GameFramework。所以每次要去改一个场景的配置再回来着效果,又要切场景,又要改分辨率很是费劲,如何做一个工具菜单直接进入,退出的时候又能还原到之前的编辑状态呢。代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;
using System.Reflection;
public class NewLevelEditorMenu
{
private static string m_EditorScenePath = "Assets/GameMain/Scenes/NewLevelEditor.unity";
[MenuItem("GameLevelEditor/打开关卡编辑器")]
static void OpenLevelEditor()
{
string lastScenePath = UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene().path;
EditorPrefs.SetString("lastSelectActiveScenePath", lastScenePath);
UnityEditor.SceneManagement.EditorSceneManager.OpenScene(m_EditorScenePath);
Type gameViewType