runelite-api: add queueChangedSkill for queueing a skill change event

This commit is contained in:
Adam
2018-09-19 18:25:35 -04:00
parent 8293819e47
commit 2b27e2163c
4 changed files with 12 additions and 15 deletions

View File

@@ -1391,14 +1391,7 @@ public interface Client extends GameEngine
@VisibleForDevtools
int[] getSkillExperiences();
@VisibleForDevtools
int[] getChangedSkills();
@VisibleForDevtools
int getChangedSkillsCount();
@VisibleForDevtools
void setChangedSkillsCount(int i);
void queueChangedSkill(Skill skill);
/**
* Sets a mapping of sprites to override.

View File

@@ -225,10 +225,7 @@ public class DevToolsPlugin extends Plugin
client.getRealSkillLevels()[skill.ordinal()] = level;
client.getSkillExperiences()[skill.ordinal()] = totalXp;
int[] skills = client.getChangedSkills();
int count = client.getChangedSkillsCount();
skills[++count - 1 & 31] = skill.ordinal();
client.setChangedSkillsCount(count);
client.queueChangedSkill(skill);
ExperienceChanged experienceChanged = new ExperienceChanged();
experienceChanged.setSkill(skill);

View File

@@ -1243,4 +1243,14 @@ public abstract class RSClientMixin implements RSClient
{
RSClientMixin.lastItemDespawn = lastItemDespawn;
}
@Inject
@Override
public void queueChangedSkill(Skill skill)
{
int[] skills = client.getChangedSkills();
int count = client.getChangedSkillsCount();
skills[++count - 1 & 31] = skill.ordinal();
client.setChangedSkillsCount(count);
}
}

View File

@@ -135,15 +135,12 @@ public interface RSClient extends RSGameEngine, Client
int[] getSkillExperiences();
@Import("changedSkills")
@Override
int[] getChangedSkills();
@Import("changedSkillsCount")
@Override
int getChangedSkillsCount();
@Import("changedSkillsCount")
@Override
void setChangedSkillsCount(int i);
@Import("gameState")