예제 #1
0
        // called after resources are loaded
        public void Start()
        {
            // add toolbar-related callbacks
            GameEvents.onGUIApplicationLauncherReady.Add(this.init);

            // window style
            Color white = new Color(1.0f, 1.0f, 1.0f, 1.0f);

            window_style = new GUIStyle(HighLogic.Skin.window);
            window_style.normal.textColor  = white;
            window_style.focused.textColor = white;
            window_style.richText          = true;
            window_style.stretchWidth      = true;
            window_style.stretchHeight     = true;
            window_style.padding.top       = 0;
            window_style.padding.bottom    = 0;

            // tooltip style
            tooltip_style = new GUIStyle(HighLogic.Skin.label);
            tooltip_style.normal.background = Lib.GetTexture("black-background");
            tooltip_style.normal.textColor  = white;
            tooltip_style.stretchWidth      = true;
            tooltip_style.stretchHeight     = true;
            tooltip_style.fontSize          = 12;
            tooltip_style.border            = new RectOffset(0, 0, 0, 0);
            tooltip_style.padding           = new RectOffset(6, 6, 3, 3);
            tooltip_style.alignment         = TextAnchor.MiddleCenter;
        }
예제 #2
0
        internal static Sprite Get9SlicesSprite(string textureName, int width, int height, int borderSize)
        {
            // 9 slice sprites are self extending, they don't need to get scaled manually (I think...)
            Texture2D tex = Lib.GetTexture(textureName, width, height);

            return(Sprite.Create(tex, new Rect(0f, 0f, width, height), new Vector2(0.5f, 0.5f), 100f, 0u, SpriteMeshType.Tight, new Vector4(borderSize, borderSize, borderSize, borderSize)));
        }
예제 #3
0
  // ctor
  public Planner()
  {
    // set default body index & situation
    body_index = FlightGlobals.GetHomeBodyIndex();
    situation_index = 1;

    // left menu style
    leftmenu_style = new GUIStyle(HighLogic.Skin.label);
    leftmenu_style.richText = true;
    leftmenu_style.normal.textColor = new Color(0.75f, 0.75f, 0.75f, 1.0f);
    leftmenu_style.fixedWidth = 120.0f;
    leftmenu_style.stretchHeight = true;
    leftmenu_style.fontSize = 10;
    leftmenu_style.alignment = TextAnchor.MiddleLeft;

    // mid menu style
    midmenu_style = new GUIStyle(leftmenu_style);
    midmenu_style.fixedWidth = 0.0f;
    midmenu_style.stretchWidth = true;
    midmenu_style.alignment = TextAnchor.MiddleCenter;

    // right menu style
    rightmenu_style = new GUIStyle(leftmenu_style);
    rightmenu_style.alignment = TextAnchor.MiddleRight;

    // row style
    row_style = new GUIStyle();
    row_style.stretchWidth = true;
    row_style.fixedHeight = 16.0f;

    // title style
    title_style = new GUIStyle(HighLogic.Skin.label);
    title_style.normal.background = Lib.GetTexture("black-background");
    title_style.normal.textColor = Color.white;
    title_style.stretchWidth = true;
    title_style.stretchHeight = false;
    title_style.fixedHeight = 16.0f;
    title_style.fontSize = 12;
    title_style.border = new RectOffset(0, 0, 0, 0);
    title_style.padding = new RectOffset(3, 4, 3, 4);
    title_style.alignment = TextAnchor.MiddleCenter;

    // content style
    content_style = new GUIStyle(HighLogic.Skin.label);
    content_style.richText = true;
    content_style.normal.textColor = Color.white;
    content_style.stretchWidth = true;
    content_style.stretchHeight = true;
    content_style.fontSize = 12;
    content_style.alignment = TextAnchor.MiddleLeft;

    // quote style
    quote_style = new GUIStyle(HighLogic.Skin.label);
    quote_style.richText = true;
    quote_style.normal.textColor = Color.white;
    quote_style.stretchWidth = true;
    quote_style.stretchHeight = true;
    quote_style.fontSize = 11;
    quote_style.alignment = TextAnchor.LowerCenter;
  }
예제 #4
0
        public static Texture2D GetUIScaledTexture(string name)
        {
            Texture2D texture = Lib.GetTexture(name);

            Lib.ScaleTexture(texture, ScaleInteger(texture.width), ScaleInteger(texture.height));

            return(texture);
        }
예제 #5
0
        public static Texture2D GetUIScaledTexture(string name, int width = 16, int height = 16, float prescalar = 1.0f)
        {
            Texture2D texture = Lib.GetTexture(name, width, height);

            Lib.ScaleTexture(texture, ScaleInteger((int)(texture.width / prescalar)), ScaleInteger((int)(texture.height / prescalar)));

            return(texture);
        }
예제 #6
0
 void addEditorCategory()
 {
     if (PartLoader.LoadedPartsList.Find(k => k.tags.IndexOf("_kerbalism", StringComparison.Ordinal) >= 0) != null)
     {
         var icon = new RUI.Icons.Selectable.Icon("Kerbalism", Lib.GetTexture("category_normal"), Lib.GetTexture("category_selected"));
         PartCategorizer.Category category = PartCategorizer.Instance.filters.Find(k => k.button.categoryName == "Filter by Function");
         PartCategorizer.AddCustomSubcategoryFilter(category, "", icon, k => k.tags.IndexOf("_kerbalism", StringComparison.Ordinal) >= 0);
     }
 }
