Beispiel #1
0
        /// <summary>
        /// Temporay GUI used for customising the characters look
        /// </summary>
        private void OnGUI()
        {
            #region Redundant
            //if (runInEditor)
            //{
            //var nativeSize = new Vector2(res.x, res.y);
            //
            //Vector3 scale = new Vector3(Screen.width / nativeSize.x, Screen.height / nativeSize.y, 1.0f);
            //var matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, scale);
            #endregion
            Vector2 res = new Vector2(1920, 1080);
            GUI.matrix = IMGUIUtils.IMGUIMatrix(res);

            #region Styles
            GUIStyle _style = new GUIStyle(GUI.skin.box);
            _style.fontSize  = 50;
            _style.alignment = TextAnchor.UpperCenter;
            #endregion
            #region Group Variables
            Vector2 groupOneLayoutPosition = layouts[0].position;
            Vector2 groupOneLayoutSize     = layouts[0].size;

            Vector2 groupTwoLayoutPostion = layouts[1].position;
            Vector2 groupTwoLayoutSize    = layouts[1].size;

            Vector2 buttonPos   = layouts[3].position;
            Vector2 buttonSize  = layouts[3].size;
            Vector2 _buttonPos  = layouts[4].position;
            Vector2 _buttonSize = layouts[4].size;
            #endregion
            #region Box and Button Variables
            Vector2 _position = layouts[2].position;
            Vector2 _size     = layouts[2].size;
            #endregion
            #region Rectangles
            Rect groupOne    = new Rect(groupOneLayoutPosition.x, groupOneLayoutPosition.y, groupOneLayoutSize.x, groupOneLayoutSize.y);
            Rect groupOneBox = new Rect(0, 0, groupOneLayoutSize.x, groupOneLayoutSize.y);
            Rect groupTwo    = new Rect(groupTwoLayoutPostion.x, groupTwoLayoutPostion.y, groupTwoLayoutSize.x, groupTwoLayoutSize.y);
            Rect groupTwoBox = new Rect(0, 0, groupTwoLayoutSize.x, groupTwoLayoutSize.y);
            #endregion
            #region Styles
            GUIStyle matNameStyle = new GUIStyle(GUI.skin.box);
            matNameStyle.fontSize  = 25;
            matNameStyle.alignment = TextAnchor.MiddleCenter;
            #endregion
            #region TextureCustomisation
            GUI.BeginGroup(groupOne);
            GUI.Box(groupOneBox, "Textures", _style);

            for (int i = 0; i < matName.Length; i++)
            {
                #region Variables
                var  x = (i * 55);
                Rect buttonRectLeft  = new Rect(buttonPos.x, buttonPos.y + x, buttonSize.x, buttonSize.y);
                Rect buttonRectRight = new Rect(_buttonPos.x, _buttonPos.y + x, _buttonSize.x, _buttonSize.y);
                #endregion
                GUI.Box(new Rect(_position.x, _position.y + x, _size.x, _size.y), matName[i], matNameStyle);
                if (GUI.Button(buttonRectLeft, ">", matNameStyle))
                {
                    SetTexture(matName[i], 1);
                }
                if (GUI.Button(buttonRectRight, "<", matNameStyle))
                {
                    SetTexture(matName[i], -1);
                }
            }
            GUI.EndGroup();
            #endregion
            #region GroupTwo
            GUI.BeginGroup(groupTwo);
            GUI.Box(groupTwoBox, "Testing Text", _style);

            GUI.EndGroup();
            #endregion
            //}
        }