Example #1
0
        public UIEndlessBuffGrid(IEndlessBuffGridHolder uiState)
        {
            Width.Set(0, 1f);
            Height.Set(0, 1f);
            SetPadding(0f);

            ParentEndlessBuffGridHolder = uiState;
        }
Example #2
0
        protected override void DrawSelf(SpriteBatch spriteBatch)
        {
            // Drawing is being really weird, todo
            base.DrawSelf(spriteBatch);
            Texture2D texture  = Main.buffTexture[Buff];
            Vector2   position = GetDimensions().Position() + texture.Size() * (1f - 1f) / 2f;

            // Straight outta UIImage
            spriteBatch.Draw(texture,
                             new Rectangle((int)position.X, (int)position.Y, texture.Width, texture.Height),
                             new Rectangle(0, 0, texture.Width, texture.Height),
                             Disabled ? Color.DarkGray : Color.White, 0f, Vector2.Zero, SpriteEffects.None, 0f
                             );

            IEndlessBuffGridHolder parent = Parent as IEndlessBuffGridHolder;
            bool alwaysHighlight          = (parent != null && parent.GetSelectedBuffHolder().Buff == Buff);

            if (ContainsPoint(Main.MouseScreen) || alwaysHighlight)
            {
                if (Main.mouseLeft && Main.mouseLeftRelease)
                {
                    if (Parent is IEndlessBuffGridHolder grid)
                    {
                        grid.HandleBuffEntryClick(this);
                    }
                }
                if (Main.mouseRight && Main.mouseRightRelease)
                {
                    if (Parent is UIEndlessBuffGrid grid)
                    {
                        if (grid.GetSelectedBuffHolder().Buff == Buff)
                        {
                            Disabled = !Disabled;
                            EndlessPotionPlayer player = Main.LocalPlayer.GetModPlayer <EndlessPotionPlayer>();

                            if (Disabled)
                            {
                                player.DisabledBuffs.Add(Buff);
                            }
                            else
                            {
                                player.DisabledBuffs.Remove(Buff);
                            }
                        }
                    }
                }

                texture   = PboneUtils.Textures.UI.BuffTogglerInventoryButton_MouseOver;
                position -= new Vector2(2);

                spriteBatch.Draw(texture,
                                 new Rectangle((int)position.X, (int)position.Y, texture.Width, texture.Height),
                                 new Rectangle(0, 0, texture.Width, texture.Height),
                                 alwaysHighlight  ? Color.White : Color.White * 0.33f, 0f, Vector2.Zero, SpriteEffects.None, 0f
                                 );
            }
        }