예제 #7
0
  // ctor
  public Console()
  {
    // enable global access
    instance = this;

    // generate unique id, hopefully
    win_id = Lib.RandomInt(int.MaxValue);

    // setup window geometry
    win_rect = new Rect((Screen.width - width) * 0.5f, (Screen.height - height) * 0.5f, width, height);

    // setup dragbox geometry
    drag_rect = new Rect(0.0f, 0.0f, width, top_height);

    // setup styles
    win_style = new GUIStyle();
    win_style.padding.left = 10;
    win_style.padding.right = 10;
    win_style.padding.top = 0;
    win_style.padding.bottom = 5;
    win_style.normal.background = Lib.GetTexture("black-background");
    top_style = new GUIStyle();
    top_style.fixedHeight = top_height;
    top_style.fontStyle = FontStyle.Bold;
    top_style.alignment = TextAnchor.MiddleCenter;
    top_style.normal.textColor = Color.white;
    top_style.stretchWidth = true;
    top_style.stretchHeight = true;
    txt_style = new GUIStyle();
    txt_style.fontSize = 12;
    txt_style.wordWrap = true;
    txt_style.normal.textColor = Color.white;
    desc_style = new GUIStyle(txt_style);
    desc_style.normal.textColor = Color.gray;
    desc_style.alignment = TextAnchor.MiddleRight;
    cmd_style = new GUIStyle();
    cmd_style.fixedHeight = cmd_height;
    cmd_style.fontSize = 12;
    cmd_style.normal.textColor = Color.white;
    cmd_style.padding.top = 5;
    cmd_style.richText = false;
    icon_left_style = new GUIStyle();
    icon_left_style.alignment = TextAnchor.MiddleLeft;
    icon_left_style.stretchWidth = false;
    icon_left_style.fixedWidth = 16;
    icon_right_style = new GUIStyle();
    icon_right_style.alignment = TextAnchor.MiddleRight;
    icon_right_style.stretchWidth = false;
    icon_right_style.fixedWidth = 16;
  }
예제 #8
0
 // pseudo-ctor
 public void Start()
 {
   style = new GUIStyle();
   style.normal.background = Lib.GetTexture("black-background");
   style.normal.textColor = new Color(0.66f, 0.66f, 0.66f, 1.0f);
   style.richText = true;
   style.stretchWidth = true;
   style.stretchHeight = true;
   style.fixedWidth = 0;
   style.fixedHeight = 0;
   style.fontSize = 12;
   style.alignment = TextAnchor.MiddleCenter;
   style.border = new RectOffset(0, 0, 0, 0);
   style.padding = new RectOffset(2, 2, 2, 2);
 }
예제 #9
0
  // ctor
  public Message()
  {
    // enable global access
    instance = this;

    // setup style
    style = new GUIStyle();
    style.normal.background = Lib.GetTexture("black-background");
    style.normal.textColor = new Color(0.66f, 0.66f, 0.66f, 1.0f);
    style.richText = true;
    style.stretchWidth = true;
    style.stretchHeight = true;
    style.fixedWidth = 0;
    style.fixedHeight = 0;
    style.fontSize = 12;
    style.alignment = TextAnchor.MiddleCenter;
    style.border = new RectOffset(0, 0, 0, 0);
    style.padding = new RectOffset(2, 2, 2, 2);
  }
예제 #10
0
        public static Texture2D GetUIScaledTexture(string name)
        {
            Texture2D unscaled = Lib.GetTexture(name);

            // Scale the texture to the desired size
            // TODO: Use high-resolution textures as starting point
            unscaled.filterMode = FilterMode.Bilinear;
            int           newWidth      = ScaleInteger(unscaled.width);
            int           newHeight     = ScaleInteger(unscaled.height);
            RenderTexture renderTexture = RenderTexture.GetTemporary(newWidth, newHeight);

            renderTexture.filterMode = FilterMode.Bilinear;
            RenderTexture.active     = renderTexture;
            Graphics.Blit(unscaled, renderTexture);
            Texture2D scaled = new Texture2D(newWidth, newHeight);

            scaled.ReadPixels(new Rect(0, 0, newWidth, newHeight), 0, 0);
            scaled.Apply();
            RenderTexture.active = null;
            // necessary because there is no garbage collection for render textures
            RenderTexture.ReleaseTemporary(renderTexture);
            return(scaled);
        }
예제 #11
0
		// ctor
		public Message()
		{
			// enable global access
			instance = this;

			// setup style
			style = new GUIStyle();
			style.normal.background = Lib.GetTexture("black-background");
			style.normal.textColor = new Color(0.66f, 0.66f, 0.66f, 1.0f);
			style.richText = true;
			style.stretchWidth = true;
			style.stretchHeight = true;
			style.fixedWidth = 0;
			style.fixedHeight = 0;
			style.fontSize = Styles.ScaleInteger(12);
			style.alignment = TextAnchor.MiddleCenter;
			style.border = new RectOffset(0, 0, 0, 0);
			style.padding = new RectOffset(Styles.ScaleInteger(2), Styles.ScaleInteger(2), Styles.ScaleInteger(2), Styles.ScaleInteger(2));

			if (all_logs == null)
			{
				all_logs = new List<MessageObject>();
			}
		}
