示例#1
0
        public virtual void Copy(MenuElement _element)
        {
            linkedUiID   = _element.linkedUiID;
            ID           = _element.ID;
            isEditing    = false;
            title        = _element.title;
            slotSize     = _element.slotSize;
            sizeType     = _element.sizeType;
            positionType = _element.positionType;
            relativeRect = _element.relativeRect;
            numSlots     = _element.numSlots;
            lineID       = _element.lineID;
            slotSpacing  = _element.slotSpacing;

            font               = _element.font;
            fontScaleFactor    = _element.fontScaleFactor;
            fontColor          = _element.fontColor;
            fontHighlightColor = _element.fontHighlightColor;
            highlightTexture   = _element.highlightTexture;

            isVisible   = _element.isVisible;
            isClickable = _element.isClickable;
            orientation = _element.orientation;
            gridWidth   = _element.gridWidth;

            backgroundTexture = _element.backgroundTexture;

            hoverSound = _element.hoverSound;
            clickSound = _element.clickSound;

            relativePosition = _element.relativePosition;
            dragOffset       = Vector2.zero;
        }
示例#2
0
		public virtual void Declare ()
		{
			fontScaleFactor = 2f;
			fontColor = Color.white;
			fontHighlightColor = Color.white;
			highlightTexture = null;
			orientation = ElementOrientation.Vertical;
			positionType = AC_PositionType2.Aligned;
			sizeType = AC_SizeType.Automatic;
			gridWidth = 3;
			lineID = -1;
			hoverSound = null;
			clickSound = null;
			dragOffset = Vector2.zero;
		}
示例#3
0
 public virtual void Declare()
 {
     linkedUiID         = 0;
     fontScaleFactor    = 2f;
     fontColor          = Color.white;
     fontHighlightColor = Color.white;
     highlightTexture   = null;
     orientation        = ElementOrientation.Vertical;
     positionType       = AC_PositionType2.Aligned;
     sizeType           = AC_SizeType.Automatic;
     gridWidth          = 3;
     lineID             = -1;
     hoverSound         = null;
     clickSound         = null;
     dragOffset         = Vector2.zero;
 }
示例#4
0
        public void EndGUI()
        {
            EditorGUILayout.BeginVertical("Button");
            positionType = (AC_PositionType2)EditorGUILayout.EnumPopup("Position:", positionType);
            if (positionType == AC_PositionType2.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativeRect.x = EditorGUILayout.FloatField(relativeRect.x);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativeRect.y = EditorGUILayout.FloatField(relativeRect.y);
                EditorGUILayout.EndHorizontal();
            }
            else if (positionType == AC_PositionType2.RelativeToMenuSize)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativePosition.x = EditorGUILayout.Slider(relativePosition.x, 0f, 100f);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativePosition.y = EditorGUILayout.Slider(relativePosition.y, 0f, 100f);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("Button");
            sizeType = (AC_SizeType)EditorGUILayout.EnumPopup("Size:", sizeType);
            if (sizeType == AC_SizeType.Manual)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("W:", GUILayout.Width(17f));
                slotSize.x = EditorGUILayout.Slider(slotSize.x, 0f, 100f);
                EditorGUILayout.LabelField("H:", GUILayout.Width(15f));
                slotSize.y = EditorGUILayout.Slider(slotSize.y, 0f, 100f);
                EditorGUILayout.EndHorizontal();
            }
            else if (sizeType == AC_SizeType.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Width:", GUILayout.Width(50f));
                slotSize.x = EditorGUILayout.FloatField(slotSize.x);
                EditorGUILayout.LabelField("Height:", GUILayout.Width(50f));
                slotSize.y = EditorGUILayout.FloatField(slotSize.y);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();
        }
 /**
  * Initialises the MenuElement when it is created within MenuManager.
  */
 public virtual void Declare()
 {
     linkedUiID             = 0;
     fontScaleFactor        = 2f;
     fontColor              = Color.white;
     fontHighlightColor     = Color.white;
     highlightTexture       = null;
     orientation            = ElementOrientation.Vertical;
     positionType           = AC_PositionType2.Aligned;
     sizeType               = AC_SizeType.Automatic;
     gridWidth              = 3;
     lineID                 = -1;
     hoverSound             = null;
     clickSound             = null;
     dragOffset             = Vector2.zero;
     changeCursor           = false;
     cursorID               = 0;
     uiHideStyle            = UIHideStyle.DisableObject;
     alternativeInputButton = "";
 }
