the add button works!
This commit is contained in:
@@ -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>
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user