예제 #12
0
        static Styles()
        {
            // window container
            win = new GUIStyle(HighLogic.Skin.window);
            win.padding.left   = ScaleInteger(6);
            win.padding.right  = ScaleInteger(6);
            win.padding.top    = 0;
            win.padding.bottom = 0;

            // window title container
            title_container = new GUIStyle();
            title_container.stretchWidth  = true;
            title_container.fixedHeight   = ScaleFloat(16.0f);
            title_container.margin.bottom = ScaleInteger(2);
            title_container.margin.top    = ScaleInteger(2);

            // window title text
            title_text             = new GUIStyle();
            title_text.fontSize    = ScaleInteger(10);
            title_text.fixedHeight = ScaleFloat(16.0f);
            title_text.fontStyle   = FontStyle.Bold;
            title_text.alignment   = TextAnchor.MiddleCenter;

            // subsection title container
            section_container = new GUIStyle();
            section_container.stretchWidth      = true;
            section_container.fixedHeight       = ScaleFloat(16.0f);
            section_container.normal.background = Lib.GetTexture("black-background");
            section_container.margin.bottom     = ScaleInteger(4);
            section_container.margin.top        = ScaleInteger(4);

            // subsection title text
            section_text                  = new GUIStyle(HighLogic.Skin.label);
            section_text.fontSize         = ScaleInteger(12);
            section_text.alignment        = TextAnchor.MiddleCenter;
            section_text.normal.textColor = Color.white;
            section_text.stretchWidth     = true;
            section_text.stretchHeight    = true;

            // entry row container
            entry_container = new GUIStyle();
            entry_container.stretchWidth = true;
            entry_container.fixedHeight  = ScaleFloat(16.0f);

            // entry label text
            entry_label                  = new GUIStyle(HighLogic.Skin.label);
            entry_label.richText         = true;
            entry_label.normal.textColor = Color.white;
            entry_label.stretchWidth     = true;
            entry_label.stretchHeight    = true;
            entry_label.fontSize         = ScaleInteger(12);
            entry_label.alignment        = TextAnchor.MiddleLeft;

            entry_label_nowrap                  = new GUIStyle(HighLogic.Skin.label);
            entry_label_nowrap.richText         = true;
            entry_label_nowrap.normal.textColor = Color.white;
            entry_label_nowrap.stretchWidth     = true;
            entry_label_nowrap.stretchHeight    = true;
            entry_label_nowrap.fontSize         = ScaleInteger(12);
            entry_label_nowrap.alignment        = TextAnchor.MiddleLeft;
            entry_label_nowrap.wordWrap         = false;

            // entry value text
            entry_value                  = new GUIStyle(HighLogic.Skin.label);
            entry_value.richText         = true;
            entry_value.normal.textColor = Color.white;
            entry_value.stretchWidth     = true;
            entry_value.stretchHeight    = true;
            entry_value.fontSize         = ScaleInteger(12);
            entry_value.alignment        = TextAnchor.MiddleRight;
            entry_value.fontStyle        = FontStyle.Bold;

            // desc row container
            desc_container = new GUIStyle();
            desc_container.stretchWidth  = true;
            desc_container.stretchHeight = true;

            // entry multi-line description
            desc                = new GUIStyle(entry_label);
            desc.alignment      = TextAnchor.UpperLeft;
            desc.margin.top     = 0;
            desc.margin.bottom  = 0;
            desc.padding.top    = 0;
            desc.padding.bottom = ScaleInteger(10);
            desc.fontStyle      = FontStyle.Italic;

            // left icon
            left_icon            = new GUIStyle();
            left_icon.alignment  = TextAnchor.MiddleLeft;
            left_icon.fixedWidth = ScaleFloat(16.0f);

            // right icon
            right_icon             = new GUIStyle();
            right_icon.alignment   = TextAnchor.MiddleRight;
            right_icon.fixedWidth  = ScaleFloat(16.0f);
            right_icon.margin.left = ScaleInteger(8);

            // tooltip label style
            tooltip = new GUIStyle(HighLogic.Skin.label);
            tooltip.normal.background = Lib.GetTexture("black-background");
            tooltip.normal.textColor  = Color.white;
            tooltip.stretchWidth      = true;
            tooltip.stretchHeight     = true;
            tooltip.fontSize          = ScaleInteger(12);
            tooltip.border            = new RectOffset(0, 0, 0, 0);
            tooltip.padding           = new RectOffset(ScaleInteger(6), ScaleInteger(6), ScaleInteger(3), ScaleInteger(3));
            tooltip.margin            = new RectOffset(0, 0, 0, 0);
            tooltip.alignment         = TextAnchor.MiddleCenter;

            // tooltip container style
            tooltip_container = new GUIStyle();
            tooltip_container.stretchWidth  = true;
            tooltip_container.stretchHeight = true;

            smallStationHead = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = ScaleInteger(12)
            };

            smallStationText = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = ScaleInteger(12),
                normal   = { textColor = Color.white }
            };
        }
