public void OnSceneGUI() { if (m_cur == null) { return; } Rect r = new Rect(Screen.width - 170, Screen.height - 120, 160, 80); Vector2 mouse = Event.current.mousePosition; using (new AutoBeginHandles()) { using (new AutoBeginArea(r, m_cur.gameObject.name, "Window")) { using (new AutoBeginHorizontal(GUILayout.Height(20))) { if (m_cur.IsPlaying) { if (GUILayout.Button("stop")) { m_cur.ResetStop(); m_ctrlPlay = false; m_havePlay = true; EditorUtil.SetDirty(m_cur); } if (GUILayout.Button("reset")) { m_cur.ResetPlay(); m_ctrlPlay = true; m_havePlay = true; EditorUtil.SetDirty(m_cur); } //运行时,而且控件不能自己LateUpdate的情况下,要LateUpdate下 if (Application.isEditor && EditorApplication.isPlaying && !m_cur.enabled && m_ctrlPlay) { m_cur.LateUpdate(); } } else { m_ctrlPlay = false; if (GUILayout.Button("play")) { m_cur.ResetPlay(); m_havePlay = true; EditorUtil.SetDirty(m_cur); } } } } } }
static int LateUpdate(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); UI.SimpleHandle obj = (UI.SimpleHandle)ToLua.CheckObject(L, 1, typeof(UI.SimpleHandle)); obj.LateUpdate(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }