Update combat bar info on monster attacks.

Force black background on conversation scroll list.
Corrected tile in Prim main hall.

git-svn-id: https://andors-trail.googlecode.com/svn/trunk@121 08aca716-68be-ccc6-4d58-36f5abd142ac
This commit is contained in:
oskar.wiksten
2011-07-08 15:48:31 +00:00
parent 83f0834c93
commit c0fc4d16e3
9 changed files with 36 additions and 17 deletions

View File

@@ -718,6 +718,7 @@ public final class R {
public static final int traitsinfo_defense_damageresist=0x7f0500d4; public static final int traitsinfo_defense_damageresist=0x7f0500d4;
} }
public static final class style { public static final class style {
public static final int Style_BlackListView=0x7f0a0001;
public static final int Theme_NoBackground=0x7f0a0000; public static final int Theme_NoBackground=0x7f0a0000;
} }
public static final class xml { public static final class xml {

View File

@@ -4,6 +4,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:background="@android:color/transparent"
> >
<ListView <ListView
@@ -15,6 +16,7 @@
android:id="@+id/conversation_statements" android:id="@+id/conversation_statements"
android:transcriptMode="alwaysScroll" android:transcriptMode="alwaysScroll"
android:padding="@dimen/dialog_margin" android:padding="@dimen/dialog_margin"
style="@style/Style.BlackListView"
/> />
<LinearLayout <LinearLayout

View File

@@ -3,4 +3,8 @@
<style name="Theme.NoBackground" parent="android:Theme"> <style name="Theme.NoBackground" parent="android:Theme">
<item name="android:windowBackground">@null</item> <item name="android:windowBackground">@null</item>
</style> </style>
<style name="Style.BlackListView" parent="@android:style/Widget.ListView">
<item name="android:background">#000000</item>
<item name="android:cacheColorHint">#00000000</item>
</style>
</resources> </resources>

View File

@@ -55,12 +55,12 @@
</layer> </layer>
<layer name="Objects" width="22" height="16"> <layer name="Objects" width="22" height="16">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJxjYKAdMGdnYCgEYk4WCC0LZcviEbcA4pXMEP5mILuWHUKD+DDgDuQ3ArEkC4QGAUmoPC5xD6i5IP4sILsMiGezI+RBII+ZPH+uhOpbBTSvDYhXA3EyC349pJiLC9SxQegLUPo/VP0SAnYTMhcWDjD6PwH1MPtA5p4Hsi9A+chsbADZ3HtsqDQIJCOZq8oOwSCAzAYBWDjA6PdI5r5jQ6WRzd0JVLcLzW/biEwD+Nx7EmjGVSA+ioSPEWkuyJ2g8IS5NxuoT5gdu1pC8YzPvSBzOXGYSwpAD9+NrAwMIjjMBYmD5IkB96DhAHPvQTRzkf0OEj9IpLkgd9qzI9x7kYB7LxJpLrkAAE/jPoM= eJxjYKAdMGdnYCgEYk4WCC0LZcviEbcA4pXMEP5mILuWHUKD+DDgDuQ3ArEkC4QGAUmoPC5xD6i5IP4sqNxsdoQ8COQxk+fPlVB9q4DmtQHxaiBOZsGvhxRzcYE6Ngh9AUr/h6pfQsBuQubCwgFG/yegHmYfyNzzQPYFKB+ZjQ0gm3uPDZUGgWQkc1XZIRgEkNkgAAsHGP0eydx3bKg0srk7gep2ofltG5FpAJ97TwLNuArER5HwMSLNBbkTFJ4w92YD9QmzY1dLKJ7xuRdkLicOc0kB6OG7kZWBQQSHuSBxkDwx4B40HGDuPYhmLrLfQeIHiTQX5E57doR7LxJw70UizSUXAAAZZD4G
</data> </data>
</layer> </layer>
<layer name="Above" width="22" height="16"> <layer name="Above" width="22" height="16">
<data encoding="base64" compression="zlib"> <data encoding="base64" compression="zlib">
eJxjYKAd+M9Mf3OtmFFpXKCMnTRzvZhRaVygjURzKQGUmBsJdGcU1K2KQHohkrsHo3vxgfd4zEW3k1puGDWXPHM5seQPapgrTKS56GkFX9qhBwAAjiIZ1g== eJxjYKAd+M9Mf3OtmFFpXKCMnTRzvZhRaVLAQIQDIRAJ9H8UNAwUgfRCpPAYjO7FB97jMRfdTmq5YdRc8szlxJLvqGGuMJHmoqcVfGmHHgAAP5sZSQ==
</data> </data>
</layer> </layer>
<layer name="Walkable" width="22" height="16"> <layer name="Walkable" width="22" height="16">

View File

@@ -57,13 +57,13 @@ public final class MainActivity extends Activity {
public StatusView statusview; public StatusView statusview;
public CombatView combatview; public CombatView combatview;
public QuickitemView quickitemview; public QuickitemView quickitemview;
public LinearLayout activeConditions; private LinearLayout activeConditions;
public VirtualDpadView dpad; private VirtualDpadView dpad;
private static final int NUM_MESSAGES = 3; private static final int NUM_MESSAGES = 3;
private final String[] messages = new String[NUM_MESSAGES]; private final String[] messages = new String[NUM_MESSAGES];
private TextView statusText; private TextView statusText;
public WeakReference<Toast> lastToast = null; private WeakReference<Toast> lastToast = null;
private ContextMenuInfo lastSelectedMenu = null; private ContextMenuInfo lastSelectedMenu = null;
@Override @Override
@@ -140,6 +140,8 @@ public final class MainActivity extends Activity {
world.model.player.inventory.addItem(itemType, 10); world.model.player.inventory.addItem(itemType, 10);
itemType = world.itemTypes.getItemTypeByTag("clouded_rage"); itemType = world.itemTypes.getItemTypeByTag("clouded_rage");
world.model.player.inventory.addItem(itemType); world.model.player.inventory.addItem(itemType);
itemType = world.itemTypes.getItemTypeByTag("pot_fatigue_restore");
world.model.player.inventory.addItem(itemType, 20);
updateStatus(); updateStatus();
Toast.makeText(MainActivity.this, "DEBUG: added items", Toast.LENGTH_SHORT).show(); Toast.makeText(MainActivity.this, "DEBUG: added items", Toast.LENGTH_SHORT).show();
@@ -168,6 +170,13 @@ public final class MainActivity extends Activity {
view.movementController.placePlayerAt(MapObject.MAPEVENT_NEWMAP, "blackwater_mountain29", "south", 0, 0); view.movementController.placePlayerAt(MapObject.MAPEVENT_NEWMAP, "blackwater_mountain29", "south", 0, 0);
} }
})*/ })*/
/*,new DebugButton("wyrms", new OnClickListener() {
@Override
public void onClick(View arg0) {
world.model.player.traits.maxHP = 200;
view.movementController.placePlayerAt(MapObject.MAPEVENT_NEWMAP, "blackwater_mountain32", "north", 0, 0);
}
})*/
,new DebugButton("hp=max", new OnClickListener() { ,new DebugButton("hp=max", new OnClickListener() {
@Override @Override
public void onClick(View arg0) { public void onClick(View arg0) {
@@ -191,8 +200,7 @@ public final class MainActivity extends Activity {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) { switch (requestCode) {
case INTENTREQUEST_HEROINFO: case INTENTREQUEST_HEROINFO:
combatview.updatePlayerAP(world.model.player.ap); updateStatus();
quickitemview.refreshQuickitems();
break; break;
case INTENTREQUEST_MONSTERENCOUNTER: case INTENTREQUEST_MONSTERENCOUNTER:
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {
@@ -380,6 +388,7 @@ public final class MainActivity extends Activity {
statusview.updateStatus(); statusview.updateStatus();
statusview.updateActiveConditions(this, activeConditions); statusview.updateActiveConditions(this, activeConditions);
quickitemview.refreshQuickitems(); quickitemview.refreshQuickitems();
combatview.updateStatus();
} }
public void redrawAll(int why) { public void redrawAll(int why) {

View File

@@ -128,7 +128,6 @@ public class ActorStatsController {
view.controller.handlePlayerDeath(); view.controller.handlePlayerDeath();
return; return;
} }
view.mainActivity.combatview.updatePlayerAP(player.ap);
view.mainActivity.updateStatus(); view.mainActivity.updateStatus();
boolean removedAnyConditions = decreaseDurationAndRemoveConditions(player); boolean removedAnyConditions = decreaseDurationAndRemoveConditions(player);

View File

@@ -120,7 +120,6 @@ public final class CombatController {
} }
private boolean useAPs(int cost) { private boolean useAPs(int cost) {
if (model.player.useAPs(cost)) { if (model.player.useAPs(cost)) {
context.mainActivity.combatview.updatePlayerAP(model.player.ap);
return true; return true;
} else { } else {
message(context.mainActivity.getResources().getString(R.string.combat_not_enough_ap)); message(context.mainActivity.getResources().getString(R.string.combat_not_enough_ap));
@@ -185,9 +184,7 @@ public final class CombatController {
} }
message(msg); message(msg);
startAttackEffect(attack, model.uiSelections.selectedPosition); startAttackEffect(attack, model.uiSelections.selectedPosition);
if (!attack.targetDied) { if (attack.targetDied) {
context.mainActivity.combatview.updateMonsterHealth(target.health);
} else {
playerKilledMonster(target); playerKilledMonster(target);
Monster nextMonster = getAdjacentMonster(); Monster nextMonster = getAdjacentMonster();
if (nextMonster == null) { if (nextMonster == null) {
@@ -353,7 +350,7 @@ public final class CombatController {
} }
private void updateTurnInfo() { private void updateTurnInfo() {
context.mainActivity.combatview.updateTurnInfo(currentActiveMonster); context.mainActivity.combatview.updateTurnInfo(currentActiveMonster);
context.mainActivity.combatview.updatePlayerAP(model.player.ap); context.mainActivity.updateStatus();
} }
private static float getAverageDamagePerHit(ActorTraits attacker, ActorTraits target) { private static float getAverageDamagePerHit(ActorTraits attacker, ActorTraits target) {

View File

@@ -223,7 +223,6 @@ public final class ItemController {
public void quickitemUse(int quickSlotId) { public void quickitemUse(int quickSlotId) {
useItem(model.player.inventory.quickitem[quickSlotId]); useItem(model.player.inventory.quickitem[quickSlotId]);
view.mainActivity.combatview.updatePlayerAP(model.player.ap);
view.mainActivity.updateStatus(); view.mainActivity.updateStatus();
} }
@@ -233,7 +232,7 @@ public final class ItemController {
} }
public void toggleQuickItemView() { public void toggleQuickItemView() {
if(view.mainActivity.quickitemview.getVisibility()==View.VISIBLE){ if (view.mainActivity.quickitemview.getVisibility()==View.VISIBLE){
view.mainActivity.quickitemview.setVisibility(View.GONE); view.mainActivity.quickitemview.setVisibility(View.GONE);
view.mainActivity.statusview.updateQuickItemImage(false); view.mainActivity.statusview.updateQuickItemImage(false);
} else { } else {

View File

@@ -101,10 +101,10 @@ public final class CombatView extends FrameLayout {
} }
} }
public void updateMonsterHealth(Range range) { private void updateMonsterHealth(Range range) {
monsterHealth.update(range); monsterHealth.update(range);
} }
public void updatePlayerAP(Range range) { private void updatePlayerAP(Range range) {
statusTextView.setText(getResources().getString(R.string.combat_status_ap, range.current)); statusTextView.setText(getResources().getString(R.string.combat_status_ap, range.current));
} }
public void updateCombatSelection(Monster selectedMonster, Coord selectedMovePosition) { public void updateCombatSelection(Monster selectedMonster, Coord selectedMovePosition) {
@@ -123,4 +123,12 @@ public final class CombatView extends FrameLayout {
attackMoveButton.setEnabled(false); attackMoveButton.setEnabled(false);
} }
} }
public void updateStatus() {
updatePlayerAP(world.model.player.ap);
if (world.model.uiSelections.selectedMonster != null) {
updateMonsterHealth(world.model.uiSelections.selectedMonster.health);
}
updateCombatSelection(world.model.uiSelections.selectedMonster, world.model.uiSelections.selectedPosition);
}
} }