예제 #13
0
        ///<summary> Initializes the icons </summary>
        internal static void Init()
        {
            TexturePath = KSPUtil.ApplicationRootPath + "GameData/Kerbalism/Textures/";

            empty        = GetTexture("empty");                           // an empty icon to maintain alignment
            close        = GetTexture("close");                           // black close icon
            left_arrow   = GetTexture("left-arrow");                      // white left arrow
            right_arrow  = GetTexture("right-arrow");                     // white right arrow
            toggle_green = GetTexture("toggle-green");                    // green check mark
            toggle_red   = GetTexture("toggle-red");                      // red check mark

            send_black = GetTexture("send-black");                        // used by file man
            send_cyan  = GetTexture("send-cyan");
            lab_black  = GetTexture("lab-black");
            lab_cyan   = GetTexture("lab-cyan");

            applauncher_vessels  = GetTexture("applauncher-vessels", 38, 38);
            applauncher_database = GetTexture("applauncher-database", 38, 38);

            small_info    = GetTexture("small-info");
            small_folder  = GetTexture("small-folder");
            small_console = GetTexture("small-console");
            small_config  = GetTexture("small-config");
            small_search  = GetTexture("small-search");
            small_notes   = GetTexture("small-notes");
            small_wrench  = GetTexture("small-wrench");

            file_scicolor   = GetTexture("icons8-file-scicolor");
            sample_scicolor = GetTexture("icons8-sample-scicolor");

            category_normal   = GetTexture("category-normal");
            category_selected = GetTexture("category-selected");

            sun_black   = GetTexture("sun-black");
            sun_white   = GetTexture("sun-white");
            solar_panel = GetTexture("solar-panel");

            battery_white  = GetTexture("battery-white");
            battery_yellow = GetTexture("battery-yellow");
            battery_red    = GetTexture("battery-red");

            box_white  = GetTexture("box-white");
            box_yellow = GetTexture("box-yellow");
            box_red    = GetTexture("box-red");

            wrench_white  = GetTexture("wrench-white");
            wrench_yellow = GetTexture("wrench-yellow");
            wrench_red    = GetTexture("wrench-red");

            signal_white  = GetTexture("signal-white");
            signal_yellow = GetTexture("signal-yellow");
            signal_red    = GetTexture("signal-red");

            recycle_yellow = GetTexture("recycle-yellow");
            recycle_red    = GetTexture("recycle-red");

            radiation_yellow = GetTexture("radiation-yellow");
            radiation_red    = GetTexture("radiation-red");

            health_white  = GetTexture("health-white");
            health_yellow = GetTexture("health-yellow");
            health_red    = GetTexture("health-red");

            brain_white  = GetTexture("brain-white");
            brain_yellow = GetTexture("brain-yellow");
            brain_red    = GetTexture("brain-red");

            storm_yellow = GetTexture("storm-yellow");
            storm_red    = GetTexture("storm-red");

            plant_white  = GetTexture("plant-white");
            plant_yellow = GetTexture("plant-yellow");

            station_black = GetTexture("vessels/station-black", 80, 80, 4f);
            station_white = GetTexture("vessels/station-white", 80, 80, 4f);

            base_black = GetTexture("vessels/base-black", 80, 80, 4f);
            base_white = GetTexture("vessels/base-white", 80, 80, 4f);

            ship_black = GetTexture("vessels/ship-black", 80, 80, 4f);
            ship_white = GetTexture("vessels/ship-white", 80, 80, 4f);

            probe_black = GetTexture("vessels/probe-black", 80, 80, 4f);
            probe_white = GetTexture("vessels/probe-white", 80, 80, 4f);

            relay_black = GetTexture("vessels/relay-black", 40, 40, 1.75f);
            relay_white = GetTexture("vessels/relay-white", 40, 40, 1.75f);

            rover_black = GetTexture("vessels/rover-black", 80, 80, 4f);
            rover_white = GetTexture("vessels/rover-white", 80, 80, 4f);

            lander_black = GetTexture("vessels/lander-black", 80, 80, 4f);
            lander_white = GetTexture("vessels/lander-white", 80, 80, 4f);

            eva_black = GetTexture("vessels/eva-black", 80, 80, 4f);
            eva_white = GetTexture("vessels/eva-white", 80, 80, 4f);

            plane_black = GetTexture("vessels/plane-black", 40, 40, 2.25f);
            plane_white = GetTexture("vessels/plane-white", 40, 40, 2.25f);

            controller_black = GetTexture("vessels/controller-black", 80, 80, 4f);
            controller_white = GetTexture("vessels/controller-white", 80, 80, 4f);

            // ksmGui

            KsmGuiSpriteBackground = Get9SlicesSprite("ksm-gui/background-64-5", 64, 64, 5);

            KsmGuiSpriteBtnNormal    = Get9SlicesSprite("ksm-gui/btn-black-64-5", 64, 64, 5);
            KsmGuiSpriteBtnHighlight = Get9SlicesSprite("ksm-gui/btn-black-highlight-64-5", 64, 64, 5);
            KsmGuiSpriteBtnDisabled  = Get9SlicesSprite("ksm-gui/btn-black-disabled-64-5", 64, 64, 5);

            KsmGuiTexCheckmark = Lib.GetTexture("ksm-gui/checkmark-20", 20, 20);

            KsmGuiTexHeaderClose       = Lib.GetTexture("ksm-gui/i8-header-close-32", 32, 32);
            KsmGuiTexHeaderArrowsLeft  = Lib.GetTexture("ksm-gui/arrows-left-32", 32, 32);
            KsmGuiTexHeaderArrowsRight = Lib.GetTexture("ksm-gui/arrows-right-32", 32, 32);
            KsmGuiTexHeaderArrowsUp    = Lib.GetTexture("ksm-gui/arrows-up-32", 32, 32);
            KsmGuiTexHeaderArrowsDown  = Lib.GetTexture("ksm-gui/arrows-down-32", 32, 32);



            KsmGuiTexHeaderClose = Lib.GetTexture("ksm-gui/i8-header-close-32", 32, 32);
            KsmGuiTexHeaderInfo  = Lib.GetTexture("ksm-gui/info-32", 32, 32);
            KsmGuiTexHeaderRnD   = Lib.GetTexture("ksm-gui/i8-rnd-32", 32, 32);

            //Texture2D winBg = Lib.GetTexture("ui-core/window-background", 64, 64);
            //// inspecting pixelPerUnit gives 92.75362, but 100f is the default value and seems to work fine
            //window_background = Sprite.Create(winBg, new Rect(0f, 0f, 64f, 64f), new Vector2(0.5f, 0.5f), 100f, 0u, SpriteMeshType.Tight, new Vector4(4.6f, 4.6f, 4.6f, 4.6f));

            //close_btn_tex = Lib.GetTexture("ui-core/icons8-cancel-24", 24, 24);
            //close_btn = Sprite.Create(close_btn_tex, new Rect(0f, 0f, 24f, 24f), new Vector2(0.5f, 0.5f), 100f);
        }
