Changes:
- use toggle tile for all toggling entities (transient, switch, door) - get rod of hard coded sprites (exception: particle class, to be fixed later) - changed switch sprite (rect instead of elipse)
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"openquell/grid"
|
||||
"openquell/observers"
|
||||
"openquell/systems"
|
||||
"openquell/util"
|
||||
"strings"
|
||||
|
||||
"github.com/hajimehoshi/ebiten/v2"
|
||||
@@ -173,20 +174,27 @@ func LevelToSlice(game *Game, level *ldtkgo.Level, tilesize int) (Map, Map) {
|
||||
tile := assets.Tiles[entity.Identifier]
|
||||
tile.Id = entity.IID
|
||||
|
||||
ref := entity.PropertyByIdentifier("Entity_ref")
|
||||
if ref != nil {
|
||||
if ref.Value != nil {
|
||||
refid := ref.Value.(map[string]interface{})
|
||||
tile.Ref = refid["entityIid"].(string)
|
||||
slog.Debug("LOAD TILE", "tileref",
|
||||
tile.Ref, "tileid", tile.Id,
|
||||
"name", entity.Identifier,
|
||||
"isswitch", tile.Switch,
|
||||
"isdoor", tile.Door,
|
||||
)
|
||||
}
|
||||
toggleRect := util.GetPropertyToggleTile(entity)
|
||||
if toggleRect != nil {
|
||||
tile.ToggleSprite = tileset.SubImage(
|
||||
image.Rect(toggleRect.X, toggleRect.Y,
|
||||
toggleRect.X+toggleRect.W,
|
||||
toggleRect.Y+toggleRect.H)).(*ebiten.Image)
|
||||
|
||||
}
|
||||
|
||||
tile.Ref = util.GetPropertyRef(entity)
|
||||
if tile.Transient {
|
||||
slog.Debug("LOAD TILE", "tileref",
|
||||
tile.Ref, "tileid", tile.Id,
|
||||
"name", entity.Identifier,
|
||||
"isswitch", tile.Switch,
|
||||
"isdoor", tile.Door,
|
||||
"togglerect", toggleRect,
|
||||
"tilerect", entity.TileRect,
|
||||
)
|
||||
|
||||
}
|
||||
tileRect := entity.TileRect
|
||||
|
||||
tile.Sprite = tileset.SubImage(
|
||||
|
||||
Reference in New Issue
Block a user