Fix oops in strings.xml. Abilities should now use translated strings. It will not take old abilities into account for duplicates, though.

This commit is contained in:
Kevin Whitaker
2016-02-10 23:45:38 -05:00
parent f966c8e776
commit d137e91c98
4 changed files with 45 additions and 37 deletions

View File

@@ -73,7 +73,7 @@ public class CharacterDetailsAdapter extends RecyclerView.Adapter<RecyclerView.V
MiceAndMysticsApplication.getRealmInstance().beginTransaction(); MiceAndMysticsApplication.getRealmInstance().beginTransaction();
Ability realmAbility = MiceAndMysticsApplication.getRealmInstance().createObject(Ability.class); Ability realmAbility = MiceAndMysticsApplication.getRealmInstance().createObject(Ability.class);
realmAbility.setUuid(UUID.randomUUID().toString()); realmAbility.setUuid(UUID.randomUUID().toString());
realmAbility.setAbilityName(ability.displayName()); realmAbility.setAbilityName(ability.name());
currentCharacter.getAbilities().add(realmAbility); currentCharacter.getAbilities().add(realmAbility);
MiceAndMysticsApplication.getRealmInstance().commitTransaction(); MiceAndMysticsApplication.getRealmInstance().commitTransaction();
notifyDataSetChanged(); notifyDataSetChanged();

View File

@@ -1,44 +1,47 @@
package com.eyecreate.miceandmystics.miceandmystics.model.Enums; package com.eyecreate.miceandmystics.miceandmystics.model.Enums;
import com.eyecreate.miceandmystics.miceandmystics.MiceAndMysticsApplication;
import com.eyecreate.miceandmystics.miceandmystics.R;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
public enum Abilities { public enum Abilities {
First_Aid("First Aid",new CharacterType[]{CharacterType.Mystic,CharacterType.Archer,CharacterType.Scamp,CharacterType.Leader,CharacterType.Healer,CharacterType.Tinkerer,CharacterType.Warrior}), First_Aid(R.string.ability_firstaid,new CharacterType[]{CharacterType.Mystic,CharacterType.Archer,CharacterType.Scamp,CharacterType.Leader,CharacterType.Healer,CharacterType.Tinkerer,CharacterType.Warrior}),
Chain_Lightning("Chain Lightning",new CharacterType[]{CharacterType.Mystic}), Chain_Lightning(R.string.ability_chainlighting,new CharacterType[]{CharacterType.Mystic}),
Mystic_Blast("Mystic Blast",new CharacterType[]{CharacterType.Mystic}), Mystic_Blast(R.string.ability_mysticblast,new CharacterType[]{CharacterType.Mystic}),
Major_Heal("Major Heal",new CharacterType[]{CharacterType.Healer}), Major_Heal(R.string.ability_majorheal,new CharacterType[]{CharacterType.Healer}),
Feint("Feint",new CharacterType[]{CharacterType.Warrior}), Feint(R.string.ability_feint,new CharacterType[]{CharacterType.Warrior}),
Battle_Squeak("Battle Squeak",new CharacterType[]{CharacterType.Warrior}), Battle_Squeak(R.string.ability_battlesqueak,new CharacterType[]{CharacterType.Warrior}),
Battle_Leader("Battle Leader",new CharacterType[]{CharacterType.Leader}), Battle_Leader(R.string.ability_battleleader,new CharacterType[]{CharacterType.Leader}),
Set_Trap("Set Trap",new CharacterType[]{CharacterType.Tinkerer}), Set_Trap(R.string.ability_settrap,new CharacterType[]{CharacterType.Tinkerer}),
Fortify("Fortify",new CharacterType[]{CharacterType.Healer}), Fortify(R.string.ability_fortify,new CharacterType[]{CharacterType.Healer}),
Cure("Cure",new CharacterType[]{CharacterType.Healer}), Cure(R.string.ability_cure,new CharacterType[]{CharacterType.Healer}),
Knife_Strike("Knife Strike",new CharacterType[]{CharacterType.Scamp}), Knife_Strike(R.string.ability_knifestrike,new CharacterType[]{CharacterType.Scamp}),
Find("Find",new CharacterType[]{CharacterType.Scamp}), Find(R.string.ability_find,new CharacterType[]{CharacterType.Scamp}),
Dodge("Dodge",new CharacterType[]{CharacterType.Scamp}), Dodge(R.string.ability_dodge,new CharacterType[]{CharacterType.Scamp}),
Thundersqueak("Thundersqueak",new CharacterType[]{CharacterType.Warrior,CharacterType.Tinkerer,CharacterType.Healer}), Thundersqueak(R.string.ability_thundersqueak,new CharacterType[]{CharacterType.Warrior,CharacterType.Tinkerer,CharacterType.Healer}),
Backslash("Backslash",new CharacterType[]{CharacterType.Warrior}), Backslash(R.string.ability_backslash,new CharacterType[]{CharacterType.Warrior}),
Mystic_Bolt("Mystic Bolt",new CharacterType[]{CharacterType.Mystic}), Mystic_Bolt(R.string.ability_mysticbolt,new CharacterType[]{CharacterType.Mystic}),
Inspire("Inspire",new CharacterType[]{CharacterType.Leader}), Inspire(R.string.ability_inspire,new CharacterType[]{CharacterType.Leader}),
Keen_Eye("Keen Eye",new CharacterType[]{CharacterType.Scamp,CharacterType.Archer}), Keen_Eye(R.string.ability_keeneye,new CharacterType[]{CharacterType.Scamp,CharacterType.Archer}),
Meeps("Meeps",new CharacterType[]{CharacterType.Maginos}), Meeps(R.string.ability_meeps,new CharacterType[]{CharacterType.Maginos}),
Invisibility("Invisibility",new CharacterType[]{CharacterType.Mystic}), Invisibility(R.string.ability_invisibility,new CharacterType[]{CharacterType.Mystic}),
Accurate_Shot("Accurate Shot",new CharacterType[]{CharacterType.Archer}), Accurate_Shot(R.string.ability_accurateshot,new CharacterType[]{CharacterType.Archer}),
Aimed_Shot("Aimed Shot",new CharacterType[]{CharacterType.Archer}), Aimed_Shot(R.string.ability_aimedshot,new CharacterType[]{CharacterType.Archer}),
Power_Shot("Power Shot",new CharacterType[]{CharacterType.Archer}), Power_Shot(R.string.ability_powershot,new CharacterType[]{CharacterType.Archer}),
Preemptive_Shot("Preemptive Shot",new CharacterType[]{CharacterType.Archer}), Preemptive_Shot(R.string.ability_prempshot,new CharacterType[]{CharacterType.Archer}),
Resolve("Resolve",new CharacterType[]{CharacterType.Warrior}), Resolve(R.string.ability_resolve,new CharacterType[]{CharacterType.Warrior}),
Protect("Protect",new CharacterType[]{CharacterType.Warrior}), Protect(R.string.ability_protect,new CharacterType[]{CharacterType.Warrior}),
Give_Order("Give Order",new CharacterType[]{CharacterType.Leader}), Give_Order(R.string.ability_giveorder,new CharacterType[]{CharacterType.Leader}),
Energy_Rush("Energy Rush",new CharacterType[]{CharacterType.Scamp}); Energy_Rush(R.string.ability_energyrush,new CharacterType[]{CharacterType.Scamp});
private String displayName; private int displayName;
private CharacterType[] appliesTo; private CharacterType[] appliesTo;
Abilities(String displayName,CharacterType[] appliesTo) { Abilities(int displayName,CharacterType[] appliesTo) {
this.displayName = displayName; this.displayName = displayName;
this.appliesTo = appliesTo; this.appliesTo = appliesTo;
} }
@@ -64,8 +67,7 @@ public enum Abilities {
return matchingList.toArray(new Abilities[matchingList.size()]); return matchingList.toArray(new Abilities[matchingList.size()]);
} }
public String displayName() { return displayName; } public String displayName() { return MiceAndMysticsApplication.getInstance().getString(displayName); }
@Override public String toString() { return displayName; } @Override public String toString() { return displayName(); }
public static Abilities valueOfDisplayName(String valuedDisplayName) {return Abilities.valueOf(valuedDisplayName.replace(" ","_"));}
} }