示例#6
0
        /**
         * <summary>Copies the values of another MenuElement onto itself.</summary>
         * <param name = "_element">The MenuElement to copy values from</param>
         */
        public virtual void Copy(MenuElement _element)
        {
            linkedUiID   = _element.linkedUiID;
            ID           = _element.ID;
            title        = _element.title;
            slotSize     = _element.slotSize;
            sizeType     = _element.sizeType;
            positionType = _element.positionType;
            relativeRect = _element.relativeRect;
            numSlots     = _element.numSlots;
            lineID       = _element.lineID;
            slotSpacing  = _element.slotSpacing;

            font               = _element.font;
            fontScaleFactor    = _element.fontScaleFactor;
            fontColor          = _element.fontColor;
            fontHighlightColor = _element.fontHighlightColor;
            highlightTexture   = _element.highlightTexture;

            isVisible   = _element.isVisible;
            isClickable = _element.isClickable;
            orientation = _element.orientation;
            gridWidth   = _element.gridWidth;

            backgroundTexture     = _element.backgroundTexture;
            singleSlotBackgrounds = _element.singleSlotBackgrounds;

            hoverSound = _element.hoverSound;
            clickSound = _element.clickSound;

            relativePosition = _element.relativePosition;
            dragOffset       = Vector2.zero;

            changeCursor           = _element.changeCursor;
            cursorID               = _element.cursorID;
            alternativeInputButton = _element.alternativeInputButton;
            maxAutoWidthFactor     = _element.maxAutoWidthFactor;

            idString = ID.ToString();
        }
示例#7
0
        protected void EndGUI(string apiPrefix)
        {
            EditorGUILayout.BeginVertical("Button");
            positionType = (AC_PositionType2)CustomGUILayout.EnumPopup("Position:", positionType, apiPrefix + ".positionType", "How the element is positioned");
            if (positionType == AC_PositionType2.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativeRect.x = EditorGUILayout.FloatField(relativeRect.x);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativeRect.y = EditorGUILayout.FloatField(relativeRect.y);
                EditorGUILayout.EndHorizontal();
            }
            else if (positionType == AC_PositionType2.RelativeToMenuSize)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativePosition.x = EditorGUILayout.Slider(relativePosition.x, 0f, 100f);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativePosition.y = EditorGUILayout.Slider(relativePosition.y, 0f, 100f);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("Button");
            sizeType = (AC_SizeType)CustomGUILayout.EnumPopup("Size:", sizeType, apiPrefix + ".sizeType", "How the element is scaled");
            if (sizeType == AC_SizeType.Manual)
            {
                Vector2 originalSlotSize = slotSize;

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("W:", GUILayout.Width(17f));
                originalSlotSize.x = EditorGUILayout.Slider(slotSize.x, 0f, 100f);
                EditorGUILayout.LabelField("H:", GUILayout.Width(15f));
                originalSlotSize.y = EditorGUILayout.Slider(slotSize.y, 0f, 100f);

                if (GUILayout.Button("", (doProportionalScaling) ? CustomStyles.IconLock : CustomStyles.IconUnlock))
                {
                    doProportionalScaling = !doProportionalScaling;
                }
                EditorGUILayout.EndHorizontal();

                if (doProportionalScaling)
                {
                    if (!Mathf.Approximately(originalSlotSize.x, slotSize.x))
                    {
                        float proportion = slotSize.y / slotSize.x;
                        originalSlotSize.y = proportion * originalSlotSize.x;
                    }
                    else if (!Mathf.Approximately(originalSlotSize.y, slotSize.y))
                    {
                        float proportion = slotSize.x / slotSize.y;
                        originalSlotSize.x = proportion * originalSlotSize.y;
                    }
                }

                slotSize = originalSlotSize;
            }
            else if (sizeType == AC_SizeType.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Width:", GUILayout.Width(50f));
                slotSize.x = EditorGUILayout.FloatField(slotSize.x);
                EditorGUILayout.LabelField("Height:", GUILayout.Width(50f));
                slotSize.y = EditorGUILayout.FloatField(slotSize.y);
                EditorGUILayout.EndHorizontal();
            }
            else if (sizeType == AC_SizeType.Automatic)
            {
                if (font == null && !(this is MenuGraphic))
                {
                    EditorGUILayout.HelpBox("Automatic sizing may not appear correct without a Font assigned above.", MessageType.Warning);
                }
            }
            EditorGUILayout.EndVertical();
        }
