content: 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();
  	}
  }
  