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; }
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(); }
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; }
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); }
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; }
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); }
public static GUIContent TrTextContentWithIcon(string text, UnityEditor.MessageType messageType) { return(EditorGUIUtility.TrTextContentWithIcon(text, messageType)); }