2021-09-12 00:25:10 +01:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
|
|
|
|
"codehub.onpointcoding.net/sean/go-susapp/enum"
|
|
|
|
)
|
|
|
|
|
|
|
|
type SettingsJSON struct {
|
2021-12-16 20:19:40 +00:00
|
|
|
PlayerName string `json:"PlayerName"`
|
|
|
|
PlayerColor byte `json:"PlayerColor"`
|
|
|
|
ServerAddress string `json:"ServerAddress"`
|
|
|
|
ServerPort int64 `json:"ServerPort"`
|
|
|
|
Language uint32 `json:"Language"`
|
|
|
|
QuickChatMode byte `json:"QuickChatMode"`
|
|
|
|
Debug DebugJSON `json:"Debug"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DebugJSON struct {
|
|
|
|
PlayerPosition bool `json:"PlayerPosition"`
|
|
|
|
PlayerCollision bool `json:"PlayerCollision"`
|
|
|
|
MapCollision bool `json:"MapCollision"`
|
|
|
|
DisableCollision bool `json:"DisableCollision"`
|
2021-09-12 00:25:10 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func UnmarshalSettings(data []byte) (SettingsJSON, error) {
|
|
|
|
var r SettingsJSON
|
|
|
|
err := json.Unmarshal(data, &r)
|
|
|
|
return r, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func (r *SettingsJSON) Marshal() ([]byte, error) {
|
|
|
|
return json.Marshal(r)
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewDefaultSettingsJSON() SettingsJSON {
|
|
|
|
return SettingsJSON{
|
|
|
|
PlayerName: "Player 1",
|
|
|
|
PlayerColor: 0,
|
|
|
|
ServerAddress: "localhost",
|
|
|
|
ServerPort: 22023,
|
|
|
|
Language: enum.GAMEKEYWORD_ALL,
|
|
|
|
QuickChatMode: enum.QUICK_CHAT_ONLY,
|
2021-12-16 20:19:40 +00:00
|
|
|
Debug: DebugJSON{
|
|
|
|
PlayerPosition: false,
|
|
|
|
PlayerCollision: false,
|
|
|
|
MapCollision: false,
|
|
|
|
DisableCollision: false,
|
|
|
|
},
|
2021-09-12 00:25:10 +01:00
|
|
|
}
|
|
|
|
}
|