@hastearcade/snowglobe
Version:
A TypeScript port of CrystalOrb, a high-level Rust game networking library
39 lines • 1.06 kB
JavaScript
var OldNewState;
(function (OldNewState) {
OldNewState[OldNewState["LeftOldRightNew"] = 0] = "LeftOldRightNew";
OldNewState[OldNewState["LeftNewRightOld"] = 1] = "LeftNewRightOld";
})(OldNewState || (OldNewState = {}));
export class OldNew {
left;
right;
state = OldNewState.LeftNewRightOld;
constructor(left, right) {
this.left = left;
this.right = right;
}
setNew(value) {
if (this.state === OldNewState.LeftNewRightOld) {
this.left = value;
}
else {
this.right = value;
}
}
get() {
if (this.state === OldNewState.LeftNewRightOld) {
return { old: this.right, new: this.left };
}
else {
return { old: this.left, new: this.right };
}
}
swap() {
if (this.state === OldNewState.LeftNewRightOld) {
this.state = OldNewState.LeftOldRightNew;
}
else {
this.state = OldNewState.LeftNewRightOld;
}
}
}
//# sourceMappingURL=old_new.js.map