feat 结构调整
This commit is contained in:
62
Server/robot/internal/ws/handler.go
Normal file
62
Server/robot/internal/ws/handler.go
Normal file
@@ -0,0 +1,62 @@
|
||||
package ws
|
||||
|
||||
import (
|
||||
"common/log"
|
||||
"common/proto/sc/sc_pb"
|
||||
"google.golang.org/protobuf/proto"
|
||||
"math"
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
type EnterInstance struct {
|
||||
}
|
||||
|
||||
func (_ *EnterInstance) Handle(data []byte, client *Client) {
|
||||
msg := &sc_pb.S2C_EnterInstance{}
|
||||
if err := proto.Unmarshal(data, msg); err != nil {
|
||||
log.Errorf("handle msg error")
|
||||
client.Stop()
|
||||
return
|
||||
}
|
||||
|
||||
randDir := func() (float64, float64) {
|
||||
randX := float64(rand.Intn(201) - 100)
|
||||
randY := float64(rand.Intn(201) - 100)
|
||||
|
||||
var normalizedX, normalizedY float64
|
||||
if length := math.Sqrt(randX*randX + randY*randY); length > 0 {
|
||||
normalizedX = randX / length
|
||||
normalizedY = randY / length
|
||||
}
|
||||
|
||||
return normalizedX, normalizedY
|
||||
}
|
||||
|
||||
go func() {
|
||||
for {
|
||||
x, y := randDir()
|
||||
_ = client.WriteMessage(sc_pb.MessageID_MESSAGE_ID_ACTION, &sc_pb.C2S_Action{
|
||||
Sequence: 0,
|
||||
Timestamp: 0,
|
||||
Action: sc_pb.ActionID_ACTION_ID_MOVE,
|
||||
DirX: int32(x * 100),
|
||||
DirY: int32(y * 100),
|
||||
SkillID: 0,
|
||||
})
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
type Position struct {
|
||||
}
|
||||
|
||||
func (_ *Position) Handle(data []byte, client *Client) {
|
||||
msg := &sc_pb.S2C_Position{}
|
||||
if err := proto.Unmarshal(data, msg); err != nil {
|
||||
log.Errorf("handle msg error")
|
||||
client.Stop()
|
||||
return
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user