func onPaint(glctx gl.Context, sz size.Event, u *uistate.UIState) { if u.CurView == uistate.None { u.ScanChan = make(chan bool) go sync.ScanForSG(u.Ctx, u.ScanChan, u) view.LoadDiscoveryView(u) } glctx.ClearColor(1, 1, 1, 1) glctx.Clear(gl.COLOR_BUFFER_BIT) now := clock.Time(time.Since(u.StartTime) * 60 / time.Second) u.Eng.Render(u.Scene, now, sz) if u.Debug { fps.Draw(sz) } }
func endClickArrange(t touch.Event, u *uistate.UIState) { pressed := unpressButtons(u) for _, b := range pressed { if b == u.Buttons["exit"] { if u.SGChan != nil { u.SGChan <- true u.SGChan = nil } u.IsOwner = false u.DiscGroups = make(map[string]*uistate.DiscStruct) u.ScanChan = make(chan bool) go sync.ScanForSG(u.Ctx, u.ScanChan, u) view.LoadDiscoveryView(u) } else if b == u.Buttons["start"] { if u.CurTable.AllReadyForNewRound() { successStart := sync.LogGameStart(u) for !successStart { successStart = sync.LogGameStart(u) } newHands := u.CurTable.Deal() successDeal := sync.LogDeal(u, u.CurPlayerIndex, newHands) for !successDeal { successDeal = sync.LogDeal(u, u.CurPlayerIndex, newHands) } } } else { for key, button := range u.Buttons { if b == button && (u.CurPlayerIndex < 0 || u.Debug) { if key == "joinTable" { u.CurPlayerIndex = 4 sync.LogPlayerNum(u) } else { playerNum := strings.Split(key, "-")[1] u.CurPlayerIndex, _ = strconv.Atoi(playerNum) sync.LogPlayerNum(u) } } } } } }