예제 #14
0
        static Styles()
        {
            // window container
            win = new GUIStyle(HighLogic.Skin.window);
            win.padding.left   = 6;
            win.padding.right  = 6;
            win.padding.top    = 0;
            win.padding.bottom = 0;

            // window title container
            title_container = new GUIStyle();
            title_container.stretchWidth  = true;
            title_container.fixedHeight   = 16.0f;
            title_container.margin.bottom = 2;
            title_container.margin.top    = 2;

            // window title text
            title_text             = new GUIStyle();
            title_text.fontSize    = 10;
            title_text.fixedHeight = 16.0f;
            title_text.fontStyle   = FontStyle.Bold;
            title_text.alignment   = TextAnchor.MiddleCenter;

            // subsection title container
            section_container = new GUIStyle();
            section_container.stretchWidth      = true;
            section_container.fixedHeight       = 16.0f;
            section_container.normal.background = Lib.GetTexture("black-background");
            section_container.margin.bottom     = 4;
            section_container.margin.top        = 4;

            // subsection title text
            section_text                  = new GUIStyle(HighLogic.Skin.label);
            section_text.fontSize         = 12;
            section_text.alignment        = TextAnchor.MiddleCenter;
            section_text.normal.textColor = Color.white;
            section_text.stretchWidth     = true;
            section_text.stretchHeight    = true;

            // entry row container
            entry_container = new GUIStyle();
            entry_container.stretchWidth = true;
            entry_container.fixedHeight  = 16.0f;

            // entry label text
            entry_label                  = new GUIStyle(HighLogic.Skin.label);
            entry_label.richText         = true;
            entry_label.normal.textColor = Color.white;
            entry_label.stretchWidth     = true;
            entry_label.stretchHeight    = true;
            entry_label.fontSize         = 12;
            entry_label.alignment        = TextAnchor.MiddleLeft;

            // entry value text
            entry_value                  = new GUIStyle(HighLogic.Skin.label);
            entry_value.richText         = true;
            entry_value.normal.textColor = Color.white;
            entry_value.stretchWidth     = true;
            entry_value.stretchHeight    = true;
            entry_value.fontSize         = 12;
            entry_value.alignment        = TextAnchor.MiddleRight;
            entry_value.fontStyle        = FontStyle.Bold;

            // desc row container
            desc_container = new GUIStyle();
            desc_container.stretchWidth  = true;
            desc_container.stretchHeight = true;

            // entry multi-line description
            desc                = new GUIStyle(entry_label);
            desc.alignment      = TextAnchor.UpperLeft;
            desc.margin.top     = 0;
            desc.margin.bottom  = 0;
            desc.padding.top    = 0;
            desc.padding.bottom = 10;
            desc.fontStyle      = FontStyle.Italic;

            // left icon
            left_icon            = new GUIStyle();
            left_icon.alignment  = TextAnchor.MiddleLeft;
            left_icon.fixedWidth = 16.0f;

            // right icon
            right_icon             = new GUIStyle();
            right_icon.alignment   = TextAnchor.MiddleRight;
            right_icon.fixedWidth  = 16.0f;
            right_icon.margin.left = 8;

            // tooltip label style
            tooltip = new GUIStyle(HighLogic.Skin.label);
            tooltip.normal.background = Lib.GetTexture("black-background");
            tooltip.normal.textColor  = Color.white;
            tooltip.stretchWidth      = true;
            tooltip.stretchHeight     = true;
            tooltip.fontSize          = 12;
            tooltip.border            = new RectOffset(0, 0, 0, 0);
            tooltip.padding           = new RectOffset(6, 6, 3, 3);
            tooltip.margin            = new RectOffset(0, 0, 0, 0);
            tooltip.alignment         = TextAnchor.MiddleCenter;

            // tooltip container style
            tooltip_container = new GUIStyle();
            tooltip_container.stretchWidth  = true;
            tooltip_container.stretchHeight = true;

            // tooltip label style
            frequency = new GUIStyle(HighLogic.Skin.label);
            frequency.normal.textColor = Color.white;
            frequency.stretchWidth     = false;
            frequency.stretchHeight    = true;
            frequency.fixedWidth       = 20.0f;
            frequency.fontSize         = 12;
            frequency.alignment        = TextAnchor.MiddleCenter;
        }
