ok it acuttaly works now

This commit is contained in:
lunarcleint
2023-07-14 17:11:26 -07:00
parent 8a23331f82
commit 027f63d464
3 changed files with 13 additions and 21 deletions
@@ -32,7 +32,6 @@ class CharacterAnimsWindow extends UIWindow {
CharacterEditor.instance.createAnimWithUI(); CharacterEditor.instance.createAnimWithUI();
} }
, 426); , 426);
addButton.cameraLocked = true;
addButton.cameras = [CharacterEditor.instance.animsCamera]; addButton.cameras = [CharacterEditor.instance.animsCamera];
addButton.color = FlxColor.GREEN; addButton.color = FlxColor.GREEN;
@@ -81,8 +80,8 @@ class CharacterAnimsWindow extends UIWindow {
public override function update(elapsed:Float) { public override function update(elapsed:Float) {
super.update(elapsed); super.update(elapsed);
__rect.x = x; __rect.y = y; __rect.x = x; __rect.y = y+23;
__rect.width = bWidth; __rect.height = bHeight; __rect.width = bWidth; __rect.height = bHeight-23;
if(UIState.state.isOverlapping(this, __rect)) { if(UIState.state.isOverlapping(this, __rect)) {
var nextscrollY = scrollY - FlxG.mouse.wheel * 12; var nextscrollY = scrollY - FlxG.mouse.wheel * 12;
if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +23)) if (nextscrollY >= 0 && nextscrollY + CharacterEditor.instance.animsCamera.height <= (addButton.y +32 +23))
@@ -91,6 +90,10 @@ class CharacterAnimsWindow extends UIWindow {
} else } else
hovered = false; hovered = false;
for (button in buttons.members)
cast(button, UISprite).selectable = hovered;
addButton.selectable = hovered;
CharacterEditor.instance.animsCamera.scroll.y = FlxMath.lerp(CharacterEditor.instance.animsCamera.scroll.y, scrollY, 1/3); CharacterEditor.instance.animsCamera.scroll.y = FlxMath.lerp(CharacterEditor.instance.animsCamera.scroll.y, scrollY, 1/3);
//addButtonIndicator.y = CharacterEditor.instance.animsCamera.height - addButtonIndicator.width + CharacterEditor.instance.animsCamera.scroll.y; //addButtonIndicator.y = CharacterEditor.instance.animsCamera.height - addButtonIndicator.width + CharacterEditor.instance.animsCamera.scroll.y;
@@ -114,10 +117,8 @@ class CharacterAnimButtons extends UIButton {
super(x,y, '$anim (${offset.x}, ${offset.y})', function () { super(x,y, '$anim (${offset.x}, ${offset.y})', function () {
CharacterEditor.instance.playAnimation(this.anim); CharacterEditor.instance.playAnimation(this.anim);
}, 282); }, 282);
cameraLocked = true;
ghostButton = new UIButton(x+282+17, y, "", null, 32); ghostButton = new UIButton(x+282+17, y, "", null, 32);
ghostButton.cameraLocked = true;
members.push(ghostButton); members.push(ghostButton);
ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16); ghostIcon = new FlxSprite(ghostButton.x + 8, ghostButton.y + 8).loadGraphic(Paths.image('editors/character/ghost-button'), true, 16, 16);
@@ -131,25 +132,26 @@ class CharacterAnimButtons extends UIButton {
editButton = new UIButton(ghostButton.x+32+17, y, "", function () { editButton = new UIButton(ghostButton.x+32+17, y, "", function () {
CharacterEditor.instance.editAnimWithUI(this.anim); CharacterEditor.instance.editAnimWithUI(this.anim);
}, 32); }, 32);
editButton.cameraLocked = true;
members.push(editButton); members.push(editButton);
editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button')); editIcon = new FlxSprite(editButton.x + 8, editButton.y + 8).loadGraphic(Paths.image('editors/character/edit-button'));
editIcon.antialiasing = false;
members.push(editIcon); members.push(editIcon);
deleteButton = new UIButton(editButton.x+32+17, y, "", function () { deleteButton = new UIButton(editButton.x+32+17, y, "", function () {
CharacterEditor.instance.deleteAnim(this.anim); CharacterEditor.instance.deleteAnim(this.anim);
}, 32); }, 32);
deleteButton.cameraLocked = true;
deleteButton.color = FlxColor.RED; deleteButton.color = FlxColor.RED;
members.push(deleteButton); members.push(deleteButton);
deleteIcon = new FlxSprite(deleteButton.x + (15/2), deleteButton.y + 8).loadGraphic(Paths.image('editors/character/delete-button')); deleteIcon = new FlxSprite(deleteButton.x + (15/2), deleteButton.y + 8).loadGraphic(Paths.image('editors/character/delete-button'));
deleteIcon.antialiasing = false;
members.push(deleteIcon); members.push(deleteIcon);
} }
public override function update(elapsed:Float) {
editButton.selectable = ghostButton.selectable = deleteButton.selectable = selectable;
super.update(elapsed);
}
public function updateInfo(anim:String, offset:FlxPoint, ghost:Bool) { public function updateInfo(anim:String, offset:FlxPoint, ghost:Bool) {
this.anim = anim; this.anim = anim;
+2 -2
View File
@@ -22,7 +22,7 @@ class UISprite extends FlxSprite {
public var cursor:MouseCursor = ARROW; public var cursor:MouseCursor = ARROW;
public var focused(get, set):Bool; public var focused(get, set):Bool;
public var cameraLocked:Bool = false; public var selectable:Bool = true;
private inline function get_focused():Bool private inline function get_focused():Bool
return UIState.state.currentFocus == cast this; return UIState.state.currentFocus == cast this;
@@ -44,7 +44,7 @@ class UISprite extends FlxSprite {
hoveredByChild = false; hoveredByChild = false;
super.update(elapsed); super.update(elapsed);
if (cameraLocked ? UIState.state.checkMouseOnCam(this) : true) if (selectable)
updateButton(); updateButton();
@:privateAccess { @:privateAccess {
-10
View File
@@ -60,16 +60,6 @@ class UIState extends MusicBeatState {
updateRectButtonHandler(spr, spr.__rect, buttonHandler); updateRectButtonHandler(spr, spr.__rect, buttonHandler);
} }
public function checkMouseOnCam(spr:UISprite) {
for(camera in spr.__lastDrawCameras) {
var pos = FlxG.mouse.getScreenPosition(FlxG.camera, FlxPoint.get());
if (((pos.x > camera.x) && (pos.x < camera.x + camera.width)) && ((pos.y > camera.y) && (pos.y < camera.y + camera.height)))
return true;
}
return false;
}
public function isOverlapping(spr:UISprite, rect:FlxRect) { public function isOverlapping(spr:UISprite, rect:FlxRect) {
for(camera in spr.__lastDrawCameras) { for(camera in spr.__lastDrawCameras) {
var pos = FlxG.mouse.getScreenPosition(camera, FlxPoint.get()); var pos = FlxG.mouse.getScreenPosition(camera, FlxPoint.get());