Example #1
0
        public MessageRenderer(InspectorItemRenderer inspectorItemRenderer, object caller, object classFieldBelongTo, InspectorItemRenderer[] otherRenderers = null)
        {
            MessageAttribute messageAttribute = AttributeHelper.GetAttribute <MessageAttribute>(inspectorItemRenderer.entityInfo);

            this.text               = messageAttribute.text;
            this.method             = messageAttribute.method;
            this.id                 = messageAttribute.id;
            this.value              = messageAttribute.value;
            this.caller             = caller;
            this.classFieldBelongTo = classFieldBelongTo;

            switch (messageAttribute.messageType)
            {
            case MessageType.Info:
                this.messageType = UnityEditor.MessageType.Info;
                break;

            case MessageType.Warning:
                this.messageType = UnityEditor.MessageType.Warning;
                break;

            case MessageType.Error:
                this.messageType = UnityEditor.MessageType.Error;
                break;
            }

            this.otherRenderers = otherRenderers;
        }
Example #2
0
    public override void OnInspectorGUI()
    {
        InternetReachabilityVerifier irv = (InternetReachabilityVerifier)target;

        UnityEditor.MessageType mt = MessageType.Warning;

        serializedObject.Update();
        EditorGUILayout.PropertyField(serializedObject.FindProperty("captivePortalDetectionMethod"), true);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("customMethodURL"), true);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("customMethodExpectedData"), true);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("customMethodWithCacheBuster"), true);
        EditorGUILayout.PropertyField(serializedObject.FindProperty("dontDestroyOnLoad"), true);

        mt = MessageType.None;
        if (irv.defaultCheckPeriod < 1 / 5.0f)
        {
            mt = MessageType.Error;
        }
        else if (irv.defaultCheckPeriod < 1)
        {
            mt = MessageType.Warning;
        }
        if (mt != MessageType.None)
        {
            EditorGUILayout.HelpBox("Suggested minimum for Default Check Period is 1 second.\nUsing too small value can degrade performance.", mt);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("defaultCheckPeriod"), true);

        mt = MessageType.None;
        if (irv.errorRetryDelay < 1 / 2.0f)
        {
            mt = MessageType.Error;
        }
        else if (irv.errorRetryDelay < 3)
        {
            mt = MessageType.Warning;
        }
        if (mt != MessageType.None)
        {
            EditorGUILayout.HelpBox("Suggested minimum for Error Retry Delay is 3 seconds.\nUsing too small value can degrade performance.", mt);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("errorRetryDelay"), true);

        mt = MessageType.None;
        if (irv.mismatchRetryDelay < 1 / 3.0f)
        {
            mt = MessageType.Error;
        }
        else if (irv.mismatchRetryDelay < 2)
        {
            mt = MessageType.Warning;
        }
        if (mt != MessageType.None)
        {
            EditorGUILayout.HelpBox("Suggested minimum for Mismatch Retry Delay is 2 seconds.\nUsing too small value can degrade performance.", mt);
        }
        EditorGUILayout.PropertyField(serializedObject.FindProperty("mismatchRetryDelay"), true);

        serializedObject.ApplyModifiedProperties();
    }
Example #3
0
    void Save()
    {
        RenderTexture rt = mTargetCamera.targetTexture;

        if (rt == null)
        {
            mMsg = "No RenderTexture attached"; mMsgType = UnityEditor.MessageType.Error; return;
        }

        RenderTexture svRT = RenderTexture.active;

        RenderTexture.active = rt;
        Texture2D tex = new Texture2D(rt.width, rt.height);

        tex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);

        if (!Directory.Exists(mFolder))
        {
            Directory.CreateDirectory(mFolder);
        }

        File.WriteAllBytes(string.Format("{0}/{1}.png", mFolder, mFileName), tex.EncodeToPNG());

        RenderTexture.active = svRT;

        mMsg     = "Saved: " + string.Format("{0}/{1}.png", mFolder, mFileName);
        mMsgType = UnityEditor.MessageType.Info;
    }
Example #4
0
    void OnGUI()
    {
        EditorGUI.BeginChangeCheck();
        mTargetCamera = (Camera)EditorGUILayout.ObjectField("Camera", mTargetCamera, typeof(Camera));
        if (EditorGUI.EndChangeCheck())
        {
            if (mTargetCamera != null)
            {
                RenderTexture rt = mTargetCamera.targetTexture;
                if (rt == null)
                {
                    mMsg = "No RenderTexture attached"; mMsgType = UnityEditor.MessageType.Error; mFileName = string.Format("{0}", mTargetCamera.name);
                }
                else
                {
                    mFileName = string.Format("{0}_{1}x{2}", mTargetCamera.name, rt.width, rt.height);
                }
            }
            else
            {
                mFileName = "TextureName";
            }
        }
        mFolder   = EditorGUILayout.TextField("Folder", mFolder);
        mFileName = EditorGUILayout.TextField("Filename", mFileName);

        if (GUILayout.Button("Save", GUILayout.Width(44)))
        {
            Save();
        }

        EditorGUILayout.HelpBox(mMsg, mMsgType);
    }
Example #5
0
        public MessageRenderer(InspectorItemRenderer inspectorItemRenderer, object caller, object classFieldBelongTo, InspectorItemRenderer[] otherRenderers = null)
        {
            MessageAttribute messageAttribute = AttributeHelper.GetAttribute<MessageAttribute>(inspectorItemRenderer.entityInfo);
            this.text = messageAttribute.text;
            this.method = messageAttribute.method;
            this.id = messageAttribute.id;
            this.value = messageAttribute.value;
            this.caller = caller;
            this.classFieldBelongTo = classFieldBelongTo;

            switch (messageAttribute.messageType)
            {
                case MessageType.Info:
                    this.messageType = UnityEditor.MessageType.Info;
                    break;
                case MessageType.Warning:
                    this.messageType = UnityEditor.MessageType.Warning;
                    break;
                case MessageType.Error:
                    this.messageType = UnityEditor.MessageType.Error;
                    break;
            }

            this.otherRenderers = otherRenderers;
        }
Example #6
0
    protected bool HelpButton(string helpText, UnityEditor.MessageType type, string buttonText, float buttonWidth)
    {
        var clicked = false;

        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.HelpBox(helpText, type);

            var style = new GUIStyle(GUI.skin.button); style.wordWrap = true;

            clicked = GUILayout.Button(buttonText, style, GUILayout.ExpandHeight(true), GUILayout.Width(buttonWidth));
        }
        EditorGUILayout.EndHorizontal();

        return(clicked);
    }
Example #7
0
 public static GUIContent TrTextContentWithIcon(string text, UnityEditor.MessageType messageType)
 {
     return(EditorGUIUtility.TrTextContentWithIcon(text, messageType));
 }