private static void SecondaryPanelControl_MouseLeave(object sender, EventArgs e) { EncounterRenderer.IsSecondaryPanelMouseDown = false; EncounterRenderer.IsHoveringSecondaryPanel = false; EncounterRenderer.DrawSecondaryPanel(); EncounterRenderer.DrawField(); }
private static void SecondaryPanelControl_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if (EncounterRenderer.IsSecondaryPanelMouseDown) { EncounterRenderer.ShowPanelSelect(false); } EncounterRenderer.IsSecondaryPanelMouseDown = false; EncounterRenderer.DrawSecondaryPanel(); EncounterRenderer.DrawPanels(); }
private static void DrawPanels() { var cols = 4; var startPoint = new Point(10, 10); var margin = 5; var optionsCount = 10; for (int panel = 0; panel < optionsCount; panel++) { var topLeft = new Point(startPoint.X + (panel % cols) * (40 + margin * 2), startPoint.Y + (panel / cols) * (32 + margin * 2)); EncounterRenderer.PanelSelectionRenderer.Draw(new Sprite { Position = new Point(topLeft.X, topLeft.Y), TexX = 0, TexY = 32 * panel, Width = 40, Height = 32, Texture = $"battleobjects" }.WithTopLeftPosition(), 0); } { var selectedPanel = (int)(EncounterRenderer.IsSettingPrimaryPanel ? EncounterRenderer.CurrentEncounter.PrimaryPanel : EncounterRenderer.CurrentEncounter.SecondaryPanel); var topLeft = new Point(startPoint.X - margin + (selectedPanel % cols) * (40 + margin * 2), startPoint.Y - margin + (selectedPanel / cols) * (32 + margin * 2)); var bottomRight = new Point(topLeft.X + 40 + margin * 2, topLeft.Y + 32 + margin * 2); EncounterRenderer.PanelSelectionRenderer.DrawQuad(new Quad { A = new Point(bottomRight.X, topLeft.Y), B = new Point(bottomRight.X, bottomRight.Y), C = new Point(topLeft.X, bottomRight.Y), D = new Point(topLeft.X, topLeft.Y), Color = Color.FromArgb(125, Color.Wheat), Type = DrawType.Outline | DrawType.Fill }, 4); } var selectedPosition = EncounterRenderer.PanelSelectionMouseClickConfirmPosition ?? EncounterRenderer.PanelSelectionMouseClickPosition ?? EncounterRenderer.PanelSelectionMousePosition; if (selectedPosition != null) { var highlightedPanel = (selectedPosition.Value.X / (40 + 2 * margin)) + cols * (selectedPosition.Value.Y / (32 + 2 * margin)); if (highlightedPanel < optionsCount) { var topLeft = new Point(startPoint.X - margin + (highlightedPanel % cols) * (40 + margin * 2), startPoint.Y - margin + (highlightedPanel / cols) * (32 + margin * 2)); var bottomRight = new Point(topLeft.X + 40 + margin * 2, topLeft.Y + 32 + margin * 2); var color = EncounterRenderer.PanelSelectionMouseClickPosition.HasValue ? Color.FromArgb(128, Color.DarkBlue) : Color.FromArgb(128, Color.AliceBlue); EncounterRenderer.PanelSelectionRenderer.DrawQuad(new Quad { A = new Point(bottomRight.X, topLeft.Y), B = new Point(bottomRight.X, bottomRight.Y), C = new Point(topLeft.X, bottomRight.Y), D = new Point(topLeft.X, topLeft.Y), Color = color, Type = DrawType.Outline | DrawType.Fill }, 4); } if (EncounterRenderer.PanelSelectionMouseClickConfirmPosition.HasValue && EncounterRenderer.PanelSelectionMouseClickPosition.HasValue) { var selectedPanel = (EncounterRenderer.PanelSelectionMouseClickPosition.Value.X / (40 + 2 * margin)) + cols * (EncounterRenderer.PanelSelectionMouseClickPosition.Value.Y / (32 + 2 * margin)); var confirmPanel = (EncounterRenderer.PanelSelectionMouseClickConfirmPosition.Value.X / (40 + 2 * margin)) + cols * (EncounterRenderer.PanelSelectionMouseClickConfirmPosition.Value.Y / (32 + 2 * margin)); if (confirmPanel < optionsCount && confirmPanel == selectedPanel) { if (EncounterRenderer.IsSettingPrimaryPanel) { EncounterRenderer.CurrentEncounter.PrimaryPanel = (Panel.PANEL)highlightedPanel; } else { EncounterRenderer.CurrentEncounter.SecondaryPanel = (Panel.PANEL)highlightedPanel; } EncounterRenderer.DrawField(); EncounterRenderer.DrawPrimaryPanel(); EncounterRenderer.DrawSecondaryPanel(); } EncounterRenderer.PanelSelectionMouseClickPosition = null; EncounterRenderer.PanelSelectionMouseClickConfirmPosition = null; } } EncounterRenderer.PanelSelectionRenderer.Render(); }
private static void SecondaryPanelControl_MouseEnter(object sender, EventArgs e) { EncounterRenderer.IsHoveringSecondaryPanel = true; EncounterRenderer.DrawSecondaryPanel(); EncounterRenderer.DrawField(); }
private static void SecondaryPanelControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { EncounterRenderer.IsSecondaryPanelMouseDown = true; ((System.Windows.Forms.Control)sender).Capture = false; EncounterRenderer.DrawSecondaryPanel(); }