예제 #15
0
        static Styles()
        {
            blackBackground = Lib.GetTexture("black-background");

            // window container
            win = new GUIStyle(HighLogic.Skin.window)
            {
                padding =
                {
                    left   = ScaleInteger(6),
                    right  = ScaleInteger(6),
                    top    =               0,
                    bottom = 0
                }
            };

            // window title container
            title_container = new GUIStyle
            {
                stretchWidth = true,
                fixedHeight  = ScaleFloat(16.0f),
                margin       =
                {
                    bottom = ScaleInteger(2),
                    top    = ScaleInteger(2)
                }
            };

            // window title text
            title_text = new GUIStyle
            {
                fontStyle   = FontStyle.Bold,
                fontSize    = ScaleInteger(10),
                fixedHeight = ScaleFloat(16.0f),
                alignment   = TextAnchor.MiddleCenter
            };

            // subsection title container
            section_container = new GUIStyle
            {
                stretchWidth = true,
                fixedHeight  = ScaleFloat(16.0f),
                normal       = { background = blackBackground },
                margin       =
                {
                    bottom = ScaleInteger(4),
                    top    = ScaleInteger(4)
                }
            };

            // subsection title text
            section_text = new GUIStyle(HighLogic.Skin.label)
            {
                stretchWidth  = true,
                stretchHeight = true,
                fontSize      = ScaleInteger(12),
                alignment     = TextAnchor.MiddleCenter,
                normal        = { textColor = Color.white }
            };

            // entry row container
            entry_container = new GUIStyle
            {
                stretchWidth = true,
                fixedHeight  = ScaleFloat(16.0f)
            };

            // entry label text
            entry_label = new GUIStyle(HighLogic.Skin.label)
            {
                richText      = true,
                stretchWidth  = true,
                stretchHeight = true,
                fontSize      = ScaleInteger(12),
                alignment     = TextAnchor.MiddleLeft,
                normal        = { textColor = Color.white }
            };

            entry_label_nowrap = new GUIStyle(HighLogic.Skin.label)
            {
                richText      = true,
                wordWrap      = false,
                stretchWidth  = true,
                stretchHeight = true,
                fontSize      = ScaleInteger(12),
                alignment     = TextAnchor.MiddleLeft,
                normal        = { textColor = Color.white }
            };

            // entry value text
            entry_value = new GUIStyle(HighLogic.Skin.label)
            {
                richText      = true,
                stretchWidth  = true,
                stretchHeight = true,
                fontStyle     = FontStyle.Bold,
                fontSize      = ScaleInteger(12),
                alignment     = TextAnchor.MiddleRight,
                normal        = { textColor = Color.white }
            };

            // desc row container
            desc_container = new GUIStyle
            {
                stretchWidth  = true,
                stretchHeight = true
            };

            // entry multi-line description
            desc = new GUIStyle(entry_label)
            {
                fontStyle = FontStyle.Italic,
                alignment = TextAnchor.UpperLeft,
                margin    =
                {
                    top    = 0,
                    bottom = 0
                },
                padding =
                {
                    top    = 0,
                    bottom = ScaleInteger(10)
                }
            };

            // left icon
            left_icon = new GUIStyle
            {
                stretchWidth  = true,
                stretchHeight = true,
                fixedWidth    = ScaleFloat(16.0f),
                alignment     = TextAnchor.MiddleLeft
            };

            // right icon
            right_icon = new GUIStyle
            {
                stretchWidth  = true,
                stretchHeight = true,
                margin        = { left = ScaleInteger(8) },
                fixedWidth    = ScaleFloat(16.0f),
                alignment     = TextAnchor.MiddleRight
            };

            // tooltip label style
            tooltip = new GUIStyle(HighLogic.Skin.label)
            {
                stretchWidth  = true,
                stretchHeight = true,
                fontSize      = ScaleInteger(12),
                alignment     = TextAnchor.MiddleCenter,
                border        = new RectOffset(0, 0, 0, 0),
                normal        =
                {
                    textColor  = Color.white,
                    background = blackBackground
                },
                margin  = new RectOffset(0, 0, 0, 0),
                padding = new RectOffset(ScaleInteger(6), ScaleInteger(6), ScaleInteger(3), ScaleInteger(3))
            };

            tooltip.normal.background.wrapMode = TextureWrapMode.Repeat;

            // tooltip container style
            tooltip_container = new GUIStyle
            {
                stretchWidth  = true,
                stretchHeight = true
            };

            smallStationHead = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = ScaleInteger(12)
            };

            smallStationText = new GUIStyle(HighLogic.Skin.label)
            {
                fontSize = ScaleInteger(12),
                normal   = { textColor = Color.white }
            };

            message = new GUIStyle()
            {
                normal =
                {
                    background = blackBackground,
                    textColor  = new Color(0.66f, 0.66f, 0.66f, 1.0f)
                },
                richText      = true,
                stretchWidth  = true,
                stretchHeight = true,
                fixedWidth    = 0,
                fixedHeight   = 0,
                fontSize      = Styles.ScaleInteger(12),
                alignment     = TextAnchor.MiddleCenter,
                border        = new RectOffset(0, 0, 0, 0),
                padding       = new RectOffset(Styles.ScaleInteger(2), Styles.ScaleInteger(2), Styles.ScaleInteger(2), Styles.ScaleInteger(2))
            };
        }
예제 #16
0
  // ctor
  public Info()
  {
    // enable global access
    instance = this;

    // generate unique id
    win_id = Lib.RandomInt(int.MaxValue);

    // setup window geometry
    win_rect = new Rect(80.0f, 80.0f, width, 0.0f);

    // setup dragbox geometry
    drag_rect = new Rect(0.0f, 0.0f, width, top_height);

    // setup styles
    win_style = new GUIStyle(HighLogic.Skin.window);
    win_style.padding.top = 0;
    win_style.padding.bottom = 0;
    top_style = new GUIStyle();
    top_style.fixedHeight = top_height;
    top_style.fontStyle = FontStyle.Bold;
    top_style.alignment = TextAnchor.MiddleCenter;
    bot_style = new GUIStyle();
    bot_style.fixedHeight = bot_height;
    bot_style.fontSize = 11;
    bot_style.fontStyle = FontStyle.Italic;
    bot_style.alignment = TextAnchor.MiddleRight;
    bot_style.normal.textColor = new Color(0.5f, 0.5f, 0.5f, 1.0f);

    // title container
    title_container_style = new GUIStyle();
    title_container_style.stretchWidth = true;
    title_container_style.fixedHeight = 16.0f;
    title_container_style.normal.background = Lib.GetTexture("black-background");
    title_container_style.margin.bottom = 4;
    title_container_style.margin.top = 4;

    // title label
    title_label_style = new GUIStyle(HighLogic.Skin.label);
    title_label_style.fontSize = 12;
    title_label_style.alignment = TextAnchor.MiddleCenter;
    title_label_style.normal.textColor = Color.white;
    title_label_style.stretchWidth = true;
    title_label_style.stretchHeight = true;

    // title icons
    title_icon_left_style = new GUIStyle();
    title_icon_left_style.alignment = TextAnchor.MiddleLeft;
    title_icon_right_style = new GUIStyle();
    title_icon_right_style.alignment = TextAnchor.MiddleRight;

    // row style
    row_style = new GUIStyle();
    row_style.stretchWidth = true;
    row_style.fixedHeight = 16.0f;

    // label style
    label_style = new GUIStyle(HighLogic.Skin.label);
    label_style.richText = true;
    label_style.normal.textColor = Color.white;
    label_style.stretchWidth = true;
    label_style.stretchHeight = true;
    label_style.fontSize = 12;
    label_style.alignment = TextAnchor.MiddleLeft;

    // value style
    value_style = new GUIStyle(HighLogic.Skin.label);
    value_style.richText = true;
    value_style.normal.textColor = Color.white;
    value_style.stretchWidth = true;
    value_style.stretchHeight = true;
    value_style.fontSize = 12;
    value_style.alignment = TextAnchor.MiddleRight;
    value_style.fontStyle = FontStyle.Bold;
  }
