示例#1
0
func addRoom(env cells.Environment, buildingName string, roomName string) {
	r := newRoom(roomName, buildingName, []string{"hell"})
	roomID := identifier.Identifier("room", buildingName, roomName)
	env.StartCell(roomID, r)

	paID := identifier.Identifier("building", buildingName, "pa")
	subscribe(env, paID, roomID)

	env.EmitNew(identifier.Identifier("building", buildingName), ROOM_ADDED, cells.PayloadValues{
		"room": roomID,
	}, nil)
}
示例#2
0
文件: room.go 项目: kung-foo/cellchat
func addLogUser(env cells.Environment, buildingName string, roomName string) {
	roomID := identifier.Identifier("room", buildingName, roomName)
	userID := makeUserID("logger")

	lu := &logUser{}
	lu.name = "logger"
	env.StartCell(userID, lu)

	subscribe(env, roomID, userID)

	env.EmitNew(roomID, "user-added", cells.PayloadValues{
		"user": userID,
	}, nil)
}
示例#3
0
文件: room.go 项目: kung-foo/cellchat
func addUser(env cells.Environment, buildingName string, roomName string, userName string) string {
	roomID := identifier.Identifier("room", buildingName, roomName)
	userID := makeUserID(userName)

	u := newUser(userName)
	env.StartCell(userID, u)

	subscribe(env, roomID, userID)

	env.EmitNew(roomID, USER_ADDED, cells.PayloadValues{
		"user": userID,
	}, nil)

	return userID
}
示例#4
0
func addBuilding(env cells.Environment, buildingName string) string {
	b := &building{
		name:  buildingName,
		rooms: make(map[string]bool),
	}
	buildingID := makeBuildingID(buildingName)
	env.StartCell(buildingID, b)

	pa := &publicAddress{interval: time.Second * 10}
	paID := identifier.Identifier("building", buildingName, "pa")
	env.StartCell(paID, pa)

	subscribe(env, paID, buildingID)

	return buildingID
}