void OnTriggerEnter2D()
    {
        var sceneBoundary = gameManager.GetComponent <GameController>().GetSceneBoundaries();
        var unloadScene   = new UnloadScene();

        unloadScene.Unload(sceneBefore);
        unloadScene.Unload(sceneAfter);

        /*
         * set the load scene collider at the beginning of the scene active
         */
        gameObjectColliderAtBeginning.SetActive(true);

        /*
         * set the load scene collider at the end of the scene active
         */
        gameObjectColliderAtEnd.SetActive(true);
    }
    public override bool OnGUI()
    {
        _target = (UnloadScene)target;

        EditField("sceneReference");

        switch (_target.sceneReference)
        {
        case UnloadScene.SceneReferenceOptions.ActiveScene:
            break;

        case UnloadScene.SceneReferenceOptions.SceneAtIndex:
            EditField("sceneAtIndex");
            break;

        case UnloadScene.SceneReferenceOptions.SceneAtBuildIndex:
            EditField("sceneAtBuildIndex");
            break;

        case UnloadScene.SceneReferenceOptions.SceneByName:
            EditField("sceneByName");
            break;

        case UnloadScene.SceneReferenceOptions.SceneByPath:
            EditField("sceneByPath");
            break;

        case UnloadScene.SceneReferenceOptions.SceneByGameObject:
            EditField("sceneByGameObject");
            break;
        }


        EditField("unloaded");
        EditField("unloadedEvent");
        EditField("failureEvent");

        return(GUI.changed);
    }