private void DrawMoveChallenge(MoveChallenge challengeData)
    {
        if (challengeData == null)
        {
            return;
        }

        EditorGUILayout.Separator();
        challengeData.requiredMoves = EditorGUILayout.IntField("Required Moves", challengeData.requiredMoves, GUILayout.MaxWidth(225f));
    }
    private Challenge CastChallenge(Type challengeType)
    {
        Challenge newChallenge = null;

        if (challengeType == typeof(MoveChallenge))
        {
            newChallenge = new MoveChallenge();
        }

        if (challengeType == typeof(TimeChallenge))
        {
            newChallenge = new TimeChallenge();
        }

        if (challengeType == typeof(ModeSwitchChallenge))
        {
            newChallenge = new ModeSwitchChallenge();
        }

        return(newChallenge);
    }