Deleting mail + a bit of cleanup

This commit is contained in:
Benjamin Elsdon
2022-04-25 14:30:56 +08:00
parent ced5fc38be
commit 15d1159509
7 changed files with 145 additions and 81 deletions

View File

@@ -1,5 +1,8 @@
package emu.grasscutter.game;
import java.time.Instant;
import java.util.*;
import dev.morphia.annotations.*;
import emu.grasscutter.GenshinConstants;
import emu.grasscutter.Grasscutter;
@@ -588,8 +591,9 @@ public class GenshinPlayer {
Mail message = getMailById(mailId);
if(message != null) {
this.mail.remove(message);
this.save();
int index = getMailIndex(message);
message.expireTime = (int) Instant.now().getEpochSecond(); // Just set the mail as expired for now. I don't want to implement a counter specifically for an account...
this.replaceMailByIndex(index, message);
return true;
}
@@ -604,9 +608,10 @@ public class GenshinPlayer {
return this.mail.indexOf(message);
}
public boolean replaceMailByIndex(int mailId, Mail message) {
if(getMailById(mailId) != null) {
this.mail.set(mailId, message);
public boolean replaceMailByIndex(int index, Mail message) {
if(getMailById(index) != null) {
this.mail.set(index, message);
this.save();
return true;
} else {
return false;