Adds languages to monster cards.

This commit is contained in:
2020-09-01 23:13:17 -07:00
committed by Tom Hicks
parent 706b58fd2c
commit 8ff1cb8779
5 changed files with 138 additions and 65 deletions

View File

@@ -16,6 +16,7 @@ import androidx.lifecycle.ViewModelProvider;
import com.majinnaibu.monstercards.R;
import com.majinnaibu.monstercards.helpers.StringHelper;
import com.majinnaibu.monstercards.models.DamageType;
import com.majinnaibu.monstercards.models.Language;
import com.majinnaibu.monstercards.models.Monster;
import com.majinnaibu.monstercards.models.SavingThrow;
import com.majinnaibu.monstercards.models.Skill;
@@ -91,6 +92,13 @@ public class MonsterFragment extends Fragment {
monster.setTruesight("40");
monster.setTelepathy(20);
monster.setUnderstandsBut("doesn't care");
// Languages
monster.addLanguage(new Language("English", true));
monster.addLanguage(new Language("Steve", false));
monster.addLanguage(new Language("Spanish", true));
monster.addLanguage(new Language("French", true));
monster.addLanguage(new Language("Mermataur", false));
monster.addLanguage(new Language("Goldfish", false));
// Challenge Rating
monster.setChallengeRating("*");
@@ -271,15 +279,27 @@ public class MonsterFragment extends Fragment {
monsterViewModel.getSenses().observe(getViewLifecycleOwner(), new Observer<String>() {
@Override
public void onChanged(String senses) {
if (StringHelper.isNullOrEmpty(senses)) {
monsterSenses.setVisibility(View.GONE);
} else {
monsterSenses.setVisibility(View.VISIBLE);
if (StringHelper.isNullOrEmpty(senses)) {
monsterSenses.setVisibility(View.GONE);
} else {
monsterSenses.setVisibility(View.VISIBLE);
}
monsterSenses.setText(Html.fromHtml("<b>Senses</b> " + senses));
}
monsterSenses.setText(Html.fromHtml("<b>Senses</b> " + senses));
}
});
});
final TextView monsterLanguages = root.findViewById(R.id.languages);
monsterViewModel.getLanguages().observe(getViewLifecycleOwner(), new Observer<String>() {
@Override
public void onChanged(String languages) {
if (StringHelper.isNullOrEmpty(languages)) {
monsterLanguages.setVisibility(View.GONE);
} else {
monsterLanguages.setVisibility(View.VISIBLE);
}
monsterLanguages.setText(Html.fromHtml("<b>Languages</b> " + languages));
}
});
return root;
}

View File

@@ -46,6 +46,8 @@ public class MonsterViewModel extends ViewModel {
mConditionImmunities.setValue("");
mSenses = new MutableLiveData<>();
mSenses.setValue("");
mLanguages = new MutableLiveData<>();
mLanguages.setValue("");
}
private MutableLiveData<String> mName;
@@ -120,6 +122,10 @@ public class MonsterViewModel extends ViewModel {
public LiveData<String> getSenses() {
return mSenses;
}
private MutableLiveData<String> mLanguages;
public LiveData<String> getLanguages() {
return mLanguages;
}
private Monster mMonster;
public void setMonster(Monster monster) {
@@ -142,5 +148,6 @@ public class MonsterViewModel extends ViewModel {
mDamageImmunities.setValue(mMonster.getDamageImmunitiesDescription());
mConditionImmunities.setValue(mMonster.getConditionImmunitiesDescription());
mSenses.setValue(monster.getSensesDescription());
mLanguages.setValue(mMonster.getLanguagesDescription());
}
}