/// <summary> /// If useDefaultGUI is <c>true</c> and a usable object has been targeted, this method /// draws a selection message and targeting reticle. /// </summary> void OnGUI() { if (useDefaultGUI) { GUI.skin = UnityGUITools.GetValidGUISkin(guiSkin); if (guiStyle == null) { guiStyle = new GUIStyle(GUI.skin.label); guiStyle.alignment = TextAnchor.UpperCenter; } Rect screenRect = new Rect(0, 0, Screen.width, Screen.height); if (usable != null) { bool inUseRange = (distance <= usable.maxUseDistance); guiStyle.normal.textColor = inUseRange ? inRangeColor : outOfRangeColor; string heading = string.IsNullOrEmpty(usable.overrideName) ? usable.name : usable.overrideName; string useMessage = string.IsNullOrEmpty(usable.overrideUseMessage) ? defaultUseMessage : usable.overrideUseMessage; UnityGUITools.DrawText(screenRect, heading, guiStyle, TextStyle.Shadow); UnityGUITools.DrawText(new Rect(0, guiStyle.CalcSize(new GUIContent("Ay")).y, Screen.width, Screen.height), useMessage, guiStyle, TextStyle.Shadow); Texture2D reticleTexture = inUseRange ? reticle.inRange : reticle.outOfRange; if (reticleTexture != null) { GUI.Label(new Rect(0.5f * (Screen.width - reticle.width), 0.5f * (Screen.height - reticle.height), reticle.width, reticle.height), reticleTexture); } } } }
protected void SetGuiStyle() { guiSkin = UnityGUITools.GetValidGUISkin(guiSkin); GUI.skin = guiSkin; guiStyle = new GUIStyle(string.IsNullOrEmpty(guiStyleName) ? GUI.skin.label : (GUI.skin.FindStyle(guiStyleName) ?? GUI.skin.label)); guiStyle.alignment = alignment; guiStyleLineHeight = guiStyle.CalcSize(new GUIContent("Ay")).y; }
protected void SetGuiStyle() { GUI.skin = UnityGUITools.GetValidGUISkin(guiSkin); if (guiStyle == null) { guiStyle = new GUIStyle(GUI.skin.FindStyle(guiStyleName) ?? GUI.skin.label); guiStyle.alignment = alignment; } }
/// <summary> /// If useDefaultGUI is <c>true</c> and a usable object has been targeted, this method /// draws a selection message and targeting reticle. /// </summary> void OnGUI() { if (useDefaultGUI) { GUI.skin = UnityGUITools.GetValidGUISkin(guiSkin); if (guiStyle == null) { guiStyle = new GUIStyle(GUI.skin.label); guiStyle.alignment = TextAnchor.UpperCenter; guiStyle.normal.textColor = color; } Rect screenRect = new Rect(0, 0, Screen.width, Screen.height); if (currentUsable != null) { string heading = string.IsNullOrEmpty(currentUsable.overrideName) ? currentUsable.name : currentUsable.overrideName; string useMessage = string.IsNullOrEmpty(currentUsable.overrideUseMessage) ? defaultUseMessage : currentUsable.overrideUseMessage; UnityGUITools.DrawText(screenRect, heading, guiStyle, TextStyle.Shadow); UnityGUITools.DrawText(new Rect(0, guiStyle.CalcSize(new GUIContent("Ay")).y, Screen.width, Screen.height), useMessage, guiStyle, TextStyle.Shadow); } } }