fixing some stuff
This commit is contained in:
@@ -57,6 +57,8 @@ class CharacterAnimButtons extends UIButton {
|
||||
|
||||
public override function update(elapsed:Float) {
|
||||
editButton.selectable = ghostButton.selectable = deleteButton.selectable = selectable;
|
||||
editButton.shouldPress = ghostButton.shouldPress = deleteButton.shouldPress = shouldPress;
|
||||
|
||||
hovered = !deleteButton.hovered;
|
||||
updatePos();
|
||||
super.update(elapsed);
|
||||
|
||||
@@ -44,7 +44,7 @@ class CharterEventScreen extends UISubstateWindow {
|
||||
|
||||
events = chartEvent.events.copy();
|
||||
|
||||
eventsList = new UIButtonList<EventButton>(0,0,75, 570, "", FlxPoint.get(73, 40));
|
||||
eventsList = new UIButtonList<EventButton>(0,0,75, 570, "", FlxPoint.get(73, 40), null, 0);
|
||||
eventsList.addButton.callback = () -> openSubState(new CharterEventTypeSelection(function(eventName) {
|
||||
events.push({
|
||||
time: Conductor.getTimeForStep(chartEvent.step),
|
||||
@@ -69,22 +69,16 @@ class CharterEventScreen extends UISubstateWindow {
|
||||
Charter.instance.deleteSelection([chartEvent]);
|
||||
else if (events.length > 0) {
|
||||
var oldEvents:Array<ChartEvent> = chartEvent.events.copy();
|
||||
chartEvent.events = [for (i in eventsList.buttons.members) {
|
||||
if(i is EventButton) {
|
||||
var i:EventButton = cast i;
|
||||
i.event;
|
||||
}
|
||||
}];
|
||||
chartEvent.events = [
|
||||
for (i in eventsList.buttons.members) i.event
|
||||
];
|
||||
|
||||
if (creatingEvent && events.length > 0)
|
||||
Charter.instance.createSelection([chartEvent]);
|
||||
else {
|
||||
chartEvent.events = [for (i in eventsList.buttons.members) {
|
||||
if(i is EventButton) {
|
||||
var i:EventButton = cast i;
|
||||
i.event;
|
||||
}
|
||||
}];
|
||||
chartEvent.events = [
|
||||
for (i in eventsList.buttons.members) i.event
|
||||
];
|
||||
chartEvent.refreshEventIcons();
|
||||
|
||||
Charter.instance.addToUndo(CEditEvent(chartEvent, oldEvents, events.copy()));
|
||||
@@ -253,6 +247,10 @@ class EventButton extends UIButton {
|
||||
|
||||
override function update(elapsed) {
|
||||
super.update(elapsed);
|
||||
|
||||
deleteButton.selectable = selectable;
|
||||
deleteButton.shouldPress = shouldPress;
|
||||
|
||||
icon.setPosition(x + (18 - icon.width / 2),y + (20 - icon.height / 2));
|
||||
deleteButton.setPosition(x + (bWidth - 30), y + (bHeight - 26) / 2);
|
||||
deleteIcon.setPosition(deleteButton.x + (10/2), deleteButton.y + 4);
|
||||
|
||||
@@ -56,7 +56,7 @@ class CharterStrumlineScreen extends UISubstateWindow {
|
||||
function addLabelOn(ui:UISprite, text:String)
|
||||
add(new UIText(ui.x, ui.y - 24, 0, text));
|
||||
|
||||
charactersList = new UIButtonList<CharacterButton>(15, 43, 250, 330, "", FlxPoint.get(246, 75));
|
||||
charactersList = new UIButtonList<CharacterButton>(15, 43, 250, 330, "", FlxPoint.get(246, 75), null, 0);
|
||||
charactersList.addButton.callback = () -> charactersList.add(new CharacterButton(0,0,"New Char", charactersList));
|
||||
for (i in strumLine.characters)
|
||||
charactersList.add(new CharacterButton(0,0,i, charactersList));
|
||||
@@ -136,11 +136,10 @@ class CharterStrumlineScreen extends UISubstateWindow {
|
||||
@:privateAccess stepper.__onChange(stepper.label.text);
|
||||
|
||||
strumLine = {
|
||||
characters: [for (char in charactersList.buttons.members)
|
||||
if(char is CharacterButton) {
|
||||
var char:CharacterButton = cast char;
|
||||
char.textBox.label.text.trim();
|
||||
}],
|
||||
characters: [
|
||||
for (char in charactersList.buttons.members)
|
||||
char.textBox.label.text.trim()
|
||||
],
|
||||
type: typeDropdown.index,
|
||||
notes: strumLine.notes,
|
||||
position: ["DAD", "BOYFRIEND", "GIRLFRIEND"][stagePositionDropdown.index].toLowerCase(),
|
||||
@@ -188,6 +187,10 @@ class CharacterButton extends UIButton {
|
||||
deleteButton.y = y + bHeight / 2 - deleteButton.bHeight / 2;
|
||||
textBox.y = y + bHeight/2 - 16;
|
||||
deleteIcon.x = deleteButton.x + (15/2); deleteIcon.y = deleteButton.y + 8;
|
||||
|
||||
deleteButton.selectable = selectable;
|
||||
deleteButton.shouldPress = shouldPress;
|
||||
|
||||
super.update(elapsed);
|
||||
}
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import flixel.util.FlxColor;
|
||||
import flixel.math.FlxPoint;
|
||||
import funkin.game.Character;
|
||||
import flixel.util.FlxSort;
|
||||
import flixel.math.FlxMath;
|
||||
|
||||
class UIButtonList<T:UIButton> extends UIWindow {
|
||||
public var buttons:FlxTypedGroup<T> = new FlxTypedGroup<T>();
|
||||
@@ -30,7 +31,7 @@ class UIButtonList<T:UIButton> extends UIWindow {
|
||||
if (buttonOffset != null) this.buttonOffset = buttonOffset;
|
||||
super(x, y, width, height, windowName);
|
||||
|
||||
buttonCameras = new FlxCamera(x, y+cameraSpacing, width-2, height-cameraSpacing);
|
||||
buttonCameras = new FlxCamera(x, y+cameraSpacing, width, height-cameraSpacing);
|
||||
FlxG.cameras.add(buttonCameras, false);
|
||||
buttonCameras.bgColor = 0;
|
||||
|
||||
@@ -47,8 +48,11 @@ class UIButtonList<T:UIButton> extends UIWindow {
|
||||
scrollY = buttonCameras.scroll.y = -this.buttonSpacing;
|
||||
}
|
||||
|
||||
public inline function add(button:T)
|
||||
public inline function add(button:T) {
|
||||
buttons.add(button);
|
||||
curMovingInterval = 0;
|
||||
}
|
||||
|
||||
|
||||
public inline function insert(button:T, position:Int) {
|
||||
buttons.insert(position, button);
|
||||
@@ -110,11 +114,11 @@ class UIButtonList<T:UIButton> extends UIWindow {
|
||||
|
||||
if (nextscrollY >= (-buttonSpacing) && nextscrollY + buttonCameras.height <= (addButton.y + 32 + (buttonSpacing*1.5)))
|
||||
scrollY = nextscrollY;
|
||||
|
||||
|
||||
buttonCameras.scroll.y = FlxMath.lerp(buttonCameras.scroll.y, nextscrollY, 1/3);
|
||||
|
||||
for (button in buttons) {
|
||||
if (button != null) button.selectable = (hovered && !dragging);
|
||||
if (button != null) button.selectable = button.shouldPress = (hovered && !dragging);
|
||||
button.cameras = [buttonCameras];
|
||||
}
|
||||
addButton.selectable = (hovered && !dragging);
|
||||
|
||||
Reference in New Issue
Block a user