v0.4.1: bugfixes to item slots and item sprites

This commit is contained in:
Evan Debenham 2016-07-20 18:32:32 -04:00 committed by Evan Debenham
parent 093635c454
commit 3de8225f9b
2 changed files with 88 additions and 68 deletions

View File

@ -174,7 +174,6 @@ public class ItemSprite extends MovieClip {
public ItemSprite view(Item item){ public ItemSprite view(Item item){
view(item.image(), item.glowing()); view(item.image(), item.glowing());
if (this.emitter != null) this.emitter.killAndErase();
Emitter emitter = item.emitter(); Emitter emitter = item.emitter();
if (emitter != null && parent != null) { if (emitter != null && parent != null) {
emitter.pos( this ); emitter.pos( this );
@ -185,7 +184,7 @@ public class ItemSprite extends MovieClip {
} }
public ItemSprite view( int image, Glowing glowing ) { public ItemSprite view( int image, Glowing glowing ) {
if (this.emitter != null) this.emitter.on = false; if (this.emitter != null) this.emitter.killAndErase();
emitter = null; emitter = null;
frame( film.get( image ) ); frame( film.get( image ) );
if ((this.glowing = glowing) == null) { if ((this.glowing = glowing) == null) {

View File

@ -49,6 +49,7 @@ public class ItemSlot extends Button {
private static final float DISABLED = 0.3f; private static final float DISABLED = 0.3f;
protected ItemSprite icon; protected ItemSprite icon;
protected Item item;
protected BitmapText topLeft; protected BitmapText topLeft;
protected BitmapText topRight; protected BitmapText topRight;
protected BitmapText bottomRight; protected BitmapText bottomRight;
@ -84,6 +85,8 @@ public class ItemSlot extends Button {
public ItemSlot() { public ItemSlot() {
super(); super();
icon.visible(false);
enable(false);
} }
public ItemSlot( Item item ) { public ItemSlot( Item item ) {
@ -138,24 +141,43 @@ public class ItemSlot extends Button {
} }
public void item( Item item ) { public void item( Item item ) {
if (this.item == item) {
updateText();
return;
}
this.item = item;
if (item == null) {
active = false;
icon.visible(false);
updateText();
} else {
active = true;
icon.visible(true);
icon.view( item );
updateText();
}
}
private void updateText(){
if (bottomRightIcon != null){ if (bottomRightIcon != null){
remove(bottomRightIcon); remove(bottomRightIcon);
bottomRightIcon = null; bottomRightIcon = null;
} }
if (item == null){ if (item == null){
active = false;
topLeft.visible = topRight.visible = bottomRight.visible = false; topLeft.visible = topRight.visible = bottomRight.visible = false;
icon.visible(false); return;
} else { } else {
active = true;
topLeft.visible = topRight.visible = bottomRight.visible = true; topLeft.visible = topRight.visible = bottomRight.visible = true;
icon.visible(true); }
icon.view( item );
topLeft.text( item.status() ); topLeft.text( item.status() );
@ -221,7 +243,6 @@ public class ItemSlot extends Button {
layout(); layout();
} }
}
public void enable( boolean value ) { public void enable( boolean value ) {