so we fixed up some bugs and restructured the level editor. master fiel.
This commit is contained in:
parent
01d272981e
commit
b071e117fa
3 changed files with 55 additions and 28 deletions
|
|
@ -18,6 +18,8 @@ local gameAssets = getAllAssets()
|
|||
local inputText = ""
|
||||
local assetProperties = {}
|
||||
|
||||
local hierarchy = {}
|
||||
|
||||
local activeField = nil --this is for whenwe are doing text input things
|
||||
|
||||
local uiButtons = {}
|
||||
|
|
@ -33,7 +35,15 @@ function _initLevelEditor()
|
|||
|
||||
--create folder buttons
|
||||
local counter = 1
|
||||
for folder, object in pairs(gameAssets) do
|
||||
|
||||
for asset, attributes in pairs(gameAssets) do
|
||||
if not hierarchy[gameAssets[asset].directory] then
|
||||
hierarchy[gameAssets[asset].directory] = {}
|
||||
end
|
||||
table.insert(hierarchy[gameAssets[asset].directory], asset)
|
||||
end
|
||||
|
||||
for folder, object in pairs(hierarchy) do
|
||||
local button = createUIElement{
|
||||
name = "folder",
|
||||
text = folder,
|
||||
|
|
@ -137,7 +147,7 @@ function selectFolder(folder)
|
|||
local counter = 1
|
||||
local limit = 10
|
||||
|
||||
for asset, colorArray in pairs(gameAssets[selectedFolder]) do
|
||||
for _, asset in pairs(hierarchy[selectedFolder]) do
|
||||
if counter % limit == 0 then
|
||||
counter = 1
|
||||
|
||||
|
|
@ -163,7 +173,7 @@ function selectFolder(folder)
|
|||
|
||||
local sprites = {}
|
||||
|
||||
for color, location in pairs(colorArray) do
|
||||
for color, location in pairs(gameAssets[asset].sprites) do
|
||||
sprites[color] = love.graphics.newImage(location)
|
||||
end
|
||||
|
||||
|
|
@ -195,18 +205,12 @@ function selectAsset(asset)
|
|||
end
|
||||
|
||||
function editAsset(asset)
|
||||
assetProperties = {
|
||||
class = "",
|
||||
}
|
||||
|
||||
inputText = ""
|
||||
editorView = "asset"
|
||||
selectedAsset = asset
|
||||
|
||||
local filename = "art/" .. selectedFolder .. "/" .. selectedAsset .. ".prop"
|
||||
if love.filesystem.exists(filename) then
|
||||
assetProperties = TSerial.unpack(love.filesystem.read(filename))
|
||||
end
|
||||
assetProperties = gameAssets[selectedAsset]
|
||||
|
||||
|
||||
local cancelButton = createUIElement{
|
||||
name = "cancel",
|
||||
|
|
@ -237,9 +241,8 @@ function editAsset(asset)
|
|||
editingAssetButtons[cancelButton] = cancelButton
|
||||
editingAssetButtons[confirmButton] = confirmButton
|
||||
|
||||
|
||||
local assetSprites = {}
|
||||
for color, path in pairs(gameAssets[selectedFolder][selectedAsset]) do
|
||||
for color, path in pairs(assetProperties.sprites) do
|
||||
assetSprites[color] = love.graphics.newImage(path)
|
||||
end
|
||||
|
||||
|
|
@ -268,14 +271,34 @@ function editAsset(asset)
|
|||
}
|
||||
}
|
||||
|
||||
local preloadLabel = {
|
||||
draw = function() love.graphics.printf("preload", 0, 225, sideBarBox.w, "center") end
|
||||
}
|
||||
|
||||
labels[preloadLabel] = preloadLabel
|
||||
|
||||
local preloadButton = createUIElement{
|
||||
name = "preload",
|
||||
text = tostring(assetProperties.preload),
|
||||
x = 25,
|
||||
y = 250,
|
||||
onClic = {
|
||||
left = function()
|
||||
assetProperties.preload = not assetProperties.preload
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
editingAssetButtons[assetButton] = assetButton
|
||||
editingAssetButtons.class = classButton
|
||||
editingAssetButtons.preload = preloadButton
|
||||
|
||||
end
|
||||
|
||||
function saveAsset()
|
||||
local save = TSerial.pack(assetProperties, nil, true)
|
||||
diditdoit = love.filesystem.write("art/" .. selectedFolder .. "/" .. selectedAsset .. ".prop", save)
|
||||
print("fdfdfdfd", diditdoit)
|
||||
gameAssets[selectedAsset] = assetProperties
|
||||
local save = TSerial.pack(gameAssets, nil, true)
|
||||
love.filesystem.write("assets.prop", save)
|
||||
assetsView()
|
||||
end
|
||||
|
||||
|
|
@ -350,8 +373,9 @@ end
|
|||
function editorCompleteResponse()
|
||||
if editorView == "asset" then
|
||||
assetProperties[activeField] = inputText
|
||||
print(assetProperties[activeField], "BLELERLLLRLRLRR")
|
||||
end
|
||||
print(assetProperties[activeField], "ass")
|
||||
print(activeField, assetProperties[activeField], "ass")
|
||||
activeField = nil
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue