public override void OnInspectorGUI()
    {
        EditorGUI.BeginChangeCheck();

        EditorGUI.BeginDisabledGroup(true);
        EditorGUILayout.PropertyField(contentID);
        EditorGUI.EndDisabledGroup();
        EditorGUILayout.PropertyField(contentType);

        ContentPartSO.ContentType _contentType = (ContentPartSO.ContentType)contentType.enumValueIndex;

        switch (_contentType)
        {
        case ContentPartSO.ContentType.Text:
            EditorGUILayout.LabelField("Text Content", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(contentText);
            EditorGUILayout.PropertyField(contentTextFont);
            break;

        case ContentPartSO.ContentType.Image:
            EditorGUILayout.LabelField("Image Content", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(contentImage);
            EditorGUILayout.PropertyField(contentImageWatermarkTxt);
            break;

        case ContentPartSO.ContentType.Video:
            EditorGUILayout.LabelField("Video Content", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(contentVideoImage);
            EditorGUILayout.PropertyField(contentVideoPlayer);
            EditorGUILayout.PropertyField(contentVideoStatusText);
            EditorGUILayout.PropertyField(contentThumbnailImageLayer);
            EditorGUILayout.PropertyField(contentVideoButton);

            EditorGUI.BeginDisabledGroup(true);
            EditorGUILayout.PropertyField(contentVideoName);
            EditorGUILayout.PropertyField(contentVideoURL);
            EditorGUI.EndDisabledGroup();

            EditorGUILayout.PropertyField(contentVideoButtonPanelAnimator);
            break;

        case ContentPartSO.ContentType.AR:
            EditorGUILayout.PropertyField(contentARDisplayNameTMP);
            EditorGUILayout.PropertyField(contentARDisplayButton);
            EditorGUILayout.PropertyField(contentARKeyName);
            EditorGUILayout.PropertyField(contentARDisplayName);
            break;

        case ContentPartSO.ContentType.Question:
            EditorGUILayout.LabelField("Question Content", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(contentQuestionNumberText);
            EditorGUILayout.PropertyField(contentQuestionText);
            EditorGUILayout.PropertyField(contentAnswerToggleGroup);
            EditorGUILayout.PropertyField(contentAnswerPrefab);
            EditorGUILayout.PropertyField(contentQuestionID);
            EditorGUILayout.PropertyField(contentQuestionQuest);
            EditorGUILayout.PropertyField(contentQuestionAnswerID);
            EditorGUILayout.PropertyField(contentQuestionAllAnswers);
            EditorGUILayout.PropertyField(contentQuestionScore);
            break;

        case ContentPartSO.ContentType.Subject:
            EditorGUILayout.LabelField("Subject Content", EditorStyles.boldLabel);
            EditorGUILayout.PropertyField(subjectImage);

            break;

        default:
            break;
        }

        serializedObject.ApplyModifiedProperties();
    }
Example #2
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        EditorGUILayout.PropertyField(contentType);

        ContentPartSO.ContentType _contentType = (ContentPartSO.ContentType)contentType.enumValueIndex;

        switch (_contentType)
        {
        case ContentPartSO.ContentType.Text:
            EditorGUILayout.PropertyField(contentText);
            EditorGUILayout.PropertyField(textType);
            EditorGUILayout.PropertyField(alignmentOptions);
            EditorGUILayout.PropertyField(fontSize);
            EditorGUILayout.PropertyField(fontAsset);
            break;

        case ContentPartSO.ContentType.Image:
            EditorGUILayout.PropertyField(contentImage);
            EditorGUILayout.BeginHorizontal();
            var sprite = contentImage.objectReferenceValue as Sprite;
            if (sprite != null)
            {
                var texture = AssetPreview.GetAssetPreview(sprite);
                GUILayout.Label(texture);
            }
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.PropertyField(imageSize);
            EditorGUILayout.PropertyField(imageSetNativeSize);
            EditorGUILayout.PropertyField(preserveAspect);
            EditorGUILayout.PropertyField(customAnchorPoint);
            EditorGUILayout.BeginHorizontal();
            //var customAnchorToggle = customAnchorPoint.objectReferenceValue;

            //if (customAnchorToggle)
            //{

            //}
            EditorGUILayout.PropertyField(leftAnchor);
            EditorGUILayout.PropertyField(rightAnchor);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.BeginVertical();
            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.PropertyField(topAnchor);
            EditorGUILayout.PropertyField(bottomAnchor);
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
            EditorGUILayout.PropertyField(imageWatermark);
            break;

        case ContentPartSO.ContentType.Video:
            EditorGUILayout.PropertyField(videoName);
            EditorGUILayout.PropertyField(videoURL);
            break;

        case ContentPartSO.ContentType.AR:
            EditorGUILayout.PropertyField(arKeyName);
            EditorGUILayout.PropertyField(arDisplayName);
            break;

        case ContentPartSO.ContentType.Question:
            EditorGUILayout.PropertyField(questionID);
            EditorGUILayout.PropertyField(question);
            EditorGUILayout.PropertyField(matchAnswerID);
            EditorGUILayout.PropertyField(allAnswers);
            break;

        case ContentPartSO.ContentType.Subject:
            EditorGUILayout.PropertyField(contentImage);
            EditorGUILayout.BeginHorizontal();
            var subjectImage = contentImage.objectReferenceValue as Sprite;
            if (subjectImage != null)
            {
                var texture = AssetPreview.GetAssetPreview(subjectImage);
                GUILayout.Label(texture);
            }
            EditorGUILayout.EndHorizontal();

            break;

        default:
            break;
        }

        serializedObject.ApplyModifiedProperties();
    }