the add button works!

This commit is contained in:
SrtHero278
2024-04-16 06:59:42 -07:00
parent b33a02152a
commit 7db1d7ae33
4 changed files with 39 additions and 7 deletions
@@ -76,12 +76,12 @@
setEx("highMemory", highMemoryRadio.checked);
setEx("lowMemory", lowMemoryRadio.checked);
sprite.x = xStepper.value;
sprite.y = yStepper.value;
sprite.zoomFactor = zoomFactorStepper.value;
sprite.antialiasing = antialiasingCheckbox.checked;
//sprite.x = xStepper.value;
//sprite.y = yStepper.value;
//sprite.zoomFactor = zoomFactorStepper.value;
//sprite.antialiasing = antialiasingCheckbox.checked;
//sprite.color = colorWheel.color;
sprite.spriteAnimType = animType.value;
//sprite.spriteAnimType = animType.value;
sprite.angle = angleStepper.value;
function saveXY(obj:Dynamic, name:String, x:UINumericStepper, y:UINumericStepper) {
@@ -112,6 +112,7 @@
saveXY(sprite.scrollFactor, "scroll", scrollXStepper, scrollYStepper);
saveXY(sprite.scale, "scale", scaleXStepper, scaleYStepper);
saveXY(sprite.skew, "skew", skewXStepper, skewYStepper);
XMLUtil.loadSpriteFromXML(sprite, data.xml, stage.spritesParentFolder);
}
</exec>
</window>
+21 -1
View File
@@ -261,7 +261,27 @@ class StageEditor extends UIState {
members.insert(newID, sprite);
}
stageSpritesWindow.addButton.callback = () -> {
// TODO: implement this
var node:Access = new Access(Xml.createElement("sprite"));
stage.stageXML.x.addChild(node.x);
node.att.name = "sprite_" + stageSpritesWindow.buttons.length;
var sprite:FunkinSprite = new FunkinSprite();
add(sprite);
sprite.extra.set(exID("node"), node);
sprite.extra.set(exID("type"), node.name);
sprite.extra.set(exID("imageFile"), '');
sprite.extra.set(exID("parentNode"), stage.stageXML.x);
sprite.extra.set(exID("highMemory"), false);
sprite.extra.set(exID("lowMemory"), false);
xmlMap.set(sprite, node);
var button:StageElementButton = new StageSpriteButton(0, 0, sprite, node);
sprite.extra.set(exID("button"), button);
stageSpritesWindow.add(button);
var substate = new StageSpriteEditScreen(button);
substate.newSprite = true;
openSubState(substate);
}
for (i=>sprite in order) {
var xml = xmlMap.get(sprite);
@@ -7,8 +7,10 @@ using StringTools;
class StageSpriteEditScreen extends UISoftcodedWindow {
public var newSprite:Bool = false;
public var data:StageElementButton;
public var sprite:FunkinSprite;
var isSaving:Bool = false;
public function new(data:StageElementButton) {
this.data = data;
@@ -32,7 +34,16 @@ class StageSpriteEditScreen extends UISoftcodedWindow {
}
public override function saveData() {
isSaving = true;
super.saveData();
data.updateInfo(sprite);
}
public override function close() {
if (!isSaving && newSprite) {
data.onDelete();
trace("deleting sprite");
}
super.close();
}
}
+1 -1
View File
@@ -48,7 +48,7 @@ class UIButtonList<T:UIButton> extends UIWindow {
}
public inline function add(button:T) {
button.ID = buttons.members.length-1;
button.ID = buttons.members.length;
buttons.add(button);
curMovingInterval = 0;
nextscrollY += button.bHeight;