Beispiel #1
0
        public void PaintTopInGame(ClipState clipState)
        {
            if (clipState != ClipState.BeforeClip)
            {
                return;
            }

            // dumb test
            //Says.Error(Guid.NewGuid().ToString());

            //try
            //{
            //    var item = Hud.Inventory.GetSnoItem(1612258795);
            //    Jack.Says.Debug(item.NameEnglish);
            //}
            //catch (Exception ex)
            //{
            //    Says.Debug(ex.Message);
            //}
            ////337492 Nephalem Rift
            //foreach (var s in Hud.Game.Quests.Where(q => q.SnoQuest.Type != QuestType.Bounty))
            //{
            //    Says.Debug("{0} {1}", s.SnoQuest.Sno, s.SnoQuest.NameEnglish);
            //}
            //foreach (var s in Hud.Game.Me.Powers.PassiveSlots)
            //{
            //    Says.Debug("{0} {1}", s.Sno, s.NameEnglish);
            //}
            //foreach (var s in Hud.Game.Me.Powers.UsedPassives)
            //{
            //    Says.Error("{0} {1}", s.Sno, s.NameEnglish);
            //}

            if (Hud.Input.IsKeyDown(Keys.X))
            {
                Says.Messages.Clear();
            }
            if (Says.Messages.Count == 0)
            {
                return;
            }

            var x = XFunc();
            var y = YFunc();

            var estimatedWidth  = Says.Messages.Max(m => m.Message.Length) * 8f; // TODO : fix for long exceptions
            var estimatedHeight = (Says.Messages.Count + 1) * 14f + 20 + 2;

            MessageFrame.Paint(x, y, estimatedWidth, estimatedHeight, HorizontalAlign.Left);

            x += 10;
            y += 4;

            Fonts[LogLevel.All].DrawText("Jack says :", x, y);
            y += 14;

            foreach (var message in Says.Messages)
            {
                Fonts[message.Level].DrawText(message.Message, x, y);
                y += 14;
            }
        }