yes_cancel_confirm_page.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package UI
  2. import (
  3. "fmt"
  4. //"os"
  5. //"path/filepath"
  6. //"strings"
  7. "github.com/cuu/gogame/event"
  8. //"github.com/cuu/gogame/time"
  9. )
  10. type Func func()
  11. type YesCancelConfirmPage struct {
  12. ConfirmPage
  13. StartOrAEvent Func
  14. KeyXEvent Func
  15. KeyYEvent Func
  16. }
  17. func NewYesCancelConfirmPage() *YesCancelConfirmPage {
  18. p := &YesCancelConfirmPage{}
  19. p.FootMsg = [5]string{"Nav","","","Cancel","Yes"}
  20. p.ConfirmText = MyLangManager.Tr("Awaiting Input")
  21. p.ListFont = MyLangManager.TrFont("veramono20")
  22. p.StartOrAEvent = nil
  23. p.KeyXEvent = nil
  24. p.KeyYEvent = nil
  25. return p
  26. }
  27. func (self *YesCancelConfirmPage) KeyDown(ev *event.Event) {
  28. if IsKeyMenuOrB(ev.Data["Key"]) {
  29. self.ReturnToUpLevelPage()
  30. self.Screen.Draw()
  31. self.Screen.SwapAndShow()
  32. }
  33. if IsKeyStartOrA(ev.Data["Key"]) {
  34. if self.StartOrAEvent != nil {
  35. fmt.Println("StartOrA yes or no")
  36. self.StartOrAEvent()
  37. self.ReturnToUpLevelPage()
  38. }else {
  39. fmt.Println("StartOrA nil")
  40. }
  41. }
  42. if ev.Data["Key"] == CurKeys["X"] {
  43. if self.KeyXEvent != nil {
  44. self.KeyXEvent()
  45. self.ReturnToUpLevelPage()
  46. }
  47. }
  48. if ev.Data["Key"] == CurKeys["Y"] {
  49. if self.KeyYEvent != nil {
  50. self.KeyYEvent()
  51. self.ReturnToUpLevelPage()
  52. }
  53. }
  54. }