This commit is contained in:
Light2
2013-12-15 02:15:20 +01:00
8 changed files with 126 additions and 2 deletions
@@ -56,6 +56,7 @@ public class PlayerObject extends IntangibleObject {
private int totalPlayTime = 0;
private byte[] collections = new byte[] { };
private int highestSetBit = 0;
private int flagBitmask = 0;
// PLAY 6
@@ -658,4 +659,38 @@ public class PlayerObject extends IntangibleObject {
}
}
public int getFlagBitmask() {
synchronized(objectMutex) {
return flagBitmask;
}
}
public void setFlagBitmask(int flagBitmask) {
synchronized(objectMutex) {
this.flagBitmask |= flagBitmask;
}
if (getContainer() != null) {
getContainer().notifyObservers(messageBuilder.buildFlagBitmask(this.flagBitmask), true);
}
}
public void clearFlagBitmask(int flagBitmask) {
synchronized(objectMutex) {
// set flag bitmask to 0
this.flagBitmask &= ~flagBitmask;
}
if (getContainer() != null) {
getContainer().notifyObservers(messageBuilder.buildFlagBitmask(this.flagBitmask), true);
}
}
public void toggleFlag(int flag) {
if ((this.flagBitmask & flag) == flag) {
clearFlagBitmask(flag);
} else {
setFlagBitmask(flag);
}
}
}