From b9ac1c7995038fe0e0deebca7d16e9b8dec89ddd Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Sat, 16 Mar 2024 18:49:28 +0100 Subject: [PATCH] added one more level, rm comments --- assets/levels/openquell.ldtk | 254 ++++++++++++++++++++++++++++++++++- game/select_scene.go | 20 +-- 2 files changed, 263 insertions(+), 11 deletions(-) diff --git a/assets/levels/openquell.ldtk b/assets/levels/openquell.ldtk index 1f01a6a..857bf1a 100644 --- a/assets/levels/openquell.ldtk +++ b/assets/levels/openquell.ldtk @@ -11,7 +11,7 @@ "iid": "267e9380-d7b0-11ee-a97e-35bec9c19d52", "jsonVersion": "1.5.3", "appBuildId": 473703, - "nextUid": 25, + "nextUid": 26, "identifierStyle": "Capitalize", "toc": [], "worldLayout": "Free", @@ -33,7 +33,7 @@ "imageExportMode": "None", "exportLevelBg": true, "pngFilePattern": null, - "backupOnSave": false, + "backupOnSave": true, "backupLimit": 10, "backupRelPath": null, "levelNamePattern": "Level_%idx", @@ -2288,7 +2288,7 @@ "params": ["Some things don't are as they appear"] }] }, { "__identifier": "background", "__type": "String", "__value": "background-lila", "__tile": null, "defUid": 13, "realEditorValues": [] }, - { "__identifier": "minmoves", "__type": "Int", "__value": 8, "__tile": null, "defUid": 14, "realEditorValues": [{ "id": "V_Int", "params": [8] }] } + { "__identifier": "minmoves", "__type": "Int", "__value": 10, "__tile": null, "defUid": 14, "realEditorValues": [{ "id": "V_Int", "params": [10] }] } ], "layerInstances": [ { @@ -2394,6 +2394,22 @@ "fieldInstances": [], "__worldX": 96, "__worldY": 1280 + }, + { + "__identifier": "HiddenDoor", + "__grid": [6,4], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 64, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#348D3F", + "iid": "507506a0-d7b0-11ee-ae12-d71a619d7e46", + "width": 32, + "height": 32, + "defUid": 23, + "px": [192,128], + "fieldInstances": [], + "__worldX": -32, + "__worldY": 1216 } ] }, @@ -2449,6 +2465,238 @@ } ], "__neighbours": [] + }, + { + "identifier": "One_or_Many", + "iid": "5d8cec90-d7b0-11ee-ae12-c78ccb9f384f", + "uid": 25, + "worldX": 480, + "worldY": 1088, + "worldDepth": 0, + "pxWid": 640, + "pxHei": 480, + "__bgColor": "#696A79", + "bgColor": null, + "useAutoIdentifier": false, + "bgRelPath": "../sprites/background-lila.png", + "bgPos": "Cover", + "bgPivotX": 0.5, + "bgPivotY": 0.5, + "__smartColor": "#ADADB5", + "__bgPos": { "topLeftPx": [0,0], "scale": [1,1], "cropRect": [0,0,640,480] }, + "externalRelPath": null, + "fieldInstances": [ + { "__identifier": "level", "__type": "Int", "__value": 10, "__tile": null, "defUid": 11, "realEditorValues": [{ "id": "V_Int", "params": [10] }] }, + { "__identifier": "description", "__type": "String", "__value": "How many secret doors are there?", "__tile": null, "defUid": 12, "realEditorValues": [{ + "id": "V_String", + "params": ["How many secret doors are there?"] + }] }, + { "__identifier": "background", "__type": "String", "__value": "background-lila", "__tile": null, "defUid": 13, "realEditorValues": [] }, + { "__identifier": "minmoves", "__type": "Int", "__value": 10, "__tile": null, "defUid": 14, "realEditorValues": [{ "id": "V_Int", "params": [10] }] } + ], + "layerInstances": [ + { + "__identifier": "Entities", + "__type": "Entities", + "__cWid": 20, + "__cHei": 15, + "__gridSize": 32, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": null, + "__tilesetRelPath": null, + "iid": "5d8d13a0-d7b0-11ee-ae12-3dc47f4a43fe", + "levelId": 25, + "layerDefUid": 5, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 7991549, + "overrideTilesetUid": null, + "gridTiles": [], + "entityInstances": [ + { + "__identifier": "HiddenDoor", + "__grid": [8,8], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 64, "y": 0, "w": 32, "h": 32 }, + "__smartColor": "#348D3F", + "iid": "ecd02fc0-d7b0-11ee-ae12-739689daabc0", + "width": 32, + "height": 32, + "defUid": 23, + "px": [256,256], + "fieldInstances": [], + "__worldX": 736, + "__worldY": 1344 + }, + { + "__identifier": "ObstacleEast", + "__grid": [5,9], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 64, "y": 32, "w": 32, "h": 32 }, + "__smartColor": "#D77643", + "iid": "72e30af0-d7b0-11ee-ae12-ddec78814011", + "width": 32, + "height": 32, + "defUid": 8, + "px": [160,288], + "fieldInstances": [], + "__worldX": 640, + "__worldY": 1376 + }, + { + "__identifier": "ObstacleNorth", + "__grid": [12,11], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 0, "y": 64, "w": 32, "h": 32 }, + "__smartColor": "#F77622", + "iid": "b4ca1350-d7b0-11ee-ae12-0dbbc69c2232", + "width": 32, + "height": 32, + "defUid": 9, + "px": [384,352], + "fieldInstances": [], + "__worldX": 864, + "__worldY": 1440 + }, + { + "__identifier": "Collectible", + "__grid": [11,9], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 32, "y": 32, "w": 32, "h": 32 }, + "__smartColor": "#FEAE34", + "iid": "da1ecec0-d7b0-11ee-ae12-f7f9886ed1cd", + "width": 32, + "height": 32, + "defUid": 4, + "px": [352,288], + "fieldInstances": [], + "__worldX": 832, + "__worldY": 1376 + }, + { + "__identifier": "PlayerPrimary", + "__grid": [8,5], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 32, "y": 96, "w": 32, "h": 32 }, + "__smartColor": "#2F3BBE", + "iid": "3ccc57e0-d7b0-11ee-ae12-2b6f395bf32e", + "width": 32, + "height": 32, + "defUid": 3, + "px": [256,160], + "fieldInstances": [], + "__worldX": 736, + "__worldY": 1248 + }, + { + "__identifier": "ObstacleWest", + "__grid": [6,8], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 0, "y": 96, "w": 32, "h": 32 }, + "__smartColor": "#BE4A2F", + "iid": "7acd2560-d7b0-11ee-ae12-753fb6432bd7", + "width": 32, + "height": 32, + "defUid": 7, + "px": [192,256], + "fieldInstances": [], + "__worldX": 672, + "__worldY": 1344 + }, + { + "__identifier": "ObstacleSouth", + "__grid": [7,9], + "__pivot": [0,0], + "__tags": [], + "__tile": { "tilesetUid": 1, "x": 32, "y": 64, "w": 32, "h": 32 }, + "__smartColor": "#E43B44", + "iid": "7d862ae0-d7b0-11ee-ae12-6d2b3abea170", + "width": 32, + "height": 32, + "defUid": 10, + "px": [224,288], + "fieldInstances": [], + "__worldX": 704, + "__worldY": 1376 + } + ] + }, + { + "__identifier": "Tiles", + "__type": "Tiles", + "__cWid": 20, + "__cHei": 15, + "__gridSize": 32, + "__opacity": 1, + "__pxTotalOffsetX": 0, + "__pxTotalOffsetY": 0, + "__tilesetDefUid": 1, + "__tilesetRelPath": "../sprites/map.png", + "iid": "5d8d13a1-d7b0-11ee-ae12-23f843b1ba2a", + "levelId": 25, + "layerDefUid": 2, + "pxOffsetX": 0, + "pxOffsetY": 0, + "visible": true, + "optionalRules": [], + "intGridCsv": [], + "autoLayerTiles": [], + "seed": 3216782, + "overrideTilesetUid": null, + "gridTiles": [ + { "px": [224,128], "src": [0,0], "f": 0, "t": 0, "d": [87], "a": 1 }, + { "px": [256,128], "src": [0,0], "f": 0, "t": 0, "d": [88], "a": 1 }, + { "px": [288,128], "src": [0,0], "f": 0, "t": 0, "d": [89], "a": 1 }, + { "px": [320,128], "src": [0,0], "f": 0, "t": 0, "d": [90], "a": 1 }, + { "px": [128,160], "src": [0,0], "f": 0, "t": 0, "d": [104], "a": 1 }, + { "px": [160,160], "src": [0,0], "f": 0, "t": 0, "d": [105], "a": 1 }, + { "px": [192,160], "src": [0,0], "f": 0, "t": 0, "d": [106], "a": 1 }, + { "px": [352,160], "src": [0,0], "f": 0, "t": 0, "d": [111], "a": 1 }, + { "px": [96,192], "src": [0,0], "f": 0, "t": 0, "d": [123], "a": 1 }, + { "px": [352,192], "src": [0,0], "f": 0, "t": 0, "d": [131], "a": 1 }, + { "px": [96,224], "src": [0,0], "f": 0, "t": 0, "d": [143], "a": 1 }, + { "px": [256,224], "src": [0,0], "f": 0, "t": 0, "d": [148], "a": 1 }, + { "px": [288,224], "src": [0,0], "f": 0, "t": 0, "d": [149], "a": 1 }, + { "px": [320,224], "src": [0,0], "f": 0, "t": 0, "d": [150], "a": 1 }, + { "px": [352,224], "src": [0,0], "f": 0, "t": 0, "d": [151], "a": 1 }, + { "px": [384,224], "src": [0,0], "f": 0, "t": 0, "d": [152], "a": 1 }, + { "px": [416,224], "src": [0,0], "f": 0, "t": 0, "d": [153], "a": 1 }, + { "px": [448,224], "src": [0,0], "f": 0, "t": 0, "d": [154], "a": 1 }, + { "px": [96,256], "src": [0,0], "f": 0, "t": 0, "d": [163], "a": 1 }, + { "px": [352,256], "src": [0,0], "f": 0, "t": 0, "d": [171], "a": 1 }, + { "px": [480,256], "src": [0,0], "f": 0, "t": 0, "d": [175], "a": 1 }, + { "px": [96,288], "src": [0,0], "f": 0, "t": 0, "d": [183], "a": 1 }, + { "px": [256,288], "src": [0,0], "f": 0, "t": 0, "d": [188], "a": 1 }, + { "px": [480,288], "src": [0,0], "f": 0, "t": 0, "d": [195], "a": 1 }, + { "px": [128,320], "src": [0,0], "f": 0, "t": 0, "d": [204], "a": 1 }, + { "px": [256,320], "src": [0,0], "f": 0, "t": 0, "d": [208], "a": 1 }, + { "px": [480,320], "src": [0,0], "f": 0, "t": 0, "d": [215], "a": 1 }, + { "px": [160,352], "src": [0,0], "f": 0, "t": 0, "d": [225], "a": 1 }, + { "px": [192,352], "src": [0,0], "f": 0, "t": 0, "d": [226], "a": 1 }, + { "px": [224,352], "src": [0,0], "f": 0, "t": 0, "d": [227], "a": 1 }, + { "px": [288,352], "src": [0,0], "f": 0, "t": 0, "d": [229], "a": 1 }, + { "px": [448,352], "src": [0,0], "f": 0, "t": 0, "d": [234], "a": 1 }, + { "px": [320,384], "src": [0,0], "f": 0, "t": 0, "d": [250], "a": 1 }, + { "px": [352,384], "src": [0,0], "f": 0, "t": 0, "d": [251], "a": 1 }, + { "px": [384,384], "src": [0,0], "f": 0, "t": 0, "d": [252], "a": 1 }, + { "px": [416,384], "src": [0,0], "f": 0, "t": 0, "d": [253], "a": 1 } + ], + "entityInstances": [] + } + ], + "__neighbours": [] } ], "worlds": [], diff --git a/game/select_scene.go b/game/select_scene.go index 4327575..60dffbd 100644 --- a/game/select_scene.go +++ b/game/select_scene.go @@ -82,6 +82,10 @@ func (scene *SelectScene) SetupUI() { levels = append(levels, LevelEntry{Id: id, Name: scene.Game.Levels[id].Name}) } + // for i := 0; i < 40; i++ { + // levels = append(levels, LevelEntry{Id: i, Name: "level"}) + // } + slog.Debug("levels", "levels", levels) buttonImage, err := gameui.LoadButtonImage() if err != nil { @@ -123,14 +127,14 @@ func (scene *SelectScene) SetupUI() { widget.ListOpts.EntryFontFace(*assets.FontRenderer.FontNormal), // Set the colors for the list widget.ListOpts.EntryColor(&widget.ListEntryColor{ - Selected: color.NRGBA{0, 255, 0, 255}, // Foreground color for the unfocused selected entry - Unselected: color.NRGBA{254, 255, 255, 255}, // Foreground color for the unfocused unselected entry - SelectedBackground: color.NRGBA{R: 130, G: 130, B: 200, A: 255}, // Background color for the unfocused selected entry - SelectedFocusedBackground: color.NRGBA{R: 130, G: 130, B: 170, A: 255}, // Background color for the focused selected entry - FocusedBackground: color.NRGBA{R: 170, G: 170, B: 180, A: 255}, // Background color for the focused unselected entry - DisabledUnselected: color.NRGBA{100, 100, 100, 255}, // Foreground color for the disabled unselected entry - DisabledSelected: color.NRGBA{100, 100, 100, 255}, // Foreground color for the disabled selected entry - DisabledSelectedBackground: color.NRGBA{100, 100, 100, 255}, // Background color for the disabled selected entry + Selected: color.NRGBA{0, 255, 0, 255}, + Unselected: color.NRGBA{254, 255, 255, 255}, + SelectedBackground: color.NRGBA{R: 130, G: 130, B: 200, A: 255}, + SelectedFocusedBackground: color.NRGBA{R: 130, G: 130, B: 170, A: 255}, + FocusedBackground: color.NRGBA{R: 170, G: 170, B: 180, A: 255}, + DisabledUnselected: color.NRGBA{100, 100, 100, 255}, + DisabledSelected: color.NRGBA{100, 100, 100, 255}, + DisabledSelectedBackground: color.NRGBA{100, 100, 100, 255}, }), // This required function returns the string displayed in the list widget.ListOpts.EntryLabelFunc(func(e interface{}) string {