/// <summary>
        /// Unity: OnGUI is called for rendering and handling GUI events.
        ///
        /// Trigger: This is called multiple times per frame to lay stuff out etc.
        ///          Code here ignores the F2 key that disables user interface. So if you are making something to be user hidable then use the RenderingManager.PostDrawQueue functions in here
        ///          Alternatively you could use the MonoBehaviourWindow Type and its DrawWindow Function
        /// </summary>
        private void OnGUI()
        {
            if (!_OnGUIOnceOnlyHasRun)
            {
                //set theflag so this only runs once
                _OnGUIOnceOnlyHasRun = true;
                //set up the skins library
                if (!SkinsLibrary._Initialized)
                {
                    SkinsLibrary.InitSkinList();
                }

                //then pass it on to the downstream derivatives
                OnGUIOnceOnly();
            }

            OnGUIEvery();
        }
            private GUIStyle CombineSkinStyles(GUIStyle UserStyle, String StyleID)
            {
                GUIStyle retStyle;

                if (UserStyle == null)
                {
                    //then look in the skinslibrary
                    if (SkinsLibrary.StyleExists(SkinsLibrary.CurrentSkin, StyleID))
                    {
                        retStyle = SkinsLibrary.GetStyle(SkinsLibrary.CurrentSkin, StyleID);
                    }
                    else
                    {
                        retStyle = null;
                    }
                }
                else
                {
                    retStyle = UserStyle;
                }
                return(retStyle);
            }