]> www.infradead.org Git - users/mchehab/andors-trail.git/commitdiff
Allow item names to contain $playername (that will be substituted for the player...
authorOskar Wiksten <oskar.wiksten@gmail.com>
Sat, 13 Oct 2012 22:12:03 +0000 (00:12 +0200)
committerOskar Wiksten <oskar.wiksten@gmail.com>
Sat, 13 Oct 2012 22:12:03 +0000 (00:12 +0200)
12 files changed:
AndorsTrail/src/com/gpl/rpg/AndorsTrail/Dialogs.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/BulkSelectionInterface.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/HeroinfoActivity_Inventory.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ItemInfoActivity.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/MainActivity.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/ShopActivity.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/Constants.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ConversationController.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ItemController.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemType.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ItemContainerAdapter.java
AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/ShopItemContainerAdapter.java

index 0b7d355a60b2cb6132aacaa28d91403aed9fbe76..37347f0819b7e34ceee5f9a4845b74a6ab22ec3b 100644 (file)
@@ -184,7 +184,7 @@ public final class Dialogs {
                                ((ItemContainerAdapter) itemList.getAdapter()).notifyDataSetChanged();
                        }
                });
-               itemList.setAdapter(new ItemContainerAdapter(mainActivity, context.tileManager, combinedLoot.items));
+               itemList.setAdapter(new ItemContainerAdapter(mainActivity, context.tileManager, combinedLoot.items, context.model.player));
                
                AlertDialog.Builder db = new AlertDialog.Builder(mainActivity)
         .setTitle(title)
