android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/main_statusview"
- android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
android:visibility="gone"
/>
/>
<ImageButton
- android:id="@+id/quickitem_toggle"
+ android:id="@+id/toolbox_toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/status_image"
- android:layout_toLeftOf="@id/quickitem_toggle"
+ android:layout_toLeftOf="@id/toolbox_toggle"
android:orientation="vertical"
>
<com.gpl.rpg.AndorsTrail.view.RangeBar
>
<ImageButton
- android:id="@+id/toolbox_playerinfo"
+ android:id="@+id/toolbox_map"
style="@style/toolboxButton"
- android:src="@drawable/char_hero"
+ android:src="@drawable/ui_icon_map"
/>
<ImageButton
- android:id="@+id/toolbox_map"
+ android:id="@+id/toolbox_quickitems"
style="@style/toolboxButton"
- android:src="@drawable/ui_icon_map"
+ android:src="@drawable/ui_icon_equipment"
/>
</LinearLayout>
activeConditions = (LinearLayout) findViewById(R.id.statusview_activeconditions);
dpad = (VirtualDpadView) findViewById(R.id.main_virtual_dpad);
toolboxview = (ToolboxView) findViewById(R.id.main_toolboxview);
+ statusview.registerToolboxViews(toolboxview, quickitemview);
statusText = (TextView) findViewById(R.id.statusview_statustext);
statusText.setOnClickListener(new OnClickListener() {
quickitemview.setVisibility(View.GONE);
quickitemview.registerForContextMenu(this);
- quickitemview.refreshQuickitems();
dpad.updateVisibility(app.preferences);
+
+ // Define which views are in front of each other.
+ dpad.bringToFront();
+ quickitemview.bringToFront();
+ toolboxview.bringToFront();
+ combatview.bringToFront();
+ statusview.bringToFront();
}
@Override
}
t.show();
}
-
- public void toggleToolboxVisibility() {
- toolboxview.toggleVisibility();
- statusview.bringToFront();
- }
}
public void enterCombat(int beginTurnAs) {
context.mainActivity.combatview.setVisibility(View.VISIBLE);
- context.mainActivity.combatview.bringToFront();
model.uiSelections.isInCombat = true;
killedMonsterBags.clear();
context.mainActivity.clearMessages();
import java.util.ArrayList;
-import android.view.View;
-
import com.gpl.rpg.AndorsTrail.Dialogs;
import com.gpl.rpg.AndorsTrail.context.ViewContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
model.player.inventory.quickitem[quickSlotId] = itemType;
view.mainActivity.updateStatus();
}
-
- public void toggleQuickItemView() {
- if (view.mainActivity.quickitemview.getVisibility()==View.VISIBLE){
- view.mainActivity.quickitemview.setVisibility(View.GONE);
- view.mainActivity.statusview.updateQuickItemImage(false);
- } else {
- view.mainActivity.quickitemview.setVisibility(View.VISIBLE);
- view.mainActivity.quickitemview.bringToFront();
- view.mainActivity.statusview.updateQuickItemImage(true);
- }
- }
public static void correctActorConditionsFromItemsPre0611b1(Player player, String conditionTypeID, WorldContext world, String itemTypeIDWithCondition) {
if (!player.hasCondition(conditionTypeID)) return;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
-import com.gpl.rpg.AndorsTrail.context.ViewContext;
+import com.gpl.rpg.AndorsTrail.activity.HeroinfoActivity;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ability.ActorCondition;
import com.gpl.rpg.AndorsTrail.model.actor.Player;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
import android.content.Context;
+import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
private final WorldContext world;
private final Player player;
- private final ViewContext view;
private final RangeBar healthBar;
private final RangeBar expBar;
private final ImageButton heroImage;
- private final ImageButton quickToggle;
+ private final ImageButton toggleToolbox;
private boolean showingLevelup;
private final Drawable levelupDrawable;
+ private ToolboxView toolbox;
public StatusView(final Context context, AttributeSet attr) {
super(context, attr);
AndorsTrailApplication app = AndorsTrailApplication.getApplicationFromActivityContext(context);
this.world = app.world;
this.player = app.world.model.player;
- this.view = app.currentView.get();
setFocusable(false);
inflate(context, R.layout.statusview, this);
heroImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
- view.mainActivity.toggleToolboxVisibility();
+ context.startActivity(new Intent(context, HeroinfoActivity.class));
}
});
healthBar = (RangeBar) findViewById(R.id.statusview_health);
,new BitmapDrawable(world.tileManager.preloadedTiles.getBitmap(TileManager.iconID_moveselect))
});
- quickToggle = (ImageButton) findViewById(R.id.quickitem_toggle);
- world.tileManager.setImageViewTileForUIIcon(quickToggle, TileManager.iconID_boxclosed);
- quickToggle.setOnClickListener(new OnClickListener() {
+ toggleToolbox = (ImageButton) findViewById(R.id.toolbox_toggle);
+ world.tileManager.setImageViewTileForUIIcon(toggleToolbox, TileManager.iconID_boxclosed);
+ toggleToolbox.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
- view.itemController.toggleQuickItemView();
+ toolbox.toggleVisibility();
}
});
updateStatus();
updateIcon(player.canLevelup());
}
+
+ public void registerToolboxViews(ToolboxView toolbox, QuickitemView quickitemView) {
+ this.toolbox = toolbox;
+ toolbox.registerToolboxViews(toggleToolbox, quickitemView);
+ toolbox.updateIcons();
+ }
public void updateStatus() {
healthBar.update(player.health);
t.removeOtherImages();
}
- public void updateQuickItemImage(boolean visible){
- if(visible){
- world.tileManager.setImageViewTileForUIIcon(quickToggle, TileManager.iconID_boxopened);
- } else {
- world.tileManager.setImageViewTileForUIIcon(quickToggle, TileManager.iconID_boxclosed);
- }
- }
-
private static class GreedyImageViewAppender {
private final LinearLayout container;
private final Context context;
package com.gpl.rpg.AndorsTrail.view;
import android.content.Context;
-import android.content.Intent;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
-import com.gpl.rpg.AndorsTrail.activity.HeroinfoActivity;
-import com.gpl.rpg.AndorsTrail.context.ViewContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.controller.WorldMapController;
+import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
public class ToolboxView extends LinearLayout implements OnClickListener {
private final WorldContext world;
- private final Animation slideUpAnimation;
- private final Animation slideDownAnimation;
- private final ImageButton toolbox_playerinfo;
+ private final Animation showAnimation;
+ private final Animation hideAnimation;
+ private final ImageButton toolbox_quickitems;
private final ImageButton toolbox_map;
+ private ImageButton toggleVisibility;
+ private QuickitemView quickitemView;
public ToolboxView(final Context context, AttributeSet attrs) {
super(context, attrs);
inflate(context, R.layout.toolboxview, this);
- this.slideUpAnimation = AnimationUtils.loadAnimation(context, R.anim.slideup);
- this.slideDownAnimation = AnimationUtils.loadAnimation(context, R.anim.slidedown);
- this.slideDownAnimation.setAnimationListener(new AnimationListener() {
- @Override
- public void onAnimationStart(Animation animation) { }
- @Override
- public void onAnimationRepeat(Animation animation) { }
- @Override
- public void onAnimationEnd(Animation animation) {
- ToolboxView.this.setVisibility(View.GONE);
- }
+ this.showAnimation = AnimationUtils.loadAnimation(context, R.anim.showtoolbox);
+ this.hideAnimation = AnimationUtils.loadAnimation(context, R.anim.hidetoolbox);
+ this.hideAnimation.setAnimationListener(new AnimationListener() {
+ @Override public void onAnimationStart(Animation animation) { }
+ @Override public void onAnimationRepeat(Animation animation) { }
+ @Override public void onAnimationEnd(Animation animation) {
+ ToolboxView.this.setVisibility(View.GONE);
+ }
});
- toolbox_playerinfo = (ImageButton)findViewById(R.id.toolbox_playerinfo);
- toolbox_playerinfo.setOnClickListener(this);
+ toolbox_quickitems = (ImageButton)findViewById(R.id.toolbox_quickitems);
+ toolbox_quickitems.setOnClickListener(this);
toolbox_map = (ImageButton)findViewById(R.id.toolbox_map);
toolbox_map.setOnClickListener(this);
-
- updateIcons();
+ }
+
+ public void registerToolboxViews(ImageButton toggleVisibility, QuickitemView quickitemView) {
+ this.toggleVisibility = toggleVisibility;
+ this.quickitemView = quickitemView;
}
@Override
public void onClick(View btn) {
Context context = getContext();
- if (btn == toolbox_playerinfo) {
- context.startActivity(new Intent(context, HeroinfoActivity.class));
+ if (btn == toolbox_quickitems) {
+ toggleQuickItemView();
} else if (btn == toolbox_map) {
if (!WorldMapController.displayWorldMap(context, world)) return;
+ setVisibility(View.GONE);
+ }
+ }
+
+ private void toggleQuickItemView() {
+ if (quickitemView.getVisibility() == View.VISIBLE){
+ quickitemView.setVisibility(View.GONE);
+ } else {
+ quickitemView.setVisibility(View.VISIBLE);
}
- ToolboxView.this.setVisibility(View.GONE);
}
public void toggleVisibility() {
if (getVisibility() == View.VISIBLE) {
- startAnimation(slideDownAnimation);
+ startAnimation(hideAnimation);
+ setToolboxIcon(false);
} else {
setVisibility(View.VISIBLE);
- bringToFront();
- startAnimation(slideUpAnimation);
+ startAnimation(showAnimation);
+ setToolboxIcon(true);
}
}
public void updateIcons() {
- world.tileManager.setImageViewTile(toolbox_playerinfo, world.model.player);
+ setToolboxIcon(getVisibility() == View.VISIBLE);
+ }
+
+ private void setToolboxIcon(boolean opened) {
+ if (opened) {
+ world.tileManager.setImageViewTileForUIIcon(toggleVisibility, TileManager.iconID_boxopened);
+ } else {
+ world.tileManager.setImageViewTileForUIIcon(toggleVisibility, TileManager.iconID_boxclosed);
+ }
}
}