Example #1
0
 public void Finish()
 {
     UnityEditor.EditorApplication.update -= Tick;
     if (null != m_mainCameraT)
     {
         m_mainCameraT.transform.parent = m_mainCameraP;
     }
     if (null != m_cameraCtrl)
     {
         GameObject.DestroyImmediate(m_cameraCtrl.gameObject);
     }
     m_cameraCtrl = null;
 }
Example #2
0
    public void Execute()
    {
        Finish();

        if (null != Camera.main)
        {
            m_mainCameraT = Camera.main.transform;
            m_mainCameraP = m_mainCameraT.parent;
        }
        else
        {
            m_mainCameraT = null;
        }

        if (null == m_cameraCtrl)
        {
            CameraTrace[] traces = Resources.FindObjectsOfTypeAll <CameraTrace>();
            foreach (var trace in traces)
            {
                if (trace.gameObject.scene.name == UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene().name)
                {
                    if (null == m_cameraCtrl)
                    {
                        m_cameraCtrl = trace;
                    }
                    else
                    {
                        GameObject.DestroyImmediate(trace.gameObject);
                    }
                }
            }

            if (null == m_cameraCtrl)
            {
                GameObject go = null; // PapeGames.X3.Res.LoadGameObject("Assets/ResourcesWorkspace/Battle/Misc/CameraTrace.prefab");
                if (null != go)
                {
                    m_cameraCtrl = go.GetComponent <CameraTrace>();
                    m_cameraCtrl.Init();
                }
            }

            if (null != m_cameraCtrl)
            {
                m_cameraCtrl.Enter();
                m_cameraCtrl.transform.parent = transform;
            }
        }
        UnityEditor.EditorApplication.update += Tick;
    }