예제 #17
0
  // ctor
  Info()
  {
    // enable global access
    instance = this;

    // keep it alive
    DontDestroyOnLoad(this);

    // generate unique id, hopefully
    win_id = Lib.RandomInt(int.MaxValue);

    // setup window geometry
    win_rect = new Rect(80.0f, (Screen.height - height) * 0.5f, width, height);

    // setup dragbox geometry
    drag_rect = new Rect(0.0f, 0.0f, width, top_height);

    // setup styles
    win_style = new GUIStyle(HighLogic.Skin.window);
    win_style.padding.top = 0;
    win_style.padding.bottom = 0;
    top_style = new GUIStyle();
    top_style.fixedHeight = top_height;
    top_style.fontStyle = FontStyle.Bold;
    top_style.alignment = TextAnchor.MiddleCenter;
    bot_style = new GUIStyle();
    bot_style.fixedHeight = bot_height;
    bot_style.fontSize = 11;
    bot_style.fontStyle = FontStyle.Italic;
    bot_style.alignment = TextAnchor.MiddleRight;
    bot_style.normal.textColor = new Color(0.5f, 0.5f, 0.5f, 1.0f);
    txt_style = new GUIStyle();
    txt_style.fontSize = 11;
    txt_style.wordWrap = true;
    txt_options = new []{GUILayout.MaxWidth(width - margin - spacing), GUILayout.MinHeight(height - top_height - bot_height - margin - spacing)};

    // row style
    row_style = new GUIStyle();
    row_style.stretchWidth = true;
    row_style.fixedHeight = 16.0f;

    // title style
    title_style = new GUIStyle(HighLogic.Skin.label);
    title_style.normal.background = Lib.GetTexture("black-background");
    title_style.normal.textColor = Color.white;
    title_style.stretchWidth = true;
    title_style.stretchHeight = false;
    title_style.fixedHeight = 16.0f;
    title_style.fontSize = 12;
    title_style.border = new RectOffset(0, 0, 0, 0);
    title_style.padding = new RectOffset(3, 4, 3, 4);
    title_style.alignment = TextAnchor.MiddleCenter;

    // content style
    content_style = new GUIStyle(HighLogic.Skin.label);
    content_style.richText = true;
    content_style.normal.textColor = Color.white;
    content_style.stretchWidth = true;
    content_style.stretchHeight = true;
    content_style.fontSize = 12;
    content_style.alignment = TextAnchor.MiddleLeft;
  }
