MessageBox 绘制标签,在所在属性位置绘制一个消息框,支持三种消息类型 Info/Warning/Error。
可以根据指定属性状态作为显示条件。
消息框内显示的内容为标签所在属性的 label

MB(messageType):指定消息类型
MB(messageType,propertyName,compareFunc):指定消息类型,显隐条件的属性名称,比较方式。比较目标值可以配合 TT 标签设定
MB(messageType,propertyName,compareFunc,vectorElement):指定消息类型,显隐条件的属性名称,比较方式,需要比较的向量分量。比较目标值可以配合 TT 标签设
Shader "BZGUITest/MessageBox"
{
Properties
{
[MB(Info)]_m0("this will always display",float)=1
_TargetValue("TargetValue",Range(-10,10))=0
[MessageBox(Warning,_TargetValue,GE)][TT(1)]_m1("value greater than 1",float)=1
[MB(Error,_TargetValue,LE)][TT(0)]_m2("value less than 0",float)=1
}
SubShader
{
Tags { "RenderType" = "Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert(appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag(v2f i) : SV_Target
{
return half4(0.5,0.5,0.5,1);
}
ENDCG
}
}
CustomEditor "BZTA.BZShaderGUI"
}