66 lines
1.2 KiB
Go
66 lines
1.2 KiB
Go
|
|
package model
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_STAGE_NULL = 0
|
||
|
|
LIVEROOM_STAGE_IDLE = 1
|
||
|
|
LIVEROOM_STAGE_READY = 2
|
||
|
|
LIVEROOM_STAGE_SHOW = 3
|
||
|
|
LIVEROOM_STAGE_RESULT = 4
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_STAGE_IDLE_TIMER = 0
|
||
|
|
LIVEROOM_STAGE_SHOW_READY_TIMER = 15
|
||
|
|
LIVEROOM_STAGE_SHOWING_TIMER = 30
|
||
|
|
LIVEROOM_STAGE_SHOW_END_TIMER = 5
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_TYPE_CARD = 1
|
||
|
|
LIVEROOM_TYPE_SELL = 2
|
||
|
|
LIVEROOM_TYPE_ANSWER = 3
|
||
|
|
LIVEROOM_TYPE_GAME = 4
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_CARD_MAX_READY_NUM = 5
|
||
|
|
LIVEROOM_SELL_MAX_READY_NUM = 100
|
||
|
|
LIVEROOM_ANSWER_MAX_READY_NUM = 100
|
||
|
|
LIVEROOM_GAME_MAX_READY_NUM = 100
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_MAX_PLAYER_NUM = 1000
|
||
|
|
LIVEROOM_TICK_INTERVAL = 1000
|
||
|
|
)
|
||
|
|
|
||
|
|
const (
|
||
|
|
LIVEROOM_CMD_TALK = 1
|
||
|
|
LIVEROOM_CMD_PLAY = 2
|
||
|
|
)
|
||
|
|
|
||
|
|
// 泛型按值删除
|
||
|
|
func SliceRemoveByValue[T comparable](slice []T, value T) []T {
|
||
|
|
result := slice[:0]
|
||
|
|
for _, v := range slice {
|
||
|
|
if v != value {
|
||
|
|
result = append(result, v)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return truncateSlice(result)
|
||
|
|
}
|
||
|
|
|
||
|
|
// 截断切片容量,避免内存泄漏
|
||
|
|
func truncateSlice[T any](slice []T) []T {
|
||
|
|
return slice[:len(slice):len(slice)]
|
||
|
|
}
|
||
|
|
|
||
|
|
func SliceIsExist[T comparable](slice []T, value T) bool {
|
||
|
|
for _, v := range slice {
|
||
|
|
if v == value {
|
||
|
|
return true
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return false
|
||
|
|
}
|