moved skill feedback to skill event

This commit is contained in:
Sir Loading 2016-08-23 10:36:36 +02:00
parent bd2ec3e28e
commit f84abbae04
4 changed files with 18 additions and 16 deletions

View file

@ -2,6 +2,7 @@ package com.habitrpg.android.habitica.callbacks;
import com.habitrpg.android.habitica.events.SkillUsedEvent;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
import com.magicmicky.habitrpgwrapper.lib.models.Stats;
import com.magicmicky.habitrpgwrapper.lib.models.Skill;
import com.magicmicky.habitrpgwrapper.lib.models.responses.SkillResponse;
@ -26,6 +27,10 @@ public class SkillCallback implements Action1<SkillResponse> {
@Override
public void call(SkillResponse skillResponse) {
Double xp = this.user.getStats().getExp();
Double hp = this.user.getStats().getHp();
Double gold = this.user.getStats().getGp();
HabitRPGUser user = skillResponse.user;
if (user.getItems() != null) {
this.user.setItems(user.getItems());
@ -37,16 +42,13 @@ public class SkillCallback implements Action1<SkillResponse> {
this.user.setFlags(user.getFlags());
}
if (user.getStats() != null) {
usedSkill.xp = user.getStats().getExp() - this.user.getStats().getExp();
usedSkill.hp = user.getStats().getHp() - this.user.getStats().getHp();
usedSkill.gold = user.getStats().getGp() - this.user.getStats().getGp();
this.user.getStats().merge(user.getStats());
}
this.user.async().save();
callBack.onUserReceived(this.user);
EventBus.getDefault().post(new SkillUsedEvent(this.usedSkill, skillResponse.user.getStats().getMp()));
Stats stats = skillResponse.user.getStats();
EventBus.getDefault().post(new SkillUsedEvent(this.usedSkill, stats.getMp(), stats.getExp() - xp, stats.getHp() - hp, stats.getGp() - gold));
}
}

View file

@ -8,10 +8,13 @@ import com.magicmicky.habitrpgwrapper.lib.models.Skill;
public class SkillUsedEvent {
public Skill usedSkill;
public Double newMana;
public Double newMana, xp, hp, gold;
public SkillUsedEvent(Skill usedSkill, Double newMana) {
public SkillUsedEvent(Skill usedSkill, Double newMana, Double xp, Double hp, Double gold) {
this.usedSkill = usedSkill;
this.newMana = newMana;
this.xp = xp;
this.hp = hp;
this.gold = gold;
}
}

View file

@ -114,14 +114,14 @@ public class SkillsFragment extends BaseMainFragment {
adapter.setMana(event.newMana);
StringBuilder message = new StringBuilder();
message.append(activity.getString(R.string.used_skill, skill.text, skill.mana));
if (skill.xp != 0) {
message.append(" + ").append(round(skill.xp, 2)).append(" XP");
if (event.xp != 0) {
message.append(" + ").append(round(event.xp, 2)).append(" XP");
}
if (skill.hp != 0) {
message.append(" + ").append(round(skill.hp, 2)).append(" HP");
if (event.hp != 0) {
message.append(" + ").append(round(event.hp, 2)).append(" HP");
}
if (skill.gold != 0) {
message.append(" + ").append(round(skill.gold, 2)).append(" GP");
if (event.gold != 0) {
message.append(" + ").append(round(event.gold, 2)).append(" GP");
}
UiUtils.showSnackbar(activity, activity.getFloatingMenuWrapper(), message.toString(), UiUtils.SnackbarDisplayType.NORMAL);
apiHelper.apiService.getUser()

View file

@ -20,8 +20,5 @@ public class Skill extends BaseModel {
@Column
public Integer mana, lvl;
@Column
public Double xp, hp, gold;
}