mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-02-11 05:23:22 +08:00
53 lines
1.3 KiB
Java
53 lines
1.3 KiB
Java
|
package emu.grasscutter.game.battlepass;
|
||
|
|
||
|
import dev.morphia.annotations.Entity;
|
||
|
import dev.morphia.annotations.Transient;
|
||
|
import emu.grasscutter.data.GameData;
|
||
|
import emu.grasscutter.data.excels.BattlePassMissionData;
|
||
|
import emu.grasscutter.data.excels.BattlePassRewardData;
|
||
|
import emu.grasscutter.game.props.BattlePassMissionStatus;
|
||
|
import emu.grasscutter.net.proto.BattlePassRewardTagOuterClass.BattlePassRewardTag;
|
||
|
import emu.grasscutter.net.proto.BattlePassUnlockStatusOuterClass.BattlePassUnlockStatus;
|
||
|
|
||
|
@Entity
|
||
|
public class BattlePassReward {
|
||
|
private int level;
|
||
|
private int rewardId;
|
||
|
private boolean paid;
|
||
|
|
||
|
@Transient
|
||
|
private BattlePassMissionData data;
|
||
|
|
||
|
@Deprecated // Morphia only
|
||
|
public BattlePassReward() {}
|
||
|
|
||
|
public BattlePassReward(int level, int rewardId, boolean paid) {
|
||
|
this.level = level;
|
||
|
this.rewardId = rewardId;
|
||
|
this.paid = paid;
|
||
|
}
|
||
|
|
||
|
public int getLevel() {
|
||
|
return level;
|
||
|
}
|
||
|
|
||
|
public int getRewardId() {
|
||
|
return rewardId;
|
||
|
}
|
||
|
|
||
|
public boolean isPaid() {
|
||
|
return paid;
|
||
|
}
|
||
|
|
||
|
public BattlePassRewardTag toProto() {
|
||
|
var protoBuilder = BattlePassRewardTag.newBuilder();
|
||
|
|
||
|
protoBuilder
|
||
|
.setLevel(this.getLevel())
|
||
|
.setRewardId(this.getRewardId())
|
||
|
.setUnlockStatus(this.isPaid() ? BattlePassUnlockStatus.BATTLE_PASS_UNLOCK_STATUS_PAID : BattlePassUnlockStatus.BATTLE_PASS_UNLOCK_STATUS_FREE);
|
||
|
|
||
|
return protoBuilder.build();
|
||
|
}
|
||
|
}
|