yes_cancel_confirm_page.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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.Refresh()
  31. }
  32. if IsKeyStartOrA(ev.Data["Key"]) {
  33. if self.StartOrAEvent != nil {
  34. fmt.Println("StartOrA yes or no")
  35. self.StartOrAEvent()
  36. self.ReturnToUpLevelPage()
  37. }else {
  38. fmt.Println("StartOrA nil")
  39. }
  40. }
  41. if ev.Data["Key"] == CurKeys["X"] {
  42. if self.KeyXEvent != nil {
  43. self.KeyXEvent()
  44. self.ReturnToUpLevelPage()
  45. }
  46. }
  47. if ev.Data["Key"] == CurKeys["Y"] {
  48. if self.KeyYEvent != nil {
  49. self.KeyYEvent()
  50. self.ReturnToUpLevelPage()
  51. }
  52. }
  53. }