android:shadowDx="1"
android:shadowDy="1"
android:shadowRadius="1"
- android:shadowColor="#000"
+ android:shadowColor="#000"
/>
- <LinearLayout
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/main_statusview"
<string name="skill_longdescription_concussion">When making an attack on a target whose block chance (BC) is at least %1$d lower than your attack chance (AC), there is a %2$d %% chance that the hit will cause a concussion on the target. A concussion will severely lower the target\'s offensive combat abilities, making the target less able to land successful attacks.</string>
<string name="about_button4">About</string>
+ <string name="preferences_ui_category">Interface</string>
+ <string name="preferences_ui_enable_animations_title">Enable animations</string>
+ <string name="preferences_ui_enable_animations">Show animations for various interface elements, such as the combat bar.</string>
+ <string name="menu_button_worldmap">Map</string>
+ <string name="menu_button_worldmap_failed">Map cannot be displayed.</string>
+ <string name="display_worldmap_not_available">The map cannot be displayed from this location.</string>
+ <string name="display_worldmap_title">Map</string>
</resources>
import com.gpl.rpg.AndorsTrail.model.item.ItemContainer.ItemEntry;
import com.gpl.rpg.AndorsTrail.util.Coord;
import com.gpl.rpg.AndorsTrail.view.CombatView;
+import com.gpl.rpg.AndorsTrail.view.DisplayActiveActorConditionIcons;
import com.gpl.rpg.AndorsTrail.view.MainView;
+ import com.gpl.rpg.AndorsTrail.view.ToolboxView;
import com.gpl.rpg.AndorsTrail.view.VirtualDpadView;
import com.gpl.rpg.AndorsTrail.view.QuickButton.QuickButtonContextMenuInfo;
import com.gpl.rpg.AndorsTrail.view.QuickitemView;
public StatusView statusview;
public CombatView combatview;
public QuickitemView quickitemview;
- private LinearLayout activeConditions;
+ private DisplayActiveActorConditionIcons activeConditions;
+ private ToolboxView toolboxview;
private VirtualDpadView dpad;
private static final int NUM_MESSAGES = 3;
statusview = (StatusView) findViewById(R.id.main_statusview);
combatview = (CombatView) findViewById(R.id.main_combatview);
quickitemview = (QuickitemView) findViewById(R.id.main_quickitemview);
- activeConditions = (LinearLayout) findViewById(R.id.statusview_activeconditions);
+ activeConditions = new DisplayActiveActorConditionIcons(app.preferences, world.tileManager, this, (RelativeLayout) 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() {
public void updateStatus() {
statusview.updateStatus();
- statusview.updateActiveConditions(this, activeConditions);
quickitemview.refreshQuickitems();
combatview.updateStatus();
+ toolboxview.updateIcons();
}
public void redrawAll(int why) {
import com.gpl.rpg.AndorsTrail.context.ViewContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
import com.gpl.rpg.AndorsTrail.model.ModelContainer;
--import com.gpl.rpg.AndorsTrail.util.L;
import com.gpl.rpg.AndorsTrail.util.TimedMessageTask;
import com.gpl.rpg.AndorsTrail.view.MainView;
import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
- import com.gpl.rpg.AndorsTrail.activity.MainActivity;
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.model.ability.ActorCondition;
import com.gpl.rpg.AndorsTrail.model.actor.Player;
import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
world.tileManager.setImageViewTile(heroImage, player);
}
}
-
- public void updateActiveConditions(Context androidContext, LinearLayout activeConditions) {
- GreedyImageViewAppender t = new GreedyImageViewAppender(androidContext, activeConditions);
- for (ActorCondition condition : player.conditions) {
- ImageView iv = t.getNextImage();
- world.tileManager.setImageViewTile(iv, condition.conditionType);
- }
- 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;
- private int currentChildIndex = 0;
- private final int previousChildCount;
- private final LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
-
- public GreedyImageViewAppender(Context context, LinearLayout container) {
- this.container = container;
- this.context = context;
- this.previousChildCount = container.getChildCount();
- }
- public ImageView getNextImage() {
- // Since this is called a lot, we do not want to recreate the view objects every time.
- // Therefore, we reuse existing ImageView:s if they are present, but just change the image on them.
- ImageView iv;
- if (currentChildIndex < previousChildCount) {
- // There already is a created image on this position, reuse it.
- iv = (ImageView) container.getChildAt(currentChildIndex);
- iv.setVisibility(View.VISIBLE);
- } else {
- // The player has never had this many conditions, create a new ImageView to hold the condition image.
- iv = new ImageView(context);
- container.addView(iv, layoutParams);
- }
- ++currentChildIndex;
- return iv;
- }
- public void removeOtherImages() {
- for(int i = previousChildCount - 1; i >= currentChildIndex; --i) {
- //container.removeViewAt(i);
- // Don't actually remove them, just hide them (so we won't have to recreate them next time the player get a condition)
- container.getChildAt(i).setVisibility(View.GONE);
- }
-- }
-- }
}