コード例 #1
0
ファイル: Button.cs プロジェクト: Briggsby/DND5eBattleApp
 public void SetTextures(ButtonTextures textures)
 {
     this.textures = new List <Texture2D>()
     {
         textures.baseTexture, textures.hoveredTexture, textures.pressedTexture, textures.pressedHoveredTexture, textures.inactiveTexture
     };
 }
コード例 #2
0
        public ContextMenu(ContextMenuTemplate contextMenuTemplate1, ContextMenuTemplate contextMenuTemplate2, Vector2 position, GameObject parent = null, bool leftSide = false, bool destroyOnOtherClick = false) : base(position, null, parent)
        {
            this.texts = new List <string>(contextMenuTemplate1.texts);
            this.tags  = new List <List <string> >(contextMenuTemplate1.tags);
            this.texts.AddRange(contextMenuTemplate2.texts);
            this.tags.AddRange(contextMenuTemplate2.tags);
            this.font                 = contextMenuTemplate1.font;
            this.textures             = contextMenuTemplate1.textures;
            this.transform.LayerDepth = EngManager.layerDepths[LayerDepths.ContextMenu];

            this.destroyOnOtherClick = destroyOnOtherClick;

            this.columns = contextMenuTemplate1.numberOfColumns;
            if (columns < 1)
            {
                columns = 1;
            }

            if (leftSide)
            {
                this.leftSide = -1;
            }
            else
            {
                this.leftSide = 1;
            }

            GenerateButtons(contextMenuTemplate1.ButtonSize);
            GenerateHitbox();
            SetInactives(contextMenuTemplate1);
            SetInactives(contextMenuTemplate2, contextMenuTemplate1.texts.Count);
            GenerateTemplateChildMenus(contextMenuTemplate1);
            GenerateTemplateChildMenus(contextMenuTemplate2, contextMenuTemplate1.texts.Count);
        }
コード例 #3
0
        public ContextMenu(Vector2 position, List <Texture2D> textures, List <string> texts, SpriteFont font, List <List <string> > tags, GameObject parent = null, bool destroyOnOtherClick = false) : base(position, null, parent)
        {
            this.texts                = texts;
            this.font                 = font;
            this.tags                 = tags;
            this.textures             = ButtonTextures.FromList(textures);
            this.transform.LayerDepth = EngManager.layerDepths[LayerDepths.ContextMenu];
            this.destroyOnOtherClick  = destroyOnOtherClick;

            GenerateButtons();
            GenerateHitbox();
        }
コード例 #4
0
        public ScrollMenuTemplate(ContextMenuTemplate menuTemplate)
        {
            normalButtonsTemplate = menuTemplate;

            upArrow             = null;
            upArrowPosition     = null;
            upArrowSize         = null;
            downArrow           = null;
            downArrowPosition   = null;
            downArrowSize       = null;
            scroller            = null;
            scrollBarBackground = null;
        }
コード例 #5
0
ファイル: Button.cs プロジェクト: Briggsby/DND5eBattleApp
        public Button(Vector2 position, string text, SpriteFont font, ButtonTextures textures, Vector2 size, GameObject parent = null, Vector2?textPosition = null) : base(position, textures.baseTexture, parent)
        {
            if (font == null)
            {
                font = EngManager.defaultFont;
            }
            if (text == null)
            {
                text = "";
            }
            buttonState = ButtonTexture.BaseTexture;
            inActive    = false;
            SetTextures(textures);
            transform.SetSize(size, textures.baseTexture);

            textObj = new TextObject(this, text, font, textPosition ?? new Vector2(0, 0), TextRelativePosition.Center);

            MakeHitbox(new Vector2(0, 0), HitboxShape.Rectangle, new Vector3(size.X, size.Y, 0));
        }
コード例 #6
0
        public ContextMenuItem(ContextMenu contextMenu, List <string> tags, Vector2 position, string text, SpriteFont font, ButtonTextures textures, Vector2 size) : base(position, text, font, textures, size, contextMenu)
        {
            leftSide             = false;
            this.contextMenu     = contextMenu;
            this.tags            = new List <string>(tags);
            this.buttonState     = ButtonTexture.BaseTexture;
            childMenu            = false;
            transform.layerDepth = -0.001f;

            if (hitbox.CheckMouseOver() && (EngManager.controls.topHitbox == null || (EngManager.controls.topHitbox == hitbox || EngManager.controls.topHitbox.gameObject.transform.LayerDepth > transform.LayerDepth)))
            {
                EngManager.controls.topHitbox = hitbox;
                OnMouseOver();
            }
            else if (hitbox.CheckMouseOver())
            {
                OnMouseOver();
            }
        }
コード例 #7
0
ファイル: TextField.cs プロジェクト: Briggsby/DND5eBattleApp
 public TextField(Vector2 position, ButtonTextures textures, Vector2 size, SpriteFont font = null, string defaultText = "Enter Here", bool editOnHover = false, bool editOnSelect = true) : base(position, defaultText, font, textures, size)
 {
     keyDelayValues    = new Dictionary <Keys, float>();
     this.editOnHover  = editOnHover;
     this.editOnSelect = editOnSelect;
 }
コード例 #8
0
 public DropDownMenu(ScrollMenuTemplate scrollMenuTemplate, Vector2 position, ButtonTextures textures, Vector2 size, string defaultText, SpriteFont font = null, bool stretchMenu = true) : base(position, textures, size, font, defaultText, false, false)
 {
     this.scrollMenuTemplate = scrollMenuTemplate;
     scrollMenuTemplate.normalButtonsTemplate.ButtonSize = new Vector2(transform.Size.X / scrollMenuTemplate.normalButtonsTemplate.numberOfColumns, scrollMenuTemplate.normalButtonsTemplate.ButtonSize.Y);
 }