mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-15 06:45:04 +01:00
Refactor GameAvatar
This commit is contained in:
@@ -32,6 +32,7 @@ import emu.lunarcore.proto.SceneEntityInfoOuterClass.SceneEntityInfo;
|
|||||||
import emu.lunarcore.proto.SpBarInfoOuterClass.SpBarInfo;
|
import emu.lunarcore.proto.SpBarInfoOuterClass.SpBarInfo;
|
||||||
import emu.lunarcore.proto.VectorOuterClass.Vector;
|
import emu.lunarcore.proto.VectorOuterClass.Vector;
|
||||||
import emu.lunarcore.server.packet.send.PacketPlayerSyncScNotify;
|
import emu.lunarcore.server.packet.send.PacketPlayerSyncScNotify;
|
||||||
|
import emu.lunarcore.util.Position;
|
||||||
import it.unimi.dsi.fastutil.ints.*;
|
import it.unimi.dsi.fastutil.ints.*;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -118,6 +119,16 @@ public class GameAvatar implements GameEntity {
|
|||||||
this.entityId = entityId;
|
this.entityId = entityId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Position getPos() {
|
||||||
|
return this.getOwner().getPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Position getRot() {
|
||||||
|
return this.getOwner().getRot();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isHero() {
|
public boolean isHero() {
|
||||||
return GameData.getHeroExcelMap().containsKey(this.getAvatarId());
|
return GameData.getHeroExcelMap().containsKey(this.getAvatarId());
|
||||||
}
|
}
|
||||||
@@ -269,7 +280,7 @@ public class GameAvatar implements GameEntity {
|
|||||||
public SceneEntityInfo toSceneEntityProto() {
|
public SceneEntityInfo toSceneEntityProto() {
|
||||||
var proto = SceneEntityInfo.newInstance()
|
var proto = SceneEntityInfo.newInstance()
|
||||||
.setEntityId(this.getEntityId())
|
.setEntityId(this.getEntityId())
|
||||||
.setMotion(MotionInfo.newInstance().setPos(getOwner().getPos().toProto()).setRot(getOwner().getRot().toProto()))
|
.setMotion(MotionInfo.newInstance().setPos(this.getPos().toProto()).setRot(this.getRot().toProto()))
|
||||||
.setActor(SceneActorInfo.newInstance().setBaseAvatarId(this.getAvatarId()).setAvatarType(AvatarType.AVATAR_FORMAL_TYPE));
|
.setActor(SceneActorInfo.newInstance().setBaseAvatarId(this.getAvatarId()).setAvatarType(AvatarType.AVATAR_FORMAL_TYPE));
|
||||||
|
|
||||||
return proto;
|
return proto;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package emu.lunarcore.game.scene.entity;
|
|||||||
|
|
||||||
import emu.lunarcore.game.scene.Scene;
|
import emu.lunarcore.game.scene.Scene;
|
||||||
import emu.lunarcore.proto.SceneEntityInfoOuterClass.SceneEntityInfo;
|
import emu.lunarcore.proto.SceneEntityInfoOuterClass.SceneEntityInfo;
|
||||||
|
import emu.lunarcore.util.Position;
|
||||||
|
|
||||||
public interface GameEntity {
|
public interface GameEntity {
|
||||||
|
|
||||||
@@ -11,6 +12,10 @@ public interface GameEntity {
|
|||||||
|
|
||||||
public Scene getScene();
|
public Scene getScene();
|
||||||
|
|
||||||
|
public Position getPos();
|
||||||
|
|
||||||
|
public Position getRot();
|
||||||
|
|
||||||
public default int getGroupId() {
|
public default int getGroupId() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user