players can send each other chat messages
parent
c3c07c97cf
commit
7a6172e511
@ -0,0 +1,30 @@
|
||||
package sim
|
||||
|
||||
import (
|
||||
"github.com/jordanorelli/astro-domu/internal/wire"
|
||||
)
|
||||
|
||||
type SendChatMessage struct {
|
||||
Text string `json:"text"`
|
||||
}
|
||||
|
||||
func (SendChatMessage) NetTag() string { return "chat/send-msg" }
|
||||
|
||||
func (m *SendChatMessage) exec(w *world, r *room, p *player, seq int) result {
|
||||
for _, p2 := range r.players {
|
||||
p2.outbox <- wire.Response{Body: ChatMessage{From: p.name, Text: m.Text}}
|
||||
}
|
||||
return result{reply: wire.OK{}}
|
||||
}
|
||||
|
||||
type ChatMessage struct {
|
||||
From string `json:"from"`
|
||||
Text string `json:"text"`
|
||||
}
|
||||
|
||||
func (ChatMessage) NetTag() string { return "chat/msg" }
|
||||
|
||||
func init() {
|
||||
wire.Register(func() wire.Value { return new(SendChatMessage) })
|
||||
wire.Register(func() wire.Value { return new(ChatMessage) })
|
||||
}
|
Loading…
Reference in New Issue