feat 网关鉴权

This commit is contained in:
2025-12-22 18:04:36 +08:00
parent 69cc960fe5
commit 670140e7d3
68 changed files with 1424 additions and 492 deletions

View File

@@ -20,7 +20,7 @@ import (
// Instance 场景类
type Instance struct {
wg sync.WaitGroup
players map[int32]*npc.PlayerNode // 存储所有玩家节点 [uid]
players map[int64]*npc.PlayerNode // 存储所有玩家节点 [usn]
ctx context.Context // 停止指令
cancel context.CancelFunc // 停止函数
logger *zap.SugaredLogger // 日志
@@ -35,7 +35,7 @@ type Instance struct {
// NewScene 初始化场景
func NewScene(sid int64, instanceID int32) *Instance {
s := &Instance{
players: make(map[int32]*npc.PlayerNode),
players: make(map[int64]*npc.PlayerNode),
SID: sid,
InstanceID: instanceID,
UniqueNo: utils.SnowflakeInstance().Generate().Int64(),
@@ -91,13 +91,13 @@ func (i *Instance) Start(ttl int64) {
func (i *Instance) onEvent(e proto.Message) {
switch v := e.(type) {
case *grpc_pb.EnterReq:
i.players[v.UID] = npc.NewPlayerNode(v.GatewaySID, v.UID)
i.players[v.USN] = npc.NewPlayerNode(v.GatewaySID, v.USN)
case *grpc_pb.ActionReq:
if node, ok := i.players[v.UID]; ok {
if node, ok := i.players[v.USN]; ok {
node.AddAction(v)
}
case *grpc_pb.LeaveReq:
delete(i.players, v.UID)
delete(i.players, v.USN)
}
}
@@ -109,7 +109,7 @@ func (i *Instance) onLogic(delta int64) {
for _, node := range i.players {
if node.LogicAction(delta) {
positionUpdate = append(positionUpdate, &sc_pb.PositionInfo{
UID: int32(node.UID),
USN: node.USN,
X: int32(node.Position[0] * 100),
Y: int32(node.Position[1] * 100),
})
@@ -121,7 +121,7 @@ func (i *Instance) onLogic(delta int64) {
Info: positionUpdate,
})
if err := stream_client.SendMessageToGateway(sid, stream_client.FunToClient, &grpc_pb.ToClientReq{
UID: -1,
USN: -1,
MessageID: int32(sc_pb.MessageID_MESSAGE_ID_POSITION),
Payload: payload,
}); err != nil {