mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2026-04-27 05:01:38 +00:00
improve scrollbar and fix bug where you finish pad didnt detect you
This commit is contained in:
parent
45c8e7ce49
commit
d9f15f7ac9
2 changed files with 31 additions and 11 deletions
|
|
@ -1404,6 +1404,7 @@ class MarbleWorld extends Scheduler {
|
||||||
var chull = cast(collider, collision.CollisionHull);
|
var chull = cast(collider, collision.CollisionHull);
|
||||||
var chullinvT = @:privateAccess chull.invTransform.clone();
|
var chullinvT = @:privateAccess chull.invTransform.clone();
|
||||||
chullinvT.clone();
|
chullinvT.clone();
|
||||||
|
chullinvT.transpose();
|
||||||
for (surface in chull.surfaces) {
|
for (surface in chull.surfaces) {
|
||||||
var i = 0;
|
var i = 0;
|
||||||
while (i < surface.indices.length) {
|
while (i < surface.indices.length) {
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,17 @@ class GuiConsoleScrollCtrl extends GuiControl {
|
||||||
|
|
||||||
var maxScrollY:Float;
|
var maxScrollY:Float;
|
||||||
|
|
||||||
var scrollBarY:Graphics;
|
var scrollBarY:h2d.Object;
|
||||||
var scrollTrack:Bitmap;
|
var scrollTrack:Bitmap;
|
||||||
|
|
||||||
var scrollTopTile:Tile;
|
var scrollTopTile:Tile;
|
||||||
var scrollBottomTile:Tile;
|
var scrollBottomTile:Tile;
|
||||||
var scrollFillTile:Tile;
|
var scrollFillTile:Tile;
|
||||||
|
|
||||||
|
var scrollTopBmp:h2d.Bitmap;
|
||||||
|
var scrollBottomBmp:h2d.Bitmap;
|
||||||
|
var scrollFillBmp:h2d.Bitmap;
|
||||||
|
|
||||||
var scrollTopPressedTile:Tile;
|
var scrollTopPressedTile:Tile;
|
||||||
var scrollBottomPressedTile:Tile;
|
var scrollBottomPressedTile:Tile;
|
||||||
var scrollFillPressedTile:Tile;
|
var scrollFillPressedTile:Tile;
|
||||||
|
|
@ -75,6 +79,12 @@ class GuiConsoleScrollCtrl extends GuiControl {
|
||||||
this.addChild(scrollDownButton);
|
this.addChild(scrollDownButton);
|
||||||
|
|
||||||
this.scrollBarY = new Graphics();
|
this.scrollBarY = new Graphics();
|
||||||
|
scrollTopBmp = new h2d.Bitmap(scrollTopTile);
|
||||||
|
scrollBottomBmp = new h2d.Bitmap(scrollBottomTile);
|
||||||
|
scrollFillBmp = new h2d.Bitmap(scrollFillTile);
|
||||||
|
this.scrollBarY.addChild(scrollTopBmp);
|
||||||
|
this.scrollBarY.addChild(scrollBottomBmp);
|
||||||
|
this.scrollBarY.addChild(scrollFillBmp);
|
||||||
this.scrollBarY.scale(Settings.uiScale);
|
this.scrollBarY.scale(Settings.uiScale);
|
||||||
this.clickInteractive = new Interactive(18 * Settings.uiScale, 1);
|
this.clickInteractive = new Interactive(18 * Settings.uiScale, 1);
|
||||||
this.clickInteractive.onPush = (e) -> {
|
this.clickInteractive.onPush = (e) -> {
|
||||||
|
|
@ -154,9 +164,10 @@ class GuiConsoleScrollCtrl extends GuiControl {
|
||||||
var renderRect = this.getRenderRectangle();
|
var renderRect = this.getRenderRectangle();
|
||||||
|
|
||||||
if (maxScrollY < renderRect.extent.y) {
|
if (maxScrollY < renderRect.extent.y) {
|
||||||
scrollBarY.clear();
|
scrollBarY.visible = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
scrollBarY.visible = true;
|
||||||
|
|
||||||
this.scrollTrack.setPosition(renderRect.position.x + renderRect.extent.x - 18 * Settings.uiScale, renderRect.position.y);
|
this.scrollTrack.setPosition(renderRect.position.x + renderRect.extent.x - 18 * Settings.uiScale, renderRect.position.y);
|
||||||
|
|
||||||
|
|
@ -182,22 +193,30 @@ class GuiConsoleScrollCtrl extends GuiControl {
|
||||||
if (this.dirty) {
|
if (this.dirty) {
|
||||||
if (scrollBarYSize > scrollExtentY) {
|
if (scrollBarYSize > scrollExtentY) {
|
||||||
scrollBarYSize = scrollExtentY;
|
scrollBarYSize = scrollExtentY;
|
||||||
scrollBarY.clear();
|
scrollBarY.visible = false;
|
||||||
|
// scrollBarY.clear();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scrollBarY.clear();
|
scrollTopBmp.tile = pressed ? scrollTopPressedTile : scrollTopTile;
|
||||||
|
scrollBottomBmp.tile = pressed ? scrollBottomPressedTile : scrollBottomTile;
|
||||||
|
scrollFillBmp.tile = pressed ? scrollFillPressedTile : scrollFillTile;
|
||||||
|
scrollBottomBmp.y = scrollBarYSize - 8;
|
||||||
|
scrollFillBmp.y = 8;
|
||||||
|
scrollFillBmp.scaleY = scrollBarYSize - 12;
|
||||||
|
|
||||||
scrollBarY.tileWrap = true;
|
// scrollBarY.clear();
|
||||||
|
|
||||||
scrollBarY.drawTile(0, 0, pressed ? scrollTopPressedTile : scrollTopTile);
|
// scrollBarY.tileWrap = true;
|
||||||
|
|
||||||
// :skull:
|
// scrollBarY.drawTile(0, 0, pressed ? scrollTopPressedTile : scrollTopTile);
|
||||||
for (i in 0...cast(scrollBarYSize - 12)) {
|
|
||||||
scrollBarY.drawTile(0, i + 8, pressed ? scrollFillPressedTile : scrollFillTile);
|
|
||||||
}
|
|
||||||
|
|
||||||
scrollBarY.drawTile(0, scrollBarYSize - 8, pressed ? scrollBottomPressedTile : scrollBottomTile);
|
// // :skull:
|
||||||
|
// for (i in 0...cast(scrollBarYSize - 12)) {
|
||||||
|
// scrollBarY.drawTile(0, i + 8, pressed ? scrollFillPressedTile : scrollFillTile);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// scrollBarY.drawTile(0, scrollBarYSize - 8, pressed ? scrollBottomPressedTile : scrollBottomTile);
|
||||||
|
|
||||||
this.dirty = false;
|
this.dirty = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue