Treasure Drop depended on the previous behavior, where if the hover sprite
was still hitting it didn't check for a new one. Let's keep the check but instead let's just make sure that we ignore sprites that are non-action or non-hover or are disabled. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3731 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -39,6 +39,7 @@ import javax.swing.event.AncestorEvent;
|
|||||||
import javax.swing.event.MouseInputAdapter;
|
import javax.swing.event.MouseInputAdapter;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import com.samskivert.swing.Controller;
|
import com.samskivert.swing.Controller;
|
||||||
import com.samskivert.swing.Label;
|
import com.samskivert.swing.Label;
|
||||||
@@ -726,20 +727,21 @@ public class MediaPanel extends JComponent
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility method, get the highest sprite, return it
|
* Utility method, get the highest non-disabled action/hover sprite.
|
||||||
* if it's enabled.
|
|
||||||
*/
|
*/
|
||||||
protected Sprite getHit (MouseEvent me)
|
protected Sprite getHit (MouseEvent me)
|
||||||
{
|
{
|
||||||
// TODO: this should get all hit sprites, sort them by render
|
ArrayList list = new ArrayList();
|
||||||
// priority and then return the first non-disabled sprite
|
_spritemgr.getHitSprites(list, me.getX(), me.getY());
|
||||||
Sprite s = _spritemgr.getHighestHitSprite(me.getX(), me.getY());
|
for (int ii = 0, nn = list.size(); ii < nn; ii++) {
|
||||||
if (!(s instanceof DisableableSprite) ||
|
Object o = list.get(ii);
|
||||||
((DisableableSprite) s).isEnabled()) {
|
if ((o instanceof HoverSprite || o instanceof ActionSprite) &&
|
||||||
return s;
|
(!(o instanceof DisableableSprite) ||
|
||||||
} else {
|
((DisableableSprite) o).isEnabled())) {
|
||||||
return null;
|
return (Sprite) o;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The active hover sprite, or action sprite. */
|
/** The active hover sprite, or action sprite. */
|
||||||
|
|||||||
Reference in New Issue
Block a user