mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-19 18:34:49 +01:00
fix: mail
This commit is contained in:
@@ -6,13 +6,14 @@ import dev.morphia.annotations.Indexed;
|
||||
import dev.morphia.annotations.Transient;
|
||||
import emu.grasscutter.database.DatabaseHelper;
|
||||
import emu.grasscutter.game.player.Player;
|
||||
import emu.grasscutter.net.proto.*;
|
||||
import emu.grasscutter.utils.Utils;
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bson.types.ObjectId;
|
||||
|
||||
@Entity(value = "mail", useDiscriminator = false)
|
||||
public class Mail {
|
||||
@Id private ObjectId id;
|
||||
@@ -51,18 +52,32 @@ public class Mail {
|
||||
}
|
||||
|
||||
public ObjectId getId() {
|
||||
return id;
|
||||
}
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getOwnerUid() {
|
||||
return ownerUid;
|
||||
}
|
||||
public int getOwnerUid() {
|
||||
return ownerUid;
|
||||
}
|
||||
|
||||
public void setOwnerUid(int ownerUid) {
|
||||
this.ownerUid = ownerUid;
|
||||
}
|
||||
public void setOwnerUid(int ownerUid) {
|
||||
this.ownerUid = ownerUid;
|
||||
}
|
||||
|
||||
@Entity
|
||||
public MailDataOuterClass.MailData toProto(Player player) {
|
||||
return MailDataOuterClass.MailData.newBuilder()
|
||||
.setMailId(player.getMailId(this))
|
||||
.setMailTextContent(this.mailContent.toProto())
|
||||
.addAllItemList(this.itemList.stream().map(MailItem::toProto).toList())
|
||||
.setSendTime((int) this.sendTime)
|
||||
.setExpireTime((int) this.expireTime)
|
||||
.setImportance(this.importance)
|
||||
.setIsRead(this.isRead)
|
||||
.setIsAttachmentGot(this.isAttachmentGot)
|
||||
.setCollectState(MailCollectStateOuterClass.MailCollectState.MAIL_COLLECT_STATE_NOT_COLLECTIBLE)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Entity
|
||||
public static class MailContent {
|
||||
public String title;
|
||||
public String content;
|
||||
@@ -87,6 +102,14 @@ public class Mail {
|
||||
this.content = content;
|
||||
this.sender = sender;
|
||||
}
|
||||
|
||||
public MailTextContentOuterClass.MailTextContent toProto() {
|
||||
return MailTextContentOuterClass.MailTextContent.newBuilder()
|
||||
.setTitle(this.title)
|
||||
.setContent(this.content)
|
||||
.setSender(this.sender)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@Entity
|
||||
@@ -105,13 +128,25 @@ public class Mail {
|
||||
this(itemId, 1);
|
||||
}
|
||||
|
||||
public MailItem(int itemId, int itemCount) { this(itemId, itemCount, 1); }
|
||||
public MailItem(int itemId, int itemCount) {
|
||||
this(itemId, itemCount, 1);
|
||||
}
|
||||
|
||||
public MailItem(int itemId, int itemCount, int itemLevel) {
|
||||
this.itemId = itemId;
|
||||
this.itemCount = itemCount;
|
||||
this.itemLevel = itemLevel;
|
||||
}
|
||||
|
||||
public MailItemOuterClass.MailItem toProto() {
|
||||
return MailItemOuterClass.MailItem.newBuilder()
|
||||
.setEquipParam(Utils.make(() -> EquipParamOuterClass.EquipParam.newBuilder()
|
||||
.setItemId(this.itemId)
|
||||
.setItemNum(this.itemCount)
|
||||
.setItemLevel(this.itemLevel)
|
||||
.setPromoteLevel(0)//mock
|
||||
.build())).build();
|
||||
}
|
||||
}
|
||||
|
||||
public void save() {
|
||||
|
||||
Reference in New Issue
Block a user