v0.9.2: improved logic for buttons inside of scroll areas

This commit is contained in:
Evan Debenham
2021-01-17 18:16:27 -05:00
parent 5be3fe7ba0
commit 412ea03892
6 changed files with 21 additions and 7 deletions
@@ -72,6 +72,7 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndInfoItem;
import com.watabou.noosa.BitmapText;
import com.watabou.noosa.Group;
import com.watabou.noosa.Image;
import com.watabou.noosa.PointerArea;
import com.watabou.noosa.ui.Component;
import com.watabou.utils.Reflection;
@@ -100,6 +101,10 @@ public class QuickRecipe extends Component {
anonymize(in);
ItemSlot curr;
curr = new ItemSlot(in) {
{
hotArea.blockLevel = PointerArea.NEVER_BLOCK;
}
@Override
protected void onClick() {
ShatteredPixelDungeon.scene().addToFront(new WndInfoItem(in));
@@ -196,6 +201,8 @@ public class QuickRecipe extends Component {
public arrow( Image icon, int count ){
super( icon );
hotArea.blockLevel = PointerArea.NEVER_BLOCK;
text = new BitmapText( Integer.toString(count), PixelScene.pixelFont);
text.measure();
add(text);
@@ -32,6 +32,7 @@ import com.watabou.gltextures.SmartTexture;
import com.watabou.gltextures.TextureCache;
import com.watabou.noosa.ColorBlock;
import com.watabou.noosa.Image;
import com.watabou.noosa.PointerArea;
import com.watabou.noosa.TextureFilm;
import com.watabou.noosa.audio.Sample;
import com.watabou.noosa.particles.Emitter;
@@ -58,6 +59,8 @@ public class TalentButton extends Button {
public TalentButton(int tier, Talent talent, int points, boolean upgradeEnabled){
super();
hotArea.blockLevel = PointerArea.NEVER_BLOCK;
this.tier = tier;
this.talent = talent;
this.pointsInTalent = points;
@@ -38,6 +38,7 @@ import com.watabou.noosa.Camera;
import com.watabou.noosa.Game;
import com.watabou.noosa.Gizmo;
import com.watabou.noosa.Image;
import com.watabou.noosa.PointerArea;
import com.watabou.noosa.ui.Button;
import com.watabou.noosa.ui.Component;
import com.watabou.utils.Point;
@@ -309,7 +310,7 @@ public class Toolbar extends Component {
public Tool( int x, int y, int width, int height ) {
super();
hotArea.blockWhenInactive = true;
hotArea.blockLevel = PointerArea.ALWAYS_BLOCK;
frame(x, y, width, height);
}