예제 #18
0
        ///<summary> Initializes the icons </summary>
        internal static void Initialize()
        {
            TexturePath = KSPUtil.ApplicationRootPath + "GameData/Kerbalism/Textures/";

            empty        = Styles.GetUIScaledTexture("empty");                           // an empty icon to maintain alignment
            close        = Styles.GetUIScaledTexture("close");                           // black close icon
            left_arrow   = Styles.GetUIScaledTexture("left-arrow");                      // white left arrow
            right_arrow  = Styles.GetUIScaledTexture("right-arrow");                     // white right arrow
            toggle_green = Styles.GetUIScaledTexture("toggle-green");                    // green check mark
            toggle_red   = Styles.GetUIScaledTexture("toggle-red");                      // red check mark

            send_black = Styles.GetUIScaledTexture("send-black");                        // used by file man
            send_cyan  = Styles.GetUIScaledTexture("send-cyan");
            lab_black  = Styles.GetUIScaledTexture("lab-black");
            lab_cyan   = Styles.GetUIScaledTexture("lab-cyan");

            applauncher = Lib.GetTexture("applauncher", 32, 32);

            small_info    = Styles.GetUIScaledTexture("small-info");
            small_folder  = Styles.GetUIScaledTexture("small-folder");
            small_console = Styles.GetUIScaledTexture("small-console");
            small_config  = Styles.GetUIScaledTexture("small-config");
            small_search  = Styles.GetUIScaledTexture("small-search");
            small_notes   = Styles.GetUIScaledTexture("small-notes");

            category_normal   = Styles.GetUIScaledTexture("category-normal");
            category_selected = Styles.GetUIScaledTexture("category-selected");

            sun_black = Styles.GetUIScaledTexture("sun-black");
            sun_white = Styles.GetUIScaledTexture("sun-white");

            battery_white  = Styles.GetUIScaledTexture("battery-white");
            battery_yellow = Styles.GetUIScaledTexture("battery-yellow");
            battery_red    = Styles.GetUIScaledTexture("battery-red");

            box_white  = Styles.GetUIScaledTexture("box-white");
            box_yellow = Styles.GetUIScaledTexture("box-yellow");
            box_red    = Styles.GetUIScaledTexture("box-red");

            wrench_white  = Styles.GetUIScaledTexture("wrench-white");
            wrench_yellow = Styles.GetUIScaledTexture("wrench-yellow");
            wrench_red    = Styles.GetUIScaledTexture("wrench-red");

            signal_white  = Styles.GetUIScaledTexture("signal-white");
            signal_yellow = Styles.GetUIScaledTexture("signal-yellow");
            signal_red    = Styles.GetUIScaledTexture("signal-red");

            recycle_yellow = Styles.GetUIScaledTexture("recycle-yellow");
            recycle_red    = Styles.GetUIScaledTexture("recycle-red");

            radiation_yellow = Styles.GetUIScaledTexture("radiation-yellow");
            radiation_red    = Styles.GetUIScaledTexture("radiation-red");

            health_white  = Styles.GetUIScaledTexture("health-white");
            health_yellow = Styles.GetUIScaledTexture("health-yellow");
            health_red    = Styles.GetUIScaledTexture("health-red");

            brain_white  = Styles.GetUIScaledTexture("brain-white");
            brain_yellow = Styles.GetUIScaledTexture("brain-yellow");
            brain_red    = Styles.GetUIScaledTexture("brain-red");

            storm_yellow = Styles.GetUIScaledTexture("storm-yellow");
            storm_red    = Styles.GetUIScaledTexture("storm-red");

            plant_white  = Styles.GetUIScaledTexture("plant-white");
            plant_yellow = Styles.GetUIScaledTexture("plant-yellow");

            station_black = Styles.GetUIScaledTexture("vessels/station-black", 80, 80, 4);
            station_white = Styles.GetUIScaledTexture("vessels/station-white", 80, 80, 4);

            base_black = Styles.GetUIScaledTexture("vessels/base-black", 80, 80, 4);
            base_white = Styles.GetUIScaledTexture("vessels/base-white", 80, 80, 4);

            ship_black = Styles.GetUIScaledTexture("vessels/ship-black", 80, 80, 4);
            ship_white = Styles.GetUIScaledTexture("vessels/ship-white", 80, 80, 4);

            probe_black = Styles.GetUIScaledTexture("vessels/probe-black", 80, 80, 4);
            probe_white = Styles.GetUIScaledTexture("vessels/probe-white", 80, 80, 4);

            relay_black = Styles.GetUIScaledTexture("vessels/relay-black", 40, 40, 1.75f);
            relay_white = Styles.GetUIScaledTexture("vessels/relay-white", 40, 40, 1.75f);

            rover_black = Styles.GetUIScaledTexture("vessels/rover-black", 80, 80, 4);
            rover_white = Styles.GetUIScaledTexture("vessels/rover-white", 80, 80, 4);

            lander_black = Styles.GetUIScaledTexture("vessels/lander-black", 80, 80, 4);
            lander_white = Styles.GetUIScaledTexture("vessels/lander-white", 80, 80, 4);

            eva_black = Styles.GetUIScaledTexture("vessels/eva-black", 80, 80, 4);
            eva_white = Styles.GetUIScaledTexture("vessels/eva-white", 80, 80, 4);

            plane_black = Styles.GetUIScaledTexture("vessels/plane-black", 40, 40, 2.25f);
            plane_white = Styles.GetUIScaledTexture("vessels/plane-white", 40, 40, 2.25f);
        }
예제 #19
0
        public PanelWindow(string title, uint left = 300u, uint top = 150u)
        {
            // set title
            this.title = title;

            // initialize sections storage
            sections = new List <PanelSection>(4);
            clicks   = new List <Action <int> >(4);

            // generate unique id
            win_id = Lib.RandomInt(int.MaxValue);

            // setup window geometry
            win_rect = new Rect((float)left, (float)top, width, 0.0f);

            // setup dragbox geometry
            drag_rect = new Rect(0.0f, 0.0f, width, top_height);

            // setup styles
            win_style                = new GUIStyle(HighLogic.Skin.window);
            win_style.padding.top    = 0;
            win_style.padding.bottom = 0;
            top_style                = new GUIStyle();
            top_style.fixedHeight    = top_height;
            top_style.fontStyle      = FontStyle.Bold;
            top_style.alignment      = TextAnchor.MiddleCenter;

            // title container
            title_container_style = new GUIStyle();
            title_container_style.stretchWidth      = true;
            title_container_style.fixedHeight       = 16.0f;
            title_container_style.normal.background = Lib.GetTexture("black-background");
            title_container_style.margin.bottom     = 4;
            title_container_style.margin.top        = 4;

            // title label
            title_label_style                  = new GUIStyle(HighLogic.Skin.label);
            title_label_style.fontSize         = 12;
            title_label_style.alignment        = TextAnchor.MiddleCenter;
            title_label_style.normal.textColor = Color.white;
            title_label_style.stretchWidth     = true;
            title_label_style.stretchHeight    = true;

            // title icons
            title_icon_left_style            = new GUIStyle();
            title_icon_left_style.alignment  = TextAnchor.MiddleLeft;
            title_icon_right_style           = new GUIStyle();
            title_icon_right_style.alignment = TextAnchor.MiddleRight;

            // row style
            row_style = new GUIStyle();
            row_style.stretchWidth = true;
            row_style.fixedHeight  = 16.0f;

            // label style
            label_style                  = new GUIStyle(HighLogic.Skin.label);
            label_style.richText         = true;
            label_style.normal.textColor = Color.white;
            label_style.stretchWidth     = true;
            label_style.stretchHeight    = true;
            label_style.fontSize         = 12;
            label_style.alignment        = TextAnchor.MiddleLeft;

            // value style
            value_style                  = new GUIStyle(HighLogic.Skin.label);
            value_style.richText         = true;
            value_style.normal.textColor = Color.white;
            value_style.stretchWidth     = true;
            value_style.stretchHeight    = true;
            value_style.fontSize         = 12;
            value_style.alignment        = TextAnchor.MiddleRight;
            value_style.fontStyle        = FontStyle.Bold;
        }