Skip to content

Instantly share code, notes, and snippets.

@yasirkula
Last active October 7, 2024 12:27
Show Gist options
  • Select an option

  • Save yasirkula/2a7b5c3a678215a7e819144f63964806 to your computer and use it in GitHub Desktop.

Select an option

Save yasirkula/2a7b5c3a678215a7e819144f63964806 to your computer and use it in GitHub Desktop.

Revisions

  1. yasirkula revised this gist Feb 27, 2024. 1 changed file with 16 additions and 10 deletions.
    26 changes: 16 additions & 10 deletions BenchmarkEnterPlayMode.cs
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,20 @@
    [InitializeOnLoadMethod]
    private static void BenchmarkEnterPlayMode()
    using UnityEditor;
    using UnityEngine;

    public class BenchmarkEnterPlayMode
    {
    void OnPlayModeStateChanged( PlayModeStateChange state )
    [InitializeOnLoadMethod]
    private static void Initialize()
    {
    if( state == PlayModeStateChange.ExitingEditMode || state == PlayModeStateChange.ExitingPlayMode )
    SessionState.SetFloat( "state_exit_time", (float) EditorApplication.timeSinceStartup );
    else
    Debug.Log( state + " in: " + ( (float) EditorApplication.timeSinceStartup - SessionState.GetFloat( "state_exit_time", 0f ) ) );
    }
    void OnPlayModeStateChanged( PlayModeStateChange state )
    {
    if( state == PlayModeStateChange.ExitingEditMode || state == PlayModeStateChange.ExitingPlayMode )
    SessionState.SetFloat( "state_exit_time", (float) EditorApplication.timeSinceStartup );
    else
    Debug.Log( state + " in: " + ( (float) EditorApplication.timeSinceStartup - SessionState.GetFloat( "state_exit_time", 0f ) ) );
    }

    EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
    EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
    EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
    EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
    }
    }
  2. yasirkula created this gist Feb 27, 2024.
    14 changes: 14 additions & 0 deletions BenchmarkEnterPlayMode.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    [InitializeOnLoadMethod]
    private static void BenchmarkEnterPlayMode()
    {
    void OnPlayModeStateChanged( PlayModeStateChange state )
    {
    if( state == PlayModeStateChange.ExitingEditMode || state == PlayModeStateChange.ExitingPlayMode )
    SessionState.SetFloat( "state_exit_time", (float) EditorApplication.timeSinceStartup );
    else
    Debug.Log( state + " in: " + ( (float) EditorApplication.timeSinceStartup - SessionState.GetFloat( "state_exit_time", 0f ) ) );
    }

    EditorApplication.playModeStateChanged -= OnPlayModeStateChanged;
    EditorApplication.playModeStateChanged += OnPlayModeStateChanged;
    }