public void TogglePause(TrackRendererEventArgs e) { if (m_isPlaying) { OnPause(e); } else { OnResume(e); } }
public void OnResume(TrackRendererEventArgs e) { if (!m_isPlaying && m_isStartedPlaying && !m_isEnded) { m_isPlaying = true; if (m_resume != null) { m_resume.Invoke(); } if (m_resumeEventHandle != null) { m_resumeEventHandle(this, e); } } }
public void OnPause(TrackRendererEventArgs e) { if (m_isPlaying && m_isStartedPlaying && !m_isEnded) { m_isPlaying = false; if (m_pause != null) { m_pause.Invoke(); } if (m_pauseEventHandle != null) { m_pauseEventHandle(this, e); } } }
protected void OnStop(TrackRendererEventArgs e) { if (m_isStartedPlaying && m_isPlaying && !m_isEnded) { m_isEnded = true; m_isPlaying = false; if (m_stop != null) { m_stop.Invoke(); } if (m_stopEventHandle != null) { m_stopEventHandle(this, e); } } }
private IEnumerator RenderingEnumerator() { yield return(new WaitForSeconds(m_delay)); var wait = new WaitForSeconds(m_intervalTime); while (m_currentTime < m_duration + m_intervalTime) { if (m_isPlaying) { Render(); m_currentTime += m_intervalTime; } yield return(wait); } var args = new TrackRendererEventArgs(); OnStop(args); }
public void OnRestart(TrackRendererEventArgs e) { if (m_isStartedPlaying) { if (m_restart != null) { m_restart.Invoke(); } if (m_restartEventHandle != null) { m_restartEventHandle(this, e); } Restore(); if (m_renderingCoroutine != null) { StopCoroutine(m_renderingCoroutine); } } }
public void OnPlay(TrackRendererEventArgs e) { if (!m_isStartedPlaying) { m_isStartedPlaying = true; m_isPlaying = true; if (m_play != null) { m_play.Invoke(); } if (m_playEventHandle != null) { m_playEventHandle(this, e); } if (m_renderingCoroutine != null) { StopCoroutine(m_renderingCoroutine); } m_renderingCoroutine = StartCoroutine(RenderingEnumerator()); } }
private void Update() { if (Input.GetKeyDown(KeyCode.S)) { var args = new TrackRendererEventArgs(); OnPlaying(args); print("Start!"); } if (Input.GetKeyDown(KeyCode.R)) { var args = new TrackRendererEventArgs(); OnRestart(args); print("ReStart!"); } if (Input.GetKeyDown(KeyCode.P)) { var args = new TrackRendererEventArgs(); OnPause(args); print("Pause"); } if (Input.GetKeyDown(KeyCode.O)) { var args = new TrackRendererEventArgs(); OnResume(args); print("Resume"); } if (Input.GetKeyDown(KeyCode.T)) { var args = new TrackRendererEventArgs(); TogglePause(args); print("TogglePause"); } if (Input.GetKeyDown(KeyCode.U)) { UpdateTrackPosition(); print("UpdateTrackPosition"); } }
public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.BeginVertical(); EditorGUILayout.Space(); GUI.skin.label.fontSize = 24; GUI.skin.label.fontStyle = FontStyle.Bold; GUILayout.Label("TrackRenderer"); EditorGUILayout.Space(); GUI.skin.label.fontSize = 12; GUI.skin.label.fontStyle = FontStyle.Normal; EditorGUILayout.PropertyField(m_duration); EditorGUILayout.PropertyField(m_delay); EditorGUILayout.Space(); if (m_trackRenderer.IsShowStatusProperties = EditorGUILayout.Toggle("Status", m_trackRenderer.IsShowStatusProperties)) { EditorGUILayout.PropertyField(m_isStartedPlaying); EditorGUILayout.PropertyField(m_isPlaying); EditorGUILayout.PropertyField(m_isEnded); } EditorGUILayout.Space(); if (m_trackRenderer.IsShowEventsProperties = EditorGUILayout.Toggle("Events", m_trackRenderer.IsShowEventsProperties)) { EditorGUILayout.PropertyField(m_play); EditorGUILayout.PropertyField(m_stop); EditorGUILayout.PropertyField(m_pause); EditorGUILayout.PropertyField(m_resume); EditorGUILayout.PropertyField(m_restart); } EditorGUILayout.Space(); if (m_trackRenderer.IsShowLineRendererProperties = EditorGUILayout.Toggle("LineRenderer", m_trackRenderer.IsShowLineRendererProperties)) { EditorGUILayout.PropertyField(m_startWidth); EditorGUILayout.PropertyField(m_endWidth); EditorGUILayout.PropertyField(m_startColor); EditorGUILayout.PropertyField(m_endColor); } EditorGUILayout.Space(); if (m_trackRenderer.IsShowGizmosProperties = EditorGUILayout.Toggle("Gizmos", m_trackRenderer.IsShowGizmosProperties)) { EditorGUILayout.PropertyField(m_isDrawGizmos); EditorGUILayout.PropertyField(m_gizmosColor); EditorGUILayout.PropertyField(m_gizmosSize); } EditorGUILayout.Space(); EditorGUILayout.PropertyField(m_trackLength); EditorGUILayout.PropertyField(m_trackPoints, true); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Play")) { var args = new TrackRendererEventArgs(); m_trackRenderer.OnPlay(args); } if (GUILayout.Button("Restart")) { var args = new TrackRendererEventArgs(); m_trackRenderer.OnRestart(args); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Pause")) { var args = new TrackRendererEventArgs(); m_trackRenderer.OnPause(args); } if (GUILayout.Button("Resume")) { var args = new TrackRendererEventArgs(); m_trackRenderer.OnResume(args); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("TogglePause")) { var args = new TrackRendererEventArgs(); m_trackRenderer.TogglePause(args); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); m_trackRenderer.SetTrackLength(); serializedObject.ApplyModifiedProperties(); }