fixing some stuff

This commit is contained in:
lunarcleint
2023-08-03 16:39:34 -07:00
parent ccb62bf132
commit c9e631e776
4 changed files with 30 additions and 23 deletions
@@ -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);
}
}
+8 -4
View File
@@ -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);