示例#1
0
        private void ParseRooms(IncursionWindow incursionWindow, out string roomType1, out string roomType2)
        {
            const string trimWord = " to ";

            roomType1 = incursionWindow.Reward2;
            roomType2 = incursionWindow.Reward1;

            var splitIndex1 = roomType1.LastIndexOf(trimWord);
            var splitIndex2 = roomType2.LastIndexOf(trimWord);

            if (splitIndex1 != -1)
            {
                roomType1 = roomType1.Substring(splitIndex1 + trimWord.Length);
                roomType1 = roomType1.Substring(0, roomType1.Length - 2);
            }
            else
            {
                roomType1 = $"Error: Cannot parse room type from: {roomType1}";
            }

            if (splitIndex2 != -1)
            {
                roomType2 = roomType2.Substring(splitIndex2 + trimWord.Length);
                roomType2 = roomType2.Substring(0, roomType2.Length - 2);
            }
            else
            {
                roomType2 = $"Error: Cannot parse room type from: {roomType2}";
            }
        }
示例#2
0
        private void DrawRewards(IncursionWindow incursionWindow)
        {
            var topRight = incursionWindow.GetClientRectCache.TopRight;

            if (_room1 != null)
            {
                var room1DrawPos = topRight;
                room1DrawPos.X -= 80;
                room1DrawPos.Y += 150;
                foreach (var room in _room1.AllRooms)
                {
                    var textSize   = Graphics.DrawText(room.Outcome, room1DrawPos, room.Color);
                    var border     = 2;
                    var rectangleF = new RectangleF(
                        room1DrawPos.X - border * 2,
                        room1DrawPos.Y - border,
                        textSize.X + border * 4,
                        textSize.Y + border * 2);
                    Graphics.DrawBox(rectangleF, Color.Black);

                    if (room == _room1)
                    {
                        Graphics.DrawFrame(rectangleF, Color.White, 2);
                    }

                    room1DrawPos.Y += 20;
                }
            }

            if (_room2 != null)
            {
                var room1DrawPos = topRight;
                room1DrawPos.X -= 350;
                room1DrawPos.Y += 50;

                foreach (var room in _room2.AllRooms)
                {
                    var textSize   = Graphics.DrawText(room.Outcome, room1DrawPos, room.Color, FontAlign.Right);
                    var border     = 2;
                    var rectangleF = new RectangleF(
                        room1DrawPos.X - textSize.X - border * 2,
                        room1DrawPos.Y - border,
                        textSize.X + border * 4,
                        textSize.Y + border * 2);
                    Graphics.DrawBox(rectangleF, Color.Black);

                    if (room == _room2)
                    {
                        Graphics.DrawFrame(rectangleF, Color.White, 2);
                    }

                    room1DrawPos.Y += 20;
                }
            }
        }