aseprite/tests/scripts/tileset.lua
David Capello 81b2507bb6 [lua] Add Tileset:tile(tileIndex) API to get tile image/data/properties (fix #3653)
This should replace the old Tileset:getTile(tileIndex) which returns
only the image.
2023-01-06 19:50:04 -03:00

52 lines
1.2 KiB
Lua

-- Copyright (C) 2022 Igara Studio S.A.
--
-- This file is released under the terms of the MIT license.
-- Read LICENSE.txt for more information.
dofile('./test_utils.lua')
do
local spr = Sprite(4, 4, ColorMode.INDEXED)
app.command.NewLayer{ tilemap=true }
local tilemap = spr.layers[2]
local tileset = tilemap.tileset
assert(#tileset == 1);
app.useTool{
tool='pencil',
color=1,
layer=tilemap,
tilesetMode=TilesetMode.STACK,
points={ Point(0, 0) }}
assert(#tileset == 2)
assert(tileset.name == "")
tileset.name = "Default Land"
assert(tileset.name == "Default Land")
-- Tileset user data
assert(tileset.data == "")
tileset.data = "land"
assert(tileset.data == "land")
assert(tileset.color == Color())
tileset.color = Color(255, 0, 0)
assert(tileset.color == Color(255, 0, 0))
-- Create extra tile
app.useTool{
tool='pencil',
color=1,
layer=tilemap,
tilesetMode=TilesetMode.STACK,
points={ Point(1, 1) }}
assert(#tileset == 3)
-- Check that Tileset:getTile(ti) returns Tileset:tile(ti).image user data
for ti=0,2 do
assert(tileset:tile(ti).image.id == tileset:getTile(ti).id)
end
end