Documentation ¶
Index ¶
- Constants
- Variables
- func SocketEvConnectCode(s socketio.Conn, msg string) error
- func SocketEvLobby(s socketio.Conn, msg string) error
- func SocketEvPlayer(s socketio.Conn, msg interface{}) error
- func SocketEvState(s socketio.Conn, msg string) error
- func SocketServer()
- type AmongUsPlayerEvent
- type AuEventPlayer
- type AuEventState
- type AuEventType
- type AuPlayer
- type AuPlayerColor
- type AuPlayers
- func (auplayers AuPlayers) AddAuPlayer(name string) *AuPlayer
- func (auplayers AuPlayers) DeleteAuPlayer(name string)
- func (auplayers AuPlayers) GetAuPlayer(name string) *AuPlayer
- func (auplayers AuPlayers) Range() <-chan *AuPlayer
- func (auplayers AuPlayers) UpdateAuPlayer(name string, newName string)
- type ColorPlayer
- type DcUser
- type DcUsers
- func (dcusrs DcUsers) AddEntity(entity interface{})
- func (dcusrs DcUsers) GetEntity(id string) *DcUser
- func (dcusrs DcUsers) GetEntityId(name string) string
- func (dcusrs DcUsers) Mute(mute bool)
- func (dcusrs DcUsers) RemoveEntity(id string)
- func (dcusrs DcUsers) RenameEntity(id string, newName string)
- type GVarManagerT
- type Game
- func (game *Game) BeginChattingState()
- func (game *Game) BeginRound()
- func (game *Game) GetGameFromCode(code string) *Game
- func (game *Game) HandleAmongUsEvent(msg interface{}, evtType AuEventType)
- func (game *Game) HandleLobbyEvent(event string)
- func (game *Game) HandlePlayerEvent(event *AmongUsPlayerEvent)
- func (game *Game) HandleStateEvent(event AuEventState)
- func (game *Game) ResetGameState()
- type GameManager
- type GameManagerT
- type IAuPlayer
- type IGame
- type PlayerEntities
Constants ¶
View Source
const ( LOBBY AuEventType = "LOBBY" PLAYER = "PLAYER" STATE = "STATE" )
View Source
const ( LOBBYSTATE AuEventState = "0" LOBBYBEGINROUND = "2" LOBBYMENU = "3" )
Variables ¶
View Source
var GVarManager = NewGVarManager()
Functions ¶
func SocketEvLobby ¶
TODO: Reflexion : Refacto en une seule fonction (Je pense qu'il faut le faire)
func SocketEvPlayer ¶
func SocketServer ¶
func SocketServer()
Types ¶
type AmongUsPlayerEvent ¶
type AmongUsPlayerEvent struct { Action AuEventPlayer `json:"Action"` Name string `json:Name` IsDead bool `json:"IsDead"` Disconnected bool `json:"Disconnected"` Color ColorPlayer `json:"Color"` }
{"Action":4,"Name":"jejelaterr","IsDead":false,"Disconnected":false,"Color":7}
type AuEventState ¶
type AuEventState string
type AuEventType ¶
type AuEventType string
type AuPlayer ¶
func (*AuPlayer) ChangeColor ¶
func (player *AuPlayer) ChangeColor(color ColorPlayer) error
func (*AuPlayer) SetIsAlive ¶
type AuPlayerColor ¶
type AuPlayerColor int
type AuPlayers ¶
func NewAuPlayers ¶
func NewAuPlayers(playerEntities PlayerEntities) *AuPlayers
func (AuPlayers) AddAuPlayer ¶
func (AuPlayers) DeleteAuPlayer ¶
func (AuPlayers) GetAuPlayer ¶
func (AuPlayers) UpdateAuPlayer ¶
type DcUsers ¶
func NewDcUsers ¶
func NewDcUsers() DcUsers
func (DcUsers) GetEntityId ¶
func (DcUsers) RemoveEntity ¶
func (DcUsers) RenameEntity ¶
type GVarManagerT ¶
type GVarManagerT map[string]GameManager
func NewGVarManager ¶
func NewGVarManager() GVarManagerT
func (GVarManagerT) AddGvarManager ¶
func (gvar GVarManagerT) AddGvarManager(Id string, gamemanager GameManager) error
func (GVarManagerT) GetGameFromCode ¶
func (gvar GVarManagerT) GetGameFromCode(code string) IGame
Typiquement le val.(*GameManagerT) c'est pas ouf mais comme jai plusieurs Range method, je ne peux pas la mettre dans l'interface a cause du mock
type Game ¶
type Game struct { ChannelId string DcUsers DcUsers AuPlayers *AuPlayers CurrentPlayer int AuCaptureCode string }
TODO : fields to define
func (*Game) BeginChattingState ¶
func (game *Game) BeginChattingState()
func (*Game) BeginRound ¶
func (game *Game) BeginRound()
func (*Game) GetGameFromCode ¶
func (*Game) HandleAmongUsEvent ¶
func (game *Game) HandleAmongUsEvent(msg interface{}, evtType AuEventType)
Socket.go is calling this function It's the entry point from the socket part of the code.
func (*Game) HandleLobbyEvent ¶
-------- Socket handling 0 LOBYYY 1 debut de tour 2 fin de tour (speaking time) 3 menu
func (*Game) HandlePlayerEvent ¶
func (game *Game) HandlePlayerEvent(event *AmongUsPlayerEvent)
func (*Game) HandleStateEvent ¶
func (game *Game) HandleStateEvent(event AuEventState)
func (*Game) ResetGameState ¶
func (game *Game) ResetGameState()
type GameManager ¶
func NewGameManager ¶
func NewGameManager(Id string) GameManager
type GameManagerT ¶
func (*GameManagerT) AddGame ¶
func (gameman *GameManagerT) AddGame(gameId string)
func (*GameManagerT) DeleteGame ¶
func (gameman *GameManagerT) DeleteGame(gameId string)
func (*GameManagerT) Range ¶
func (gameman *GameManagerT) Range() <-chan IGame
type IGame ¶
type IGame interface { HandleAmongUsEvent(msg interface{}, evtType AuEventType) HandleLobbyEvent(event string) HandlePlayerEvent(event *AmongUsPlayerEvent) ResetGameState() BeginRound() BeginChattingState() GetGameFromCode(string) *Game }
func NewGame ¶
func NewGame(channelId string, playerEntities PlayerEntities) IGame
type PlayerEntities ¶
type PlayerEntities interface { GetEntityId(string) string Mute(bool) /* je remove cette fonction car je veux remove toutes les fonctions qui ne sont pas call par le monde exterieur */ // GetEntity(string) interface{} AddEntity(interface{}) RemoveEntity(string) }
This is the only interface that AuPlayer should know about Here this represent a discord user, but in reality this could be anything, like Slack user or msn user why not ;)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.