From: Oskar Wiksten Date: Sun, 7 Oct 2012 16:17:53 +0000 (+0200) Subject: Merge branch 'worldmap' X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7aedeae7baf697fddd54372b22f65b22d694dd58;p=users%2Fmchehab%2Fandors-trail.git Merge branch 'worldmap' Conflicts: AndorsTrail/res/values/strings.xml AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/CombatController.java AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java --- 7aedeae7baf697fddd54372b22f65b22d694dd58 diff --cc AndorsTrail/res/layout/main.xml index 9be5d01,7f48aa5..feb2506 --- a/AndorsTrail/res/layout/main.xml +++ b/AndorsTrail/res/layout/main.xml @@@ -51,10 -60,10 +60,10 @@@ android:shadowDx="1" android:shadowDy="1" android:shadowRadius="1" - android:shadowColor="#000" + android:shadowColor="#000" /> - 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. About + Interface + Enable animations + Show animations for various interface elements, such as the combat bar. + Map + Map cannot be displayed. + The map cannot be displayed from this location. + Map diff --cc AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java index 0f70c14,1dc7ed5..e51f74a --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java @@@ -16,8 -16,8 +16,9 @@@ import com.gpl.rpg.AndorsTrail.model.ac 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; @@@ -60,7 -59,8 +60,8 @@@ public final class MainActivity extend public StatusView statusview; public CombatView combatview; public QuickitemView quickitemview; + private DisplayActiveActorConditionIcons activeConditions; + private ToolboxView toolboxview; - private LinearLayout activeConditions; private VirtualDpadView dpad; private static final int NUM_MESSAGES = 3; @@@ -85,8 -85,10 +86,10 @@@ 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() { @@@ -262,8 -263,10 +268,9 @@@ public void updateStatus() { statusview.updateStatus(); - statusview.updateActiveConditions(this, activeConditions); quickitemview.refreshQuickitems(); combatview.updateStatus(); + toolboxview.updateIcons(); } public void redrawAll(int why) { diff --cc AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java index 3c27329,3c27329..930434d --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/GameRoundController.java @@@ -3,7 -3,7 +3,6 @@@ package com.gpl.rpg.AndorsTrail.control 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; diff --cc AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java index f2897c7,56575a1..2a62015 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/StatusView.java @@@ -2,10 -2,9 +2,8 @@@ package com.gpl.rpg.AndorsTrail.view 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; @@@ -94,12 -99,50 +96,4 @@@ public final class StatusView extends R 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); - } -- } -- } }