コード例 #1
0
        private void characterList_DrawItem(ObjectListControl sender, DrawItemEventArgs e)
        {
            Character thisCharacter = (Character)characterList.Items[e.Index];

            Rectangle characterFrame;

            if (characterList.Selected[e.Index])
            {
                sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds);

                characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front);
            }
            else
            {
                characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front);
            }

            e.SpriteBatch.Draw(screenHandler.CharacterSpriteTexture,
                               new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height),
                               characterFrame, Color.White);


            e.SpriteBatch.DrawString(characterList.Font, thisCharacter.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + 4), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);
        }
コード例 #2
0
ファイル: MenuItemScreen.cs プロジェクト: Mason11987/RedSky
        private void itemList_DrawItem(ObjectListControl sender, DrawItemEventArgs e)
        {
            Item thisItem = (Item)itemList.Items[e.Index];

            //Rectangle characterFrame;
            if (itemList.Selected[e.Index])
            {
                sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds);

                //characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front);
            }
            else
            {
                //characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front);
            }

            //e.SpriteBatch.Draw(Game.World.CharacterSpriteTexture,
            //    new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height),
            //    characterFrame, Color.White);


            e.SpriteBatch.DrawString(itemList.Font, thisItem.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + 4), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);

            e.SpriteBatch.DrawString(itemList.Font, Game.World.Player.Items[thisItem].ToString().PadLeft(3), new Vector2(e.Bounds.Right - 50, e.Bounds.Top + 4), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);
        }
コード例 #3
0
        private void partList_DrawItem(ObjectListControl sender, DrawItemEventArgs e)
        {
            BodyPart thisPart = (BodyPart)partList.Items[e.Index];


            if (partList.Selected[e.Index])
            {
                sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds);
            }

            e.SpriteBatch.DrawString(partList.Font, thisPart.Name, new Vector2(e.Bounds.Left + 20, e.Bounds.Top + (e.Bounds.Height - partList.Font.MeasureString(thisPart.Name).Y) / 2), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);
        }
コード例 #4
0
        private void wearingList_DrawItem(ObjectListControl sender, DrawItemEventArgs e)
        {
            Equipment thisEquipment = (Equipment)wearingList.Items[e.Index];

            if (wearingList.Selected[e.Index])
            {
                if (wearingList.HoverIndex == e.Index && wearingList.MouseInside)
                {
                    sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds, Color.Red);
                }
                else
                {
                    sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds);
                }
            }
            else if (wearingList.HoverIndex == e.Index && wearingList.MouseInside)
            {
                sender.DrawLineItemHighlight(Color.Transparent, e.Bounds, Color.Red);
            }

            e.SpriteBatch.DrawString(partList.Font, thisEquipment.Name, new Vector2(e.Bounds.Left + 20, e.Bounds.Top + (e.Bounds.Height - partList.Font.MeasureString(thisEquipment.Name).Y) / 2), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);
        }
コード例 #5
0
        private void characterList_DrawItem(ObjectListControl sender, DrawItemEventArgs e)
        {
            Character thisCharacter = (Character)characterList.Items[e.Index];

            Rectangle characterFrame;

            if (characterList.Selected[e.Index])
            {
                sender.DrawLineItemHighlight(Color.AliceBlue, e.Bounds);

                characterFrame = thisCharacter.GetAnimatedSpriteFrame(SpriteDirection.Front);
            }
            else
            {
                characterFrame = thisCharacter.GetSpriteFrame(SpriteDirection.Front);
            }

            e.SpriteBatch.Draw(screenHandler.CharacterSpriteTexture,
                               new Rectangle(e.Bounds.Left + 4, e.Bounds.Top + e.Bounds.Height / 2 - characterFrame.Height / 2, characterFrame.Width, characterFrame.Height),
                               characterFrame, Color.White);


            e.SpriteBatch.DrawString(characterList.Font, thisCharacter.Name, new Vector2(e.Bounds.Left + 40, e.Bounds.Top + e.Bounds.Height / 2 - 16), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);

            e.SpriteBatch.DrawString(characterList.Font, "HP:" + thisCharacter.HP + " / " + thisCharacter.MaxHP, new Vector2(e.Bounds.Left + 200, e.Bounds.Top + 4), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);

            thisCharacter.HP = thisCharacter.MaxHP / 2;

            sender.DrawRect(Color.DarkRed, new Rectangle(e.Bounds.Left + 200, e.Bounds.Top + 4 + 30, 200, 20), Color.Black);
            sender.DrawRect(Color.Red, new Rectangle(e.Bounds.Left + 201, e.Bounds.Top + 4 + 30 + 1, (int)(198.0f * ((float)thisCharacter.HP / thisCharacter.MaxHP)), 19));

            e.SpriteBatch.DrawString(characterList.Font, "Level:" + thisCharacter.Level, new Vector2(e.Bounds.Left + 200, e.Bounds.Top + 4 + 50), Color.Black,
                                     0, Vector2.Zero, 1.0f, SpriteEffects.None, 0.5f);

            thisCharacter.Experience = thisCharacter.ExpToNextLevel / 3;

            sender.DrawRect(Color.DarkGreen, new Rectangle(e.Bounds.Left + 200, e.Bounds.Top + 4 + 80, 200, 20), Color.Black);
            sender.DrawRect(Color.Green, new Rectangle(e.Bounds.Left + 201, e.Bounds.Top + 4 + 80 + 1, (int)(198.0f * ((float)thisCharacter.Experience / thisCharacter.ExpToNextLevel)), 19));
        }