((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)
// 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;
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)
});
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);
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);
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));
}
}
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);
}
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); }
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
}
- 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);
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
\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
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
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
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;
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
}
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;
}
}
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)));