本文整理汇总了C#中GUIContent类的典型用法代码示例。如果您正苦于以下问题:C# GUIContent类的具体用法?C# GUIContent怎么用?C# GUIContent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GUIContent类属于命名空间,在下文中一共展示了GUIContent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: OnGUI
// Draw the property inside the given rect
public override void OnGUI( Rect position, SerializedProperty property, GUIContent label )
{
// Now draw the property as a Slider or an IntSlider based on whether it’s a float or integer.
if ( property.type != "MinMaxRange" )
Debug.LogWarning( "Use only with MinMaxRange type" );
else
{
var range = attribute as MinMaxRangeAttribute;
var minValue = property.FindPropertyRelative( "rangeStart" );
var maxValue = property.FindPropertyRelative( "rangeEnd" );
var newMin = minValue.floatValue;
var newMax = maxValue.floatValue;
var xDivision = position.width * 0.33f;
var yDivision = position.height * 0.5f;
EditorGUI.LabelField( new Rect( position.x, position.y, xDivision, yDivision ), label );
EditorGUI.LabelField( new Rect( position.x, position.y + yDivision, position.width, yDivision ), range.minLimit.ToString( "0.##" ) );
EditorGUI.LabelField( new Rect( position.x + position.width - 28f, position.y + yDivision, position.width, yDivision ), range.maxLimit.ToString( "0.##" ) );
EditorGUI.MinMaxSlider( new Rect( position.x + 24f, position.y + yDivision, position.width - 48f, yDivision ), ref newMin, ref newMax, range.minLimit, range.maxLimit );
EditorGUI.LabelField( new Rect( position.x + xDivision, position.y, xDivision, yDivision ), "From: " );
newMin = Mathf.Clamp( EditorGUI.FloatField( new Rect( position.x + xDivision + 30, position.y, xDivision - 30, yDivision ), newMin ), range.minLimit, newMax );
EditorGUI.LabelField( new Rect( position.x + xDivision * 2f, position.y, xDivision, yDivision ), "To: " );
newMax = Mathf.Clamp( EditorGUI.FloatField( new Rect( position.x + xDivision * 2f + 24, position.y, xDivision - 24, yDivision ), newMax ), newMin, range.maxLimit );
minValue.floatValue = newMin;
maxValue.floatValue = newMax;
}
}
开发者ID:tory37,项目名称:TorysUnityToolbox,代码行数:31,代码来源:MinMaxRangeDrawer.cs
示例2: OnGUI
void OnGUI()
{
if (showStartingScreen) {
int height = (int)(Screen.height * .2f);
GUI.Box(new Rect(0, Screen.height / 2 - height / 2, Screen.width, height),"");
GUIContent text = new GUIContent("" + ((num == 0) ? "GO" : num + ""));
GUIStyle watStyle = new GUIStyle(textStyle);
int x = 0;
if (currTime < .2f) {
x = (int)(currTime / .2f * Screen.width / 2 - watStyle.CalcSize(text).x / 2);
} else if (currTime >= .2f && currTime <= .8f) {
watStyle.fontSize += (int)(20 - 20*((Mathf.Abs(.5f - currTime))/.3f));
x = (int)(Screen.width / 2 - watStyle.CalcSize(text).x / 2);
} else if (currTime > .8f) {
x = (int)((currTime - .8f) / .2f * Screen.width/2 - watStyle.CalcSize(text).x / 2 + Screen.width /2);
}
GUI.Label(new Rect(x, Screen.height / 2 - watStyle.CalcSize(text).y / 2, 100, 100),text, watStyle);
currTime += Time.realtimeSinceStartup - lastTime;
lastTime = Time.realtimeSinceStartup;
if (currTime >= 1f) {
currTime = 0f;
num--;
}
if (num < 0) {
showStartingScreen = false;
Time.timeScale = 1;
}
}
}
开发者ID:pmlamotte,项目名称:2Pac,代码行数:33,代码来源:GameStart.cs
示例3: Initialize
void Initialize(SerializedProperty property)
{
if (listedScenes != null && listedScenes.Length > 0)
return;
var scenes = EditorBuildSettings.scenes;
var selectableScenes = new System.Collections.Generic.List<EditorBuildSettingsScene>();
SceneSelectionAttribute attr = (SceneSelectionAttribute)attribute;
for (int i = 0; i < scenes.Length; i++)
{
if (scenes[i].enabled || attr.allowDisabledScenes)
selectableScenes.Add(scenes[i]);
}
listedScenes = new GUIContent[selectableScenes.Count];
for (int i = 0; i < listedScenes.Length; i++)
{
var path = selectableScenes[i].path;
int lastSeparator = path.LastIndexOf("/") + 1;
var sceneName = path.Substring(lastSeparator, path.LastIndexOf(".") - lastSeparator);
listedScenes[i] = new GUIContent(sceneName, selectableScenes[i].enabled ? "Enabled" : "Disabled");
if (listedScenes[i].text.Equals(property.stringValue))
selectedIndex = i;
}
}
开发者ID:LuciusSixPercent,项目名称:Finsternis,代码行数:27,代码来源:ScenesPopupDrawer.cs
示例4: OnGUI
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
WritableAttribute attr = attribute as WritableAttribute;
GUI.enabled = attr.Result(DrawerUtil.GetTarget(property));
DrawerUtil.OnGUI(position, property, label);
GUI.enabled = true;
}
开发者ID:toros11,项目名称:AbilitySystem,代码行数:7,代码来源:WritableAttributeDrawer.cs
示例5: OnGUI
/// <summary>
/// Show the RequiredField inspector. Changes depending on the field being
/// empty or not.
/// </summary>
public override void OnGUI(Rect a_position, SerializedProperty a_property, GUIContent a_label)
{
// Split the widget position rectangle horizontally.
Rect bottom = new Rect();
Rect top = new Rect();
SplitRect(a_position, ref top, ref bottom);
// Save the default GUI color for later.
Color defaultColor = GUI.color;
// If the object pointed by the property is null, then show the error
// message, and set the GUI color to red to display the PropertyField in
// red.
if(a_property.objectReferenceValue == null) {
EditorGUI.HelpBox(top, "The field below is required and can't be empty.", MessageType.Error);
GUI.color = Color.red;
}
// Draw the default property field, this drawer does not alter the GUI.
if(a_property.objectReferenceValue == null) {
EditorGUI.PropertyField(bottom, a_property, a_label);
}
else {
EditorGUI.PropertyField(a_position, a_property, a_label);
}
// Restore the original colors.
GUI.color = defaultColor;
}
开发者ID:Judepompom,项目名称:Unity-RequiredField,代码行数:33,代码来源:RequiredFieldPropertyDrawer.cs
示例6: DrawLights
void DrawLights(Light[] lights, ref int i)
{
GUIContent tooltip = new GUIContent("", "Is the game object active in hierarchy and the light component enabled.");
foreach (Light light in lights)
{
if (light == null)
continue;
EditorGUI.BeginDisabledGroup(light.shadows == LightShadows.None);
EditorGUILayout.BeginHorizontal();
string controlName = "ObjectField-" + i;
GUI.SetNextControlName(controlName);
EditorGUILayout.ObjectField(light, typeof(Light), true);
if (GUILayout.Button("Select"))
{
Selection.activeGameObject = light.gameObject;
SceneView.lastActiveSceneView.FrameSelected();
GUI.FocusControl(controlName);
}
if (GUILayout.Button("Disable shadows"))
{
light.shadows = LightShadows.None;
}
GUILayout.Toggle(light.gameObject.activeInHierarchy && light.enabled, tooltip, GUILayout.ExpandWidth (false));
EditorGUILayout.EndHorizontal();
EditorGUI.EndDisabledGroup();
}
}
开发者ID:markkleeb,项目名称:ArcadeCabs2016,代码行数:32,代码来源:FindLightsWithShadows.cs
示例7: OnGUI
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
//EditorGUI.BeginProperty(position, GUIContent.none, property);
//SerializedProperty memberProperty = property.FindPropertyRelative("PropertyName");
//SerializedProperty typeProperty = property.FindPropertyRelative("Type");
SerializedProperty propertyProperty = property.FindPropertyRelative("PropertyType");
PropertyTypeInfo propertyTypeInfo = (PropertyTypeInfo) propertyProperty.enumValueIndex;
SerializedProperty curve1Property = property.FindPropertyRelative("Curve1");
SerializedProperty curve2Property = property.FindPropertyRelative("Curve2");
SerializedProperty curve3Property = property.FindPropertyRelative("Curve3");
SerializedProperty curve4Property = property.FindPropertyRelative("Curve4");
int count = UnityPropertyTypeInfo.GetCurveCount(propertyTypeInfo);
EditorGUI.indentLevel++;
if(count > 0)
EditorGUILayout.PropertyField(curve1Property);
if (count > 1)
EditorGUILayout.PropertyField(curve2Property);
if (count > 2)
EditorGUILayout.PropertyField(curve3Property);
if (count > 3)
EditorGUILayout.PropertyField(curve4Property);
EditorGUI.indentLevel--;
//EditorGUI.EndProperty();
}
开发者ID:ArthurRasmusson,项目名称:UofTHacks2016,代码行数:27,代码来源:MemberClipCurveInspector.cs
示例8: IntField
/** Draws an integer field */
public int IntField(GUIContent label, int value, int offset, int adjust, out Rect r, out bool selected)
{
GUIStyle intStyle = EditorStyles.numberField;
EditorGUILayoutx.BeginIndent ();
Rect r1 = GUILayoutUtility.GetRect (label,intStyle);
Rect r2 = GUILayoutUtility.GetRect (new GUIContent (value.ToString ()),intStyle);
EditorGUILayoutx.EndIndent();
r2.width += (r2.x-r1.x);
r2.x = r1.x+offset;
r2.width -= offset+offset+adjust;
r = new Rect ();
r.x = r2.x+r2.width;
r.y = r1.y;
r.width = offset;
r.height = r1.height;
GUI.SetNextControlName ("IntField_"+label.text);
value = EditorGUI.IntField (r2,"",value);
bool on = GUI.GetNameOfFocusedControl () == "IntField_"+label.text;
selected = on;
if (Event.current.type == EventType.Repaint) {
intStyle.Draw (r1,label,false,false,false,on);
}
return value;
}
开发者ID:rmkeezer,项目名称:fpsgame,代码行数:34,代码来源:GridGeneratorEditor.cs
示例9: Button
/// <summary>
/// Initializes a new instance of the <see cref="Button"/> class.
/// </summary>
/// <param name='bounds'>
/// Bounds.
/// </param>
/// <param name='content'>
/// Content.
/// </param>
/// <param name='style'>
/// Style.
/// </param>
public Button(Rectangle bounds, GUIContent content, GUISkin skin)
: this()
{
this.Bounds = bounds;
this.Content = content;
this.Skin = skin;
}
开发者ID:miguelmartin75,项目名称:Survival,代码行数:19,代码来源:Button.cs
示例10: GetHcEffectControls_Rotate
public static GUIContent[] GetHcEffectControls_Rotate()
{
GUIContent[] cons = new GUIContent[2];
cons[0] = new GUIContent("Rot" , "");
cons[1] = new GUIContent("Fix" , "");
return cons;
}
开发者ID:seonwifi,项目名称:bongbong,代码行数:7,代码来源:FxmTestControls.cs
示例11: GetContent
public GUIContent GetContent()
{
GUIContent gc = new GUIContent("");
if(this.IsWeapon()) gc = DataHolder.Weapons().GetContent(this.equipID);
else if(this.IsArmor()) gc = DataHolder.Armors().GetContent(this.equipID);
return gc;
}
开发者ID:hughrogers,项目名称:RPGQuest,代码行数:7,代码来源:EquipShort.cs
示例12: List
// This function is ran inside of OnGUI()
// For usage, see http://wiki.unity3d.com/index.php/PopupList#Javascript_-_PopupListUsageExample.js
public int List(Rect box, GUIContent[] items, GUIStyle boxStyle, GUIStyle listStyle)
{
// If the instance's popup selection is visible
if(isVisible) {
// Draw a Box
Rect listRect = new Rect( box.x, box.y + box.height, box.width, box.height * items.Length);
GUI.Box( listRect, "", boxStyle );
// Draw a SelectionGrid and listen for user selection
selectedItemIndex = GUI.SelectionGrid( listRect, selectedItemIndex, items, 1, listStyle );
// If the user makes a selection, make the popup list disappear
if(GUI.changed) {
current = null;
}
}
// Get the control ID
int controlID = GUIUtility.GetControlID( FocusType.Passive );
// Listen for controls
switch( Event.current.GetTypeForControl(controlID) )
{
// If mouse button is clicked, set all Popup selections to be retracted
case EventType.mouseUp:
{
current = null;
break;
}
}
// Draw a button. If the button is clicked
if(GUI.Button(new Rect(box.x,box.y,box.width,box.height),items[selectedItemIndex])) {
// If the button was not clicked before, set the current instance to be the active instance
if(!isClicked) {
current = this;
isClicked = true;
}
// If the button was clicked before (it was the active instance), reset the isClicked boolean
else {
isClicked = false;
}
}
// If the instance is the active instance, set its popup selections to be visible
if(current == this) {
isVisible = true;
}
// These resets are here to do some cleanup work for OnGUI() updates
else {
isVisible = false;
isClicked = false;
}
// Return the selected item's index
return selectedItemIndex;
}
开发者ID:WumboGames,项目名称:UnityBackup,代码行数:62,代码来源:Popup.cs
示例13: OnGUI
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.BeginProperty (position, label, property);
// Draw label
position = EditorGUI.PrefixLabel(position, GUIUtility.GetControlID(FocusType.Passive), label);
// Get properties
var clipProp = property.FindPropertyRelative("clip");
var volumeProp = property.FindPropertyRelative("volume");
var vLabelContent = new GUIContent("Volume");
// Calc rects
var clipRect = new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight);
var volumeRect = new Rect(position.x, position.y + clipRect.height, position.width, EditorGUIUtility.singleLineHeight);
var vLabelRect = new Rect(volumeRect.x, volumeRect.y, 50, volumeRect.height);
var vSliderRect = new Rect(volumeRect.x + vLabelRect.width, volumeRect.y, volumeRect.width - vLabelRect.width, volumeRect.height);
// Create labels
var clipLabel = new GUIContent("clip");
var volumeLabel = new GUIContent("volume");
// Draw fields
EditorGUI.BeginProperty(clipRect, clipLabel, clipProp);
EditorGUI.PropertyField(clipRect, clipProp, GUIContent.none);
EditorGUI.EndProperty();
EditorGUI.BeginProperty(volumeRect, volumeLabel, volumeProp);
EditorGUI.LabelField(vLabelRect, vLabelContent);
EditorGUI.PropertyField(vSliderRect, volumeProp, GUIContent.none);
EditorGUI.EndProperty();
EditorGUI.EndProperty();
}
开发者ID:jilleJr,项目名称:Akira-Moto,代码行数:34,代码来源:_SoundEffectsHelper_Sound.cs
示例14: OnGUI
/// <summary>
/// 覆盖OnGUI方式,将使得BoolVector3的默认Inspector显示方式失效,采用自定义的显示方式
/// </summary>
/// <param name="position"></param>
/// <param name="property"></param>
/// <param name="label"></param>
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
// 默认显示方式
// base.OnGUI(position, property, label);
// 自定义
{
// 1.获得自定义属性类中,我们需要绘制的属性
SerializedProperty x = property.FindPropertyRelative("x");
SerializedProperty y = property.FindPropertyRelative("y");
SerializedProperty z = property.FindPropertyRelative("z");
float propWidth = position.width / 6.0f;
// 2.创建对应属性的文本描述
EditorGUI.LabelField(new Rect(position.x, position.y, propWidth, position.height), "X");
// 3.创建对应属性的实际控制组件(如 bool,我们使用Toggle)
x.boolValue = EditorGUI.Toggle(new Rect(position.x + propWidth * 1, position.y, propWidth, position.height), x.boolValue);
EditorGUI.LabelField(new Rect(position.x + propWidth * 2, position.y, propWidth, position.height), "Y");
y.boolValue = EditorGUI.Toggle(new Rect(position.x + propWidth * 3, position.y, propWidth, position.height), y.boolValue);
EditorGUI.LabelField(new Rect(position.x + propWidth * 4, position.y, propWidth, position.height), "Z");
z.boolValue = EditorGUI.Toggle(new Rect(position.x + propWidth * 5, position.y, propWidth, position.height), z.boolValue);
}
}
开发者ID:289997171,项目名称:UnityCustomEditorSeriesExamples,代码行数:32,代码来源:BoolVector3Drawer.cs
示例15: unlocksMenu
public void unlocksMenu(int id)
{
GUILayout.FlexibleSpace();
GUILayout.BeginHorizontal();
UnlockData[] unlocks = FindObjectsOfType<UnlockData>();
for (int i = 0; i < unlocks.Length; i++ ) {
UnlockData unlock = unlocks[i];
GUIContent content = new GUIContent();
content.text = unlock.name;
content.image = unlock.texture;
content.tooltip = unlock.description;
if (i != 0 && i % 2 == 0) {
GUILayout.EndHorizontal();
GUILayout.BeginHorizontal();
}
GUI.enabled = unlock.isUnlocked;
unlock.isActivated = GUILayout.Toggle(unlock.isActivated, content);
GUI.enabled = true;
}
GUILayout.EndHorizontal();
GUILayout.FlexibleSpace();
printButton("Back", () => currentMenu = 0);
}
开发者ID:knexer,项目名称:BulletsEnemiesPortals,代码行数:27,代码来源:MainMenu.cs
示例16: ShowWindow
public static void ShowWindow()
{
GUIContent newWindowContent = new GUIContent("PlatformGenerator", (Texture)AssetDatabase.LoadAssetAtPath("Assets/Art/PlatformTiles/tile5.png", typeof(Texture)), "Tool to generate new platforms with width and height");
_window = EditorWindow.GetWindow(typeof(PlatformGenerateEditor));
_platformGenerator = new PlatformGenerator();
_window.titleContent = newWindowContent;
}
开发者ID:mennolp098,项目名称:Boom-Boom-Boomerang,代码行数:7,代码来源:PlatformGenerateEditor.cs
示例17: In
public void In(
[FriendlyName("Text", "Text to display on the label.")]
string Text,
[FriendlyName("Texture", "Texture to display on the label.")]
[SocketState(false, false)]
Texture Texture,
[FriendlyName("Tooltip", "The tooltip associated with this control.")]
[DefaultValue(""), SocketState(false, false)]
string Tooltip,
[FriendlyName("Style", "The style to use. If left out, the \"label\" style from the current GUISkin is used.")]
[DefaultValue(""), SocketState(false, false)]
string Style,
[FriendlyName("Options", "An optional list of layout parameters. Any values passed in here will override settings defined by the style.")]
[SocketState(false, false)]
GUILayoutOption[] Options
)
{
GUIContent content = new GUIContent(Text, Texture, Tooltip);
GUIStyle style = (string.IsNullOrEmpty(Style) ? GUI.skin.label : GUI.skin.GetStyle(Style));
GUILayout.Label(content, style, Options);
}
开发者ID:Oxy949,项目名称:Obscended,代码行数:26,代码来源:uScriptAct_GUILayoutLabel.cs
示例18: OnGUI
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
position.height = 16f;
foldout = EditorGUI.Foldout(position, foldout, label);
if (foldout)
{
//EditorGUI.BeginChangeCheck();
//{
// Rect rect = EditorGUI.IndentedRect(position);
// int size = property.arraySize;
// size = EditorGUI.IntField(rect, size);
//}
//if (EditorGUI.EndChangeCheck())
//{
// property.
//}
string[] names = Enum.GetNames(nameListAttribute.enumType);
Rect rect = EditorGUI.IndentedRect(position);
//rect.height = GetPropertyHeight()
for (int i = 0; i < names.Length; i++)
{
rect.y += rect.height;
//rect.height = 15f;
EditorGUI.PropertyField(rect, property.GetArrayElementAtIndex(i), new GUIContent(i >= names.Length ? "" : names[i]));
}
}
}
开发者ID:syeager,项目名称:Knighthood,代码行数:29,代码来源:NameListDrawer.cs
示例19: OnGUI
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
var attribute = this.attribute as ReadOnlyAttribute;
if (string.IsNullOrEmpty(attribute.header) == true) {
var oldState = GUI.enabled;
GUI.enabled = false;
EditorGUI.PropertyField(position, property, label, true);
GUI.enabled = oldState;
} else {
var posHeader = position;
var posContent = new Rect(posHeader.x, posHeader.y + posHeader.height * 0.5f, posHeader.width, posHeader.height * 0.5f);
var oldValue = new GUIContent(label);
EditorGUI.LabelField(posHeader, attribute.header, EditorStyles.boldLabel);
if (attribute.drawHeaderOnly == false) {
var oldState = GUI.enabled;
GUI.enabled = false;
EditorGUI.PropertyField(posContent, property, oldValue, true);
GUI.enabled = oldState;
}
}
}
开发者ID:Trithilon,项目名称:Unity3d.UI.Windows,代码行数:30,代码来源:ReadOnlyAttribute.cs
示例20: In
public void In(
[FriendlyName("Text", "Text to display on group.")]
[SocketState(false, false)]
string Text,
[FriendlyName("Texture", "Texture to display on group.")]
[SocketState(false, false)]
Texture Texture,
[FriendlyName("Tooltip", "The tooltip associated with this control.")]
[DefaultValue(""), SocketState(false, false)]
string Tooltip,
[FriendlyName("Style", "The style to use. If left out, none will be used.")]
[DefaultValue(""), SocketState(false, false)]
string Style,
[FriendlyName("Options", "An optional list of layout parameters. Any values passed in here will override settings defined by the style.")]
[SocketState(false, false)]
GUILayoutOption[] Options
)
{
GUIContent content = GUIContent.none;
if (string.IsNullOrEmpty(Text) == false
|| string.IsNullOrEmpty(Tooltip) == false
|| Texture != null)
{
content = new GUIContent(Text, Texture, Tooltip);
}
GUIStyle style = (string.IsNullOrEmpty(Style) ? GUIStyle.none : GUI.skin.GetStyle(Style));
GUILayout.BeginHorizontal(content, style, Options);
}
开发者ID:Oxy949,项目名称:Obscended,代码行数:34,代码来源:uScriptAct_GUILayoutBeginHorizontal.cs
注:本文中的GUIContent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论