Files
esdi/providers/beamng/beamng.go
T

45 lines
878 B
Go

package beamng
import (
"fmt"
"github.com/ESilva15/gobngsdk"
)
// This will implement the GameSink interface from the main package
type BeamNG struct {
SDK *bngsdk.BNGSDK
}
const (
NAME = "BeamNG.Drive"
)
func Init(ip string, port int) (BeamNG, error) {
var err error
sdk, err := bngsdk.Init(ip, port)
if err != nil {
return BeamNG{}, err
}
return BeamNG{SDK: &sdk}, nil
}
// GetData will retrieve a given field by its name from the OutGauge data
func (b *BeamNG) GetData(fieldName string) (interface{}, error) {
if val, ok := b.SDK.DataDict[fieldName]; ok {
return val, nil
}
return nil, fmt.Errorf("key `%s` doesn't exist", fieldName)
}
func (b *BeamNG) UpdateData() error {
return b.SDK.ReadData()
}
func (b *BeamNG) GetSessionInfo() (interface{}, error) {
return nil, fmt.Errorf("Not implemented")
}