indicator for delete thingy

This commit is contained in:
lunarcleint
2024-03-22 17:58:36 -07:00
parent 6ae7ed7aad
commit 7cc46374b5
2 changed files with 25 additions and 3 deletions
+3 -3
View File
@@ -806,7 +806,7 @@ class Charter extends UIState {
FlxG.mouse.getWorldPosition(charterCamera, dragStartPos);
else if (FlxG.mouse.justPressedRight) {
closeCurrentContextMenu();
gridActionType = DELTE_SELECTION;
gridActionType = DELETE_SELECTION;
}
if (gridBackdropDummy.hovered) {
@@ -886,7 +886,7 @@ class Charter extends UIState {
gridActionType = NONE;
currentCursor = ARROW;
}
case DELTE_SELECTION:
case DELETE_SELECTION:
notesGroup.forEach(function(n) {
if (n.hovered || n.sustainDraggable) {
deletedNotes.push(n);
@@ -1960,7 +1960,7 @@ enum abstract CharterGridActionType(Int) {
var NOTE_DRAG = 2;
var INVALID_DRAG = 3;
var SUSTAIN_DRAG = 4;
var DELTE_SELECTION = 5;
var DELETE_SELECTION = 5;
}
typedef PlaytestInfo = {
@@ -1,6 +1,8 @@
package funkin.editors.charter;
class CharterDeleteAnim extends CharterNote {
public var garbageIcon:FlxSprite;
public var deleteNotes:Array<{note:CharterNote, time:Float}> = [];
public var deleteTime:Float = .4;
@@ -10,13 +12,31 @@ class CharterDeleteAnim extends CharterNote {
sustainSpr.color = 0xFF6D2425; color = 0xFF797171;
snappedToStrumline = selectable = autoAlpha = false;
@:privateAccess __animSpeed = 1.25;
garbageIcon = new FlxSprite().loadGraphic(Paths.image("editors/autosave-delete"));
garbageIcon.color = 0xFF880000;
garbageIcon.cameras = [Charter.instance.uiCamera];
}
var __garbageAlpha:Float = 0;
var __deletionTimer:Float = .1;
public override function update(elapsed:Float) {
for (deleteData in deleteNotes) {
deleteData.time -= elapsed;
if (deleteData.time < 0) deleteNotes.remove(deleteData);
}
if (FlxG.mouse.justPressedRight) __deletionTimer = .1;
__deletionTimer -= elapsed;
__garbageAlpha = FlxMath.lerp(__garbageAlpha, FlxG.mouse.pressedRight && __deletionTimer <= 0 ? 1 : 0, 1/10);
if (FlxG.mouse.pressedRight && __deletionTimer <= 0)
garbageIcon.setPosition(
FlxG.mouse.screenX + garbageIcon.width/2 + (.5*FlxG.random.float(-1, 1)),
FlxG.mouse.screenY - garbageIcon.height + (.5*FlxG.random.float(-1, 1))
);
garbageIcon.alpha = __garbageAlpha;
}
public override function draw() @:privateAccess {
@@ -39,5 +59,7 @@ class CharterDeleteAnim extends CharterNote {
super.draw();
}
if (garbageIcon.alpha > 0) garbageIcon.draw();
}
}