package main import ( "encoding/json" "tea.melonie54.xyz/sean/go-susapp/src/enum" ) type SettingsJSON struct { 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"` } 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, Debug: DebugJSON{ PlayerPosition: false, PlayerCollision: false, MapCollision: false, DisableCollision: false, }, } }