public NodeUIDialogPuzzleWin(GameUI myGameUI, int myDepth) : base(myGameUI, myDepth) { NodeUIButton buttonNext; NodeUIButton buttonCancel; NodeUIButton buttonSave; NodeUIButton buttonExit; buttonNext = new NodeUIButton(myGameUI, myDepth + 1, CurrentAbsolute, "$Graphics/Icons/Right.png", "Next"); buttonCancel = new NodeUIButton(myGameUI, myDepth + 1, CurrentAbsolute, "$Graphics/Icons/Cancel.png", "Cancel"); buttonSave = new NodeUIButton(myGameUI, myDepth + 1, CurrentAbsolute, "$Graphics/Icons/Save.png", "Save"); buttonExit = new NodeUIButton(myGameUI, myDepth + 1, CurrentAbsolute, "$Graphics/Icons/Home.png", "Home"); buttonNext.ToolTip = "Start the next puzzle"; buttonCancel.ToolTip = "Redo this puzzle"; buttonSave.ToolTip = "Save the solution to the library"; buttonExit.ToolTip = "Return to home page"; Add(buttonNext); Add(buttonCancel); Add(buttonSave); Add(buttonExit); Text = @"Congrats! You have solved the puzzle. Do you want to continue with the next puzzle in the library? Again, well done!"; TextTitle = "Puzzle Complete"; }
public NodeControllerCommands(GameUI myGameUI, int myDepth) : base(myGameUI, myDepth) { RectangleInt panel = myGameUI.GameCoords.PositionMovementCommands; VectorInt locCommands = myGameUI.GameCoords.PositionMovementCommands.TopLeft; NodeUIButton buttonUp = new NodeUIButton(myGameUI, myDepth + 1, locCommands.Add(22, 2), ResourceID.GameButtonUp, "Up"); buttonUp.CurrentCentre = panel.TopMiddle; buttonUp.ToolTip = "Move Up"; buttonUp.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonUp); NodeUIButton buttonDown = new NodeUIButton(myGameUI, myDepth + 2, locCommands.Add(22, 42), ResourceID.GameButtonDown, "Down"); buttonDown.CurrentCentre = panel.BottomMiddle; buttonDown.ToolTip = "Move Down"; buttonDown.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonDown); NodeUIButton buttonLeft = new NodeUIButton(myGameUI, myDepth + 3, locCommands.Add(2, 22), ResourceID.GameButtonLeft, "Left"); buttonLeft.CurrentCentre = panel.MiddleLeft; buttonLeft.ToolTip = "Move Left"; buttonLeft.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonLeft); NodeUIButton buttonRight = new NodeUIButton(myGameUI, myDepth + 4, locCommands.Add(42, 22), ResourceID.GameButtonRight, "Right"); buttonRight.CurrentCentre = panel.MiddleRight; buttonRight.ToolTip = "Move Right"; buttonRight.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonRight); NodeUIButton buttonUndo = new NodeUIButton(myGameUI, myDepth + 6, locCommands.Add(22, 22), ResourceID.GameButtonUndo, "Undo"); buttonUndo.CurrentCentre = panel.Center; buttonUndo.ToolTip = "Undo last move"; buttonUndo.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonUndo); RectangleInt panelGen = myGameUI.GameCoords.PositionGeneralCommands; NodeUIButton buttonRestart = new NodeUIButton(myGameUI, myDepth + 7, locCommands.Add(42, 42), ResourceID.GameButtonRestart, "Restart"); buttonRestart.CurrentCentre = panelGen.MiddleLeft; buttonRestart.ToolTip = "Restart puzzle"; buttonRestart.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonRestart); NodeUIButton buttonExit = new NodeUIButton(myGameUI, myDepth + 8, locCommands.Add(42, 2), ResourceID.GameButtonCancel, "Exit"); buttonExit.CurrentCentre = panelGen.Center; buttonExit.ToolTip = "Give up and exit"; buttonExit.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonExit); NodeUIButton buttonHelp = new NodeUIButton(myGameUI, myDepth + 5, locCommands.Add(2, 42), ResourceID.GameButtonHelp, "Help"); buttonHelp.CurrentCentre = panelGen.MiddleRight; buttonHelp.ToolTip = "Get a hint"; buttonHelp.OnClick += new EventHandler<NotificationEvent>(Button_OnClick); myGameUI.Add(buttonHelp); }
public void Add(NodeUIButton button) { buttons.Add(button); if (!GameUI.HasNode(button)) { GameUI.Add(button); } button.OnClick += new EventHandler<NotificationEvent>(OnClickButton); }
public NodeControllerBookmarks(GameUI myGameUI, int myDepth) : base(myGameUI, myDepth) { VectorInt vi = myGameUI.GameCoords.PositionWayPoints.TopLeft; b1 = new NodeUIButton(myGameUI, myDepth + 1, vi, "$Graphics/Tiles/Clean/WayPointButton1.png", "WP1"); b1.ImageBack = null; b1.ToolTip = "Bookmark #1"; b1.OnClick += new EventHandler<NotificationEvent>(OnButtonClick); b1.OnMouseOver += new EventHandler<NotificationEvent>(OnButtonMouseOver); myGameUI.Add(b1); vi = vi.Add(0, 40); b2 = new NodeUIButton(myGameUI, myDepth +2, vi, "$Graphics/Tiles/Clean/WayPointButton2.png", "WP2"); b2.ImageBack = null; b2.ToolTip = "Bookmark #2"; b2.OnClick += new EventHandler<NotificationEvent>(OnButtonClick); b2.OnMouseOver += new EventHandler<NotificationEvent>(OnButtonMouseOver); myGameUI.Add(b2); vi = vi.Add(0, 40); b3 = new NodeUIButton(myGameUI, myDepth + 3, vi, "$Graphics/Tiles/Clean/WayPointButton3.png", "WP3"); b3.ImageBack = null; b3.ToolTip = "Bookmark #3"; b3.OnClick += new EventHandler<NotificationEvent>(OnButtonClick); b3.OnMouseOver += new EventHandler<NotificationEvent>(OnButtonMouseOver); myGameUI.Add(b3); vi = vi.Add(0, 40); b4 = new NodeUIButton(myGameUI, myDepth + 4, vi, "$Graphics/Tiles/Clean/WayPointButton4.png", "WP4"); b4.ImageBack = null; b4.ToolTip = "Bookmark #4"; b4.OnClick += new EventHandler<NotificationEvent>(OnButtonClick); b4.OnMouseOver += new EventHandler<NotificationEvent>(OnButtonMouseOver); myGameUI.Add(b4); vi = vi.Add(0, 40); b5 = new NodeUIButton(myGameUI, myDepth + 5, vi, "$Graphics/Tiles/Clean/WayPointButton5.png", "WP5"); b5.ImageBack = null; b5.ToolTip = "Bookmark #5"; b5.OnClick += new EventHandler<NotificationEvent>(OnButtonClick); b5.OnMouseOver += new EventHandler<NotificationEvent>(OnButtonMouseOver); myGameUI.Add(b5); brushBookmarkOn = null; brushBookmarkOff = new SolidBrush(Color.FromArgb(120, Color.Black)); staticImageRender = new StaticImage(ResourceFactory.Singleton.GetInstance("Default.Tiles"), new VectorInt(16, 16)); }
private void ShowMouseOverImage(int idx, NodeUIButton button) { if (mouseOverImage != null && !mouseOverImage.IsRemoved && idx != currentMouseOver) { mouseOverImage.Remove(); } SokobanMap map = GameUI.Bookmarks[idx].Current; if (mouseOverImage == null || mouseOverImage.IsRemoved) { mouseOverImage = new NodeEffectImage(GameUI, Depth + 1, staticImageRender.Draw(map)); mouseOverImage.CurrentAbsolute = button.CurrentAbsolute.Add(60, 0); mouseOverImage.Path = new StaticPath(mouseOverImage.CurrentAbsolute, 40); GameUI.Add(mouseOverImage); currentMouseOver = idx; } }