View File

@@ -9,6 +9,7 @@ import com.alertdialogpro.AlertDialogPro;
import com.eyecreate.miceandmystics.miceandmystics.R; import com.eyecreate.miceandmystics.miceandmystics.R;
import com.eyecreate.miceandmystics.miceandmystics.adapters.CharacterDetailsAdapter; import com.eyecreate.miceandmystics.miceandmystics.adapters.CharacterDetailsAdapter;
import com.eyecreate.miceandmystics.miceandmystics.model.Ability; import com.eyecreate.miceandmystics.miceandmystics.model.Ability;
import com.eyecreate.miceandmystics.miceandmystics.model.Enums.Abilities;
public class CharacterAbilityViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener { public class CharacterAbilityViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
@@ -24,7 +25,12 @@ public class CharacterAbilityViewHolder extends RecyclerView.ViewHolder implemen
} }
public void bindHolder(Ability ability) { public void bindHolder(Ability ability) {
abilityName.setText(ability.getAbilityName()); try {
abilityName.setText(Abilities.valueOf(ability.getAbilityName()).toString());
} catch(IllegalArgumentException e) {
//This is a workaround if ability doesn't exist. This is likely due to using old stored data.
abilityName.setText(ability.getAbilityName());
}
uuid = ability.getUuid(); uuid = ability.getUuid();
} }

View File

@@ -17,9 +17,9 @@
<!-- Achievements --> <!-- Achievements -->
<string name="ach_name_maggie">Miz Maggie</string> <string name="ach_name_maggie">Miz Maggie</string>
<string name="ach_name_van_brush">Vanestra's Brush</string> <string name="ach_name_van_brush">Vanestra\'s Brush</string>
<string name="ach_name_king">King</string> <string name="ach_name_king">King</string>
<string name="ach_name_horn_claw">Cat's Horn Claw</string> <string name="ach_name_horn_claw">Cat\'s Horn Claw</string>
<string name="ach_name_catnip">Catnip</string> <string name="ach_name_catnip">Catnip</string>
<!-- Character Types --> <!-- Character Types -->