示例#8
0
        protected void EndGUI(string apiPrefix)
        {
            EditorGUILayout.BeginVertical("Button");
            positionType = (AC_PositionType2)CustomGUILayout.EnumPopup("Position:", positionType, apiPrefix + ".positionType");
            if (positionType == AC_PositionType2.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativeRect.x = EditorGUILayout.FloatField(relativeRect.x);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativeRect.y = EditorGUILayout.FloatField(relativeRect.y);
                EditorGUILayout.EndHorizontal();
            }
            else if (positionType == AC_PositionType2.RelativeToMenuSize)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("X:", GUILayout.Width(15f));
                relativePosition.x = EditorGUILayout.Slider(relativePosition.x, 0f, 100f);
                EditorGUILayout.LabelField("Y:", GUILayout.Width(15f));
                relativePosition.y = EditorGUILayout.Slider(relativePosition.y, 0f, 100f);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical("Button");
            sizeType = (AC_SizeType)CustomGUILayout.EnumPopup("Size:", sizeType, apiPrefix + ".sizeType");
            if (sizeType == AC_SizeType.Manual)
            {
                Vector2 originalSlotSize = slotSize;

                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("W:", GUILayout.Width(17f));
                originalSlotSize.x = EditorGUILayout.Slider(slotSize.x, 0f, 100f);
                EditorGUILayout.LabelField("H:", GUILayout.Width(15f));
                originalSlotSize.y = EditorGUILayout.Slider(slotSize.y, 0f, 100f);

                int iconNumber = (doProportionalScaling) ? 11 : 12;
                if (GUILayout.Button("", Resource.NodeSkin.customStyles [iconNumber]))
                {
                    doProportionalScaling = !doProportionalScaling;
                }
                EditorGUILayout.EndHorizontal();

                if (doProportionalScaling)
                {
                    if (!Mathf.Approximately(originalSlotSize.x, slotSize.x))
                    {
                        float proportion = slotSize.y / slotSize.x;
                        originalSlotSize.y = proportion * originalSlotSize.x;
                    }
                    else if (!Mathf.Approximately(originalSlotSize.y, slotSize.y))
                    {
                        float proportion = slotSize.x / slotSize.y;
                        originalSlotSize.x = proportion * originalSlotSize.y;
                    }
                }

                slotSize = originalSlotSize;
            }
            else if (sizeType == AC_SizeType.AbsolutePixels)
            {
                EditorGUILayout.BeginHorizontal();
                EditorGUILayout.LabelField("Width:", GUILayout.Width(50f));
                slotSize.x = EditorGUILayout.FloatField(slotSize.x);
                EditorGUILayout.LabelField("Height:", GUILayout.Width(50f));
                slotSize.y = EditorGUILayout.FloatField(slotSize.y);
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.EndVertical();
        }
示例#9
0
		public virtual void Copy (MenuElement _element)
		{
			ID = _element.ID;
			isEditing = false;
			title = _element.title;
			slotSize = _element.slotSize;
			sizeType = _element.sizeType;
			positionType = _element.positionType;
			relativeRect = _element.relativeRect;
			numSlots = _element.numSlots;
			lineID = _element.lineID;
			slotSpacing = _element.slotSpacing;
		
			font = _element.font;
			fontScaleFactor = _element.fontScaleFactor;
			fontColor = _element.fontColor;
			fontHighlightColor = _element.fontHighlightColor;
			highlightTexture = _element.highlightTexture;

			isVisible = _element.isVisible;
			isClickable = _element.isClickable;
			orientation = _element.orientation;
			gridWidth = _element.gridWidth;

			backgroundTexture = _element.backgroundTexture;

			hoverSound = _element.hoverSound;
			clickSound = _element.clickSound;

			relativePosition = _element.relativePosition;
			dragOffset = Vector2.zero;
		}
示例#10
0
		public void EndGUI ()
		{
			EditorGUILayout.BeginVertical ("Button");
				positionType = (AC_PositionType2) EditorGUILayout.EnumPopup ("Position:", positionType);
				if (positionType == AC_PositionType2.AbsolutePixels)
				{
					EditorGUILayout.BeginHorizontal ();
						EditorGUILayout.LabelField ("X:", GUILayout.Width (15f));
						relativeRect.x = EditorGUILayout.FloatField (relativeRect.x);
						EditorGUILayout.LabelField ("Y:", GUILayout.Width (15f));
						relativeRect.y = EditorGUILayout.FloatField (relativeRect.y);
					EditorGUILayout.EndHorizontal ();
				}
				else if (positionType == AC_PositionType2.RelativeToMenuSize)
				{
					EditorGUILayout.BeginHorizontal ();
						EditorGUILayout.LabelField ("X:", GUILayout.Width (15f));
						relativePosition.x = EditorGUILayout.Slider (relativePosition.x, 0f, 100f);
						EditorGUILayout.LabelField ("Y:", GUILayout.Width (15f));
						relativePosition.y = EditorGUILayout.Slider (relativePosition.y, 0f, 100f);
					EditorGUILayout.EndHorizontal ();
				}
			EditorGUILayout.EndVertical ();
			
			EditorGUILayout.BeginVertical ("Button");
				sizeType = (AC_SizeType) EditorGUILayout.EnumPopup ("Size:", sizeType);
				if (sizeType == AC_SizeType.Manual)
				{
					EditorGUILayout.BeginHorizontal ();
					EditorGUILayout.LabelField ("W:", GUILayout.Width (17f));
					slotSize.x = EditorGUILayout.Slider (slotSize.x, 0f, 100f);
					EditorGUILayout.LabelField ("H:", GUILayout.Width (15f));
					slotSize.y = EditorGUILayout.Slider (slotSize.y, 0f, 100f);
					EditorGUILayout.EndHorizontal ();
				}
				else if (sizeType == AC_SizeType.AbsolutePixels)
				{
					EditorGUILayout.BeginHorizontal ();
					EditorGUILayout.LabelField ("Width:", GUILayout.Width (50f));
					slotSize.x = EditorGUILayout.FloatField (slotSize.x);
					EditorGUILayout.LabelField ("Height:", GUILayout.Width (50f));
					slotSize.y = EditorGUILayout.FloatField (slotSize.y);
					EditorGUILayout.EndHorizontal ();
				}
			EditorGUILayout.EndVertical ();
		}