context passing

This commit is contained in:
Ilia Denisov
2026-03-12 19:46:59 +02:00
parent 079b9facb0
commit f985370089
5 changed files with 23 additions and 11 deletions
+8 -3
View File
@@ -1,6 +1,7 @@
package client
import (
"context"
"image"
"sync"
@@ -21,6 +22,8 @@ type client struct {
app fyne.App
window fyne.Window
loadReportFunc func(uint)
world *world.World
drawer *world.GGDrawer
raster *canvas.Raster
@@ -63,7 +66,7 @@ type client struct {
hits []world.Hit
}
func NewClient(conn connector.UIConnector, app fyne.App, settings mc.Settings) (mc.Client, error) {
func NewClient(ctx context.Context, conn connector.UIConnector, app fyne.App, settings mc.Settings) (mc.Client, error) {
e := &client{
conn: conn,
app: app,
@@ -77,6 +80,8 @@ func NewClient(conn connector.UIConnector, app fyne.App, settings mc.Settings) (
hits: make([]world.Hit, 5),
}
e.loadReportFunc = func(t uint) { e.loadReport(ctx, t) }
e.drawer = &world.GGDrawer{DC: nil}
e.raster = canvas.NewRaster(func(wPx, hPx int) image.Image {
@@ -96,8 +101,8 @@ func NewClient(conn connector.UIConnector, app fyne.App, settings mc.Settings) (
return e, nil
}
func (e *client) loadReport(t uint) {
e.conn.FetchReport("GAME_ID", t, func(r report.Report, err error) {
func (e *client) loadReport(ctx context.Context, t uint) {
e.conn.FetchReport(ctx, "GAME_ID", t, func(r report.Report, err error) {
if err != nil {
e.handlerError(err)
} else {