index a92156e9f87c55cc6e6563c9e34fa0def937a1fe..1ec034e160c4696231a8c3b51e35e31676ba1df8 100644 (file)
@@ -103,7 +103,7 @@ public class BulkSelectionInterface extends Activity implements TextWatcher {
 
                // change image and name of the item
                final TextView itemName = (TextView)findViewById(R.id.bulkselection_itemname);
-        itemName.setText(itemType.name);
+        itemName.setText(itemType.getName(world.model.player));
         world.tileManager.setImageViewTileForSingleItemType(itemName, itemType, getResources());
         
         int actionTextResourceID = 0;
@@ -190,7 +190,7 @@ public class BulkSelectionInterface extends Activity implements TextWatcher {
                        public void onClick(View v) {
                                if (requiresConfirmation(itemType)) {
                                        final String displayType = ItemInfoActivity.getDisplayTypeString(res, itemType).toLowerCase();
-                                       final String message = res.getString(R.string.bulkselection_sell_confirmation, itemType.name, displayType);
+                                       final String message = res.getString(R.string.bulkselection_sell_confirmation, itemType.getName(world.model.player), displayType);
                                        
                                        new AlertDialog.Builder(v.getContext())
                                        .setIcon(android.R.drawable.ic_dialog_info)
index 27987f667a1d9c90c9b074df214229495a2957af..9a7077445c8bde80d9861f6514fb22de28753c8a 100644 (file)
@@ -71,7 +71,7 @@ public final class HeroinfoActivity_Inventory extends Activity {
                });
         container = player.inventory;
         wornTiles = world.tileManager.loadTilesFor(player.inventory, getResources());
-        inventoryListAdapter = new ItemContainerAdapter(this, world.tileManager, container, wornTiles);
+        inventoryListAdapter = new ItemContainerAdapter(this, world.tileManager, container, player, wornTiles);
         inventoryList.setAdapter(inventoryListAdapter);
         
         heroinfo_stats_gold = (TextView) findViewById(R.id.heroinfo_stats_gold);
index 12b770eeea5daf4291e848f60e792699f3dea12b..bd0d4d90e35032ba5cbe61ee353204f3182cbaae 100644 (file)
@@ -48,7 +48,7 @@ public final class ItemInfoActivity extends Activity {
         setContentView(R.layout.iteminfo);
 
         TextView tv = (TextView) findViewById(R.id.iteminfo_title);
-        tv.setText(itemType.name);
+        tv.setText(itemType.getName(world.model.player));
         world.tileManager.setImageViewTileForSingleItemType(tv, itemType, getResources());
         tv = (TextView) findViewById(R.id.iteminfo_category);
         tv.setText(itemType.category.displayName);
index e51f74adcf8686955a03f53f93bd2c20d71bd687..56bb3a2c489f4dd8a513fedf9b7783161c3ec324 100644 (file)
@@ -239,7 +239,7 @@ public final class MainActivity extends Activity {
                for(int i=0; i<world.model.player.inventory.items.size(); ++i){
                        ItemEntry itemEntry = world.model.player.inventory.items.get(i);
                        if(itemEntry.itemType.isUsable())
-                               assignMenu.add(R.id.quick_menu_assign_group, i, Menu.NONE, itemEntry.itemType.name);
+                               assignMenu.add(R.id.quick_menu_assign_group, i, Menu.NONE, itemEntry.itemType.getName(world.model.player));
                }
        }
        
index 03f9a85462e0baa3ef658b363762b7523a7c8032..61ec70fc4fad7ca2ceba3785762d23908b4b1744 100644 (file)
@@ -155,14 +155,14 @@ public final class ShopActivity extends TabActivity implements OnContainerItemCl
        private void buy(String itemTypeID, int quantity) {
                ItemType itemType = world.itemTypes.getItemType(itemTypeID);
                ItemController.buy(world.model, player, itemType, container_buy, quantity);
-               final String msg = getResources().getString(R.string.shop_item_bought, itemType.name);
+               final String msg = getResources().getString(R.string.shop_item_bought, itemType.getName(player));
                displayStoreAction(msg);
        }
 
        private void sell(String itemTypeID, int quantity) {
                ItemType itemType = world.itemTypes.getItemType(itemTypeID);
                ItemController.sell(player, itemType, container_buy, quantity);
-               final String msg = getResources().getString(R.string.shop_item_sold, itemType.name);
+               final String msg = getResources().getString(R.string.shop_item_sold, itemType.getName(player));
                displayStoreAction(msg);
        }
        
index 66711501af28786816481ef98cc17f45febadfa2..5425622a85fd054588d352afa6c936047049f18b 100644 (file)
@@ -39,7 +39,7 @@ public final class Constants {
        public static final String FILENAME_WORLDMAP_HTMLFILE_PREFIX = "worldmap_";
        public static final String FILENAME_WORLDMAP_HTMLFILE_SUFFIX = ".html";
        public static final String FILENAME_SAVEGAME_FILENAME_PREFIX = "savegame";
-       
+       public static final String PLACEHOLDER_PLAYERNAME = "$playername";
        
        public static final Random rnd = new Random();
        public static int rollValue(final ConstRange r) { return rollValue(r.max, r.current); }
index 2f5f0984402fd84ad3d8109b845e5d79b029e86b..45006c813f2502fcc9039cd47fbda77f34683408 100644 (file)
@@ -99,6 +99,6 @@ public final class ConversationController {
        public static String getDisplayMessage(Phrase phrase, Player player) { return replacePlayerName(phrase.message, player); }\r
        public static String getDisplayMessage(Reply reply, Player player) { return replacePlayerName(reply.text, player); }\r
        public static String replacePlayerName(String s, Player player) {\r
-               return s.replace("$playername", player.actorTraits.name);\r
+               return s.replace(Constants.PLACEHOLDER_PLAYERNAME, player.actorTraits.name);\r
        }\r
 }\r
index ec55bbac0761108ffdf9dba269a705a8cd1c72a3..6a3ee61434200d9e71cf951aee7091b56eccc487 100644 (file)
@@ -244,8 +244,8 @@ public final class ItemController {
        }
        
 
-       public static String describeItemForListView(ItemEntry item) {
-               StringBuilder sb = new StringBuilder(item.itemType.name);
+       public static String describeItemForListView(ItemEntry item, Player player) {
+               StringBuilder sb = new StringBuilder(item.itemType.getName(player));
                if (item.quantity > 1) {
                        sb.append(" (");
                        sb.append(item.quantity);
index d1a98bfeed721a6bb8ef8d3d1e039b0a1f7aecc0..25c4d805c5a254894e0f4582abe0961a663eb0f3 100644 (file)
@@ -1,5 +1,7 @@
 package com.gpl.rpg.AndorsTrail.model.item;\r
 \r
+import com.gpl.rpg.AndorsTrail.controller.Constants;\r
+import com.gpl.rpg.AndorsTrail.model.actor.Player;\r
 import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;\r
 \r
 public final class ItemType {\r
@@ -12,7 +14,8 @@ public final class ItemType {
        \r
        public final String id;\r
        public final int iconID;\r
-       public final String name;\r
+       private final String name;\r
+       private final boolean hasPersonalizedName;\r
        public final ItemCategory category;\r
        public final boolean hasManualPrice;\r
        public final int baseMarketCost;\r
@@ -48,6 +51,7 @@ public final class ItemType {
                this.effects_use = effects_use;\r
                this.effects_hit = effects_hit;\r
                this.effects_kill = effects_kill;\r
+               this.hasPersonalizedName = name.contains(Constants.PLACEHOLDER_PLAYERNAME);\r
        }\r
        \r
        public boolean isEquippable() { return category.isEquippable(); }\r
@@ -65,6 +69,11 @@ public final class ItemType {
                return true;\r
        }\r
        \r
+       public String getName(Player p) {\r
+               if (!hasPersonalizedName) return name;\r
+               else return name.replace(Constants.PLACEHOLDER_PLAYERNAME, p.actorTraits.name);         \r
+       }\r
+       \r
        public int getOverlayTileID() {\r
                switch (displayType) {\r
                case ItemType.DISPLAYTYPE_QUEST:\r
index 9467fb4953b633b7910cf0226cf9ce8882d0f532..646f16b7d549b3fe9fe7c9b8d069e80cfc6c7502 100644 (file)
@@ -9,6 +9,7 @@ import android.widget.TextView;
 
 import com.gpl.rpg.AndorsTrail.R;
 import com.gpl.rpg.AndorsTrail.controller.ItemController;
+import com.gpl.rpg.AndorsTrail.model.actor.Player;
 import com.gpl.rpg.AndorsTrail.model.item.ItemContainer;
 import com.gpl.rpg.AndorsTrail.model.item.ItemContainer.ItemEntry;
 import com.gpl.rpg.AndorsTrail.resource.tiles.TileCollection;
@@ -17,14 +18,16 @@ import com.gpl.rpg.AndorsTrail.resource.tiles.TileManager;
 public final class ItemContainerAdapter extends ArrayAdapter<ItemEntry> {
        private final TileManager tileManager;
        private final TileCollection tileCollection;
+       private final Player player;
        
-       public ItemContainerAdapter(Context context, TileManager tileManager, ItemContainer items) {
-               this(context, tileManager, items, tileManager.loadTilesFor(items, context.getResources()));
+       public ItemContainerAdapter(Context context, TileManager tileManager, ItemContainer items, Player player) {
+               this(context, tileManager, items, player, tileManager.loadTilesFor(items, context.getResources()));
        }
-       public ItemContainerAdapter(Context context, TileManager tileManager, ItemContainer items, TileCollection tileCollection) {
+       public ItemContainerAdapter(Context context, TileManager tileManager, ItemContainer items, Player player, TileCollection tileCollection) {
                super(context, 0, items.items);
                this.tileManager = tileManager;
                this.tileCollection = tileCollection;
+               this.player = player;
        }
 
        @Override
@@ -37,7 +40,7 @@ public final class ItemContainerAdapter extends ArrayAdapter<ItemEntry> {
                }
                
                tileManager.setImageViewTile((ImageView) result.findViewById(R.id.inv_image), item.itemType, tileCollection);
-               ((TextView) result.findViewById(R.id.inv_text)).setText(ItemController.describeItemForListView(item));
+               ((TextView) result.findViewById(R.id.inv_text)).setText(ItemController.describeItemForListView(item, player));
                return result;
        }
        
index f4817d4a89f817aacfe9a89441cd91970f352d62..b2228227cd88a02bf5129499cf9c81eeaf192575 100644 (file)
@@ -48,7 +48,7 @@ public final class ShopItemContainerAdapter extends ArrayAdapter<ItemEntry> {
                }
                
                tileManager.setImageViewTile((ImageView) result.findViewById(R.id.shopitem_image), itemType, tileCollection);
-               ((TextView) result.findViewById(R.id.shopitem_text)).setText(ItemController.describeItemForListView(item));
+               ((TextView) result.findViewById(R.id.shopitem_text)).setText(ItemController.describeItemForListView(item, player));
                Button b = (Button) result.findViewById(R.id.shopitem_shopbutton);
                if (isSelling) {
                        b.setText(r.getString(R.string.shop_sellitem, ItemController.getSellingPrice(player, itemType)));