mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 16:52:26 +08:00
载具销毁请求处理
This commit is contained in:
@@ -119,6 +119,9 @@ func (g *GameManager) CombatInvocationsNotify(player *model.Player, payloadMsg p
|
|||||||
player.Rot.X = float64(motionInfo.Rot.X)
|
player.Rot.X = float64(motionInfo.Rot.X)
|
||||||
player.Rot.Y = float64(motionInfo.Rot.Y)
|
player.Rot.Y = float64(motionInfo.Rot.Y)
|
||||||
player.Rot.Z = float64(motionInfo.Rot.Z)
|
player.Rot.Z = float64(motionInfo.Rot.Z)
|
||||||
|
|
||||||
|
// 处理耐力消耗
|
||||||
|
g.ImmediateStamina(player, motionInfo.State)
|
||||||
} else {
|
} else {
|
||||||
// 非玩家实体在移动 更新场景实体的位置信息
|
// 非玩家实体在移动 更新场景实体的位置信息
|
||||||
sceneEntity.pos = &model.Vector{
|
sceneEntity.pos = &model.Vector{
|
||||||
@@ -131,17 +134,18 @@ func (g *GameManager) CombatInvocationsNotify(player *model.Player, payloadMsg p
|
|||||||
Y: float64(motionInfo.Rot.Y),
|
Y: float64(motionInfo.Rot.Y),
|
||||||
Z: float64(motionInfo.Rot.Z),
|
Z: float64(motionInfo.Rot.Z),
|
||||||
}
|
}
|
||||||
|
// 载具耐力消耗
|
||||||
|
if sceneEntity.gadgetEntity != nil && sceneEntity.gadgetEntity.gadgetVehicleEntity != nil {
|
||||||
|
// 处理耐力消耗
|
||||||
|
g.ImmediateStamina(player, motionInfo.State)
|
||||||
|
// 处理载具销毁请求
|
||||||
|
g.VehicleDestroyMotion(player, sceneEntity, motionInfo.State)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sceneEntity.moveState = uint16(motionInfo.State)
|
sceneEntity.moveState = uint16(motionInfo.State)
|
||||||
sceneEntity.lastMoveSceneTimeMs = entityMoveInfo.SceneTime
|
sceneEntity.lastMoveSceneTimeMs = entityMoveInfo.SceneTime
|
||||||
sceneEntity.lastMoveReliableSeq = entityMoveInfo.ReliableSeq
|
sceneEntity.lastMoveReliableSeq = entityMoveInfo.ReliableSeq
|
||||||
|
|
||||||
// 角色和载具的耐力消耗
|
|
||||||
if sceneEntity.avatarEntity != nil || (sceneEntity.gadgetEntity != nil && sceneEntity.gadgetEntity.gadgetVehicleEntity != nil) {
|
|
||||||
// 处理耐力消耗
|
|
||||||
g.ImmediateStamina(player, motionInfo.State)
|
|
||||||
}
|
|
||||||
|
|
||||||
player.CombatInvokeHandler.AddEntry(entry.ForwardType, entry)
|
player.CombatInvokeHandler.AddEntry(entry.ForwardType, entry)
|
||||||
case proto.CombatTypeArgument_COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED:
|
case proto.CombatTypeArgument_COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED:
|
||||||
evtAnimatorStateChangedInfo := new(proto.EvtAnimatorStateChangedInfo)
|
evtAnimatorStateChangedInfo := new(proto.EvtAnimatorStateChangedInfo)
|
||||||
|
|||||||
@@ -11,6 +11,17 @@ import (
|
|||||||
pb "google.golang.org/protobuf/proto"
|
pb "google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// VehicleDestroyMotion 载具销毁动作
|
||||||
|
func (g *GameManager) VehicleDestroyMotion(player *model.Player, entity *Entity, state proto.MotionState) {
|
||||||
|
world := WORLD_MANAGER.GetWorldByID(player.WorldId)
|
||||||
|
scene := world.GetSceneById(player.SceneId)
|
||||||
|
|
||||||
|
// 状态等于 MOTION_STATE_DESTROY_VEHICLE 代表请求销毁
|
||||||
|
if state == proto.MotionState_MOTION_STATE_DESTROY_VEHICLE {
|
||||||
|
g.DestroyVehicleEntity(player, scene, entity.gadgetEntity.gadgetVehicleEntity.vehicleId, entity.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// CreateVehicleReq 创建载具
|
// CreateVehicleReq 创建载具
|
||||||
func (g *GameManager) CreateVehicleReq(player *model.Player, payloadMsg pb.Message) {
|
func (g *GameManager) CreateVehicleReq(player *model.Player, payloadMsg pb.Message) {
|
||||||
req := payloadMsg.(*proto.CreateVehicleReq)
|
req := payloadMsg.(*proto.CreateVehicleReq)
|
||||||
|
|||||||
Reference in New Issue
Block a user