Tower Dungeons Handoff between level and floor

This commit is contained in:
Akka
2022-05-07 00:11:54 +08:00
parent f683b222fc
commit b58bcda0c8
11 changed files with 257 additions and 30 deletions

View File

@@ -25,6 +25,7 @@ import emu.grasscutter.game.managers.MotionManager.MotionManager;
import emu.grasscutter.game.props.ActionReason;
import emu.grasscutter.game.props.EntityType;
import emu.grasscutter.game.props.PlayerProperty;
import emu.grasscutter.game.props.SceneType;
import emu.grasscutter.game.shop.ShopLimit;
import emu.grasscutter.game.managers.MapMarkManager.*;
import emu.grasscutter.game.tower.TowerManager;
@@ -1048,6 +1049,7 @@ public class Player {
@PostLoad
private void onLoad() {
this.getTeamManager().setPlayer(this);
this.getTowerManager().setPlayer(this);
}
public void save() {
@@ -1117,6 +1119,10 @@ public class Player {
}
public void onLogout() {
// force to leave the dungeon
if(getScene().getSceneType() == SceneType.SCENE_DUNGEON){
this.getServer().getDungeonManager().exitDungeon(this);
}
// Leave world
if (this.getWorld() != null) {
this.getWorld().removePlayer(this);