186 lines
5.4 KiB
Go
186 lines
5.4 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
type SCUMProjectionSubject string
|
|
|
|
const (
|
|
SCUMProjectionSubjectPlayer SCUMProjectionSubject = "player"
|
|
SCUMProjectionSubjectLiveState SCUMProjectionSubject = "player-live-state"
|
|
SCUMProjectionSubjectSquad SCUMProjectionSubject = "squad"
|
|
SCUMProjectionSubjectMember SCUMProjectionSubject = "squad-member"
|
|
SCUMProjectionSubjectVehicle SCUMProjectionSubject = "vehicle"
|
|
SCUMProjectionSubjectFlag SCUMProjectionSubject = "flag"
|
|
SCUMProjectionSubjectPosition SCUMProjectionSubject = "position"
|
|
)
|
|
|
|
type SCUMProjectionFilter struct {
|
|
ServerInstanceID string
|
|
GamePlayerID string
|
|
GamePlayerRecordID string
|
|
UserProfileID string
|
|
SteamID string
|
|
SquadID string
|
|
VehicleID string
|
|
FlagID string
|
|
SubjectType SCUMProjectionSubject
|
|
QueryKey string
|
|
Freshness SCUMProjectionFreshness
|
|
Search string
|
|
Limit int
|
|
}
|
|
|
|
type SCUMPlayerLiveState struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
GamePlayerRecordID string
|
|
GamePlayerID string
|
|
UserProfileID string
|
|
SteamID string
|
|
DisplayName string
|
|
SquadID string
|
|
SquadName string
|
|
Online bool
|
|
FamePoints float64
|
|
NormalBalance float64
|
|
GoldBalance float64
|
|
LastLoginAt time.Time
|
|
LastLogoutAt time.Time
|
|
LastSaveTime time.Time
|
|
Position SCUMCurrentPosition
|
|
UnknownFields map[string]any
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type SCUMSquad struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
SquadID string
|
|
Name string
|
|
LeaderProfileID string
|
|
LeaderPlayerID string
|
|
MemberCount int
|
|
Score float64
|
|
UnknownFields map[string]any
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type SCUMSquadMember struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
SquadID string
|
|
UserProfileID string
|
|
GamePlayerRecordID string
|
|
GamePlayerID string
|
|
SteamID string
|
|
DisplayName string
|
|
Rank string
|
|
IsLeader bool
|
|
JoinedAt time.Time
|
|
UnknownFields map[string]any
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type SCUMVehicle struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
VehicleID string
|
|
EntityID string
|
|
ClassName string
|
|
Label string
|
|
OwnerProfileID string
|
|
OwnerPlayerID string
|
|
SquadID string
|
|
Position SCUMCurrentPosition
|
|
UnknownFields map[string]any
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type SCUMFlag struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
FlagID string
|
|
EntityID string
|
|
OwnerProfileID string
|
|
OwnerPlayerID string
|
|
OwnerSquadID string
|
|
OwnerSquadName string
|
|
OwnershipConfidence string
|
|
Position SCUMCurrentPosition
|
|
UnknownFields map[string]any
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
type SCUMCurrentPosition struct {
|
|
ID string
|
|
ServerInstanceID string
|
|
SubjectType SCUMProjectionSubject
|
|
SubjectID string
|
|
GamePlayerRecordID string
|
|
GamePlayerID string
|
|
VehicleID string
|
|
EntityID string
|
|
MapID string
|
|
MapVersion string
|
|
X float64
|
|
Y float64
|
|
Z float64
|
|
HasCoordinates bool
|
|
LastSaveTime time.Time
|
|
Freshness SCUMProjectionFreshnessState
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|
|
|
|
func SCUMProjectionStateUnknown() SCUMProjectionFreshnessState {
|
|
return SCUMProjectionFreshnessState{Status: SCUMProjectionUnknown}
|
|
}
|
|
|
|
func CopySCUMPlayerLiveState(value SCUMPlayerLiveState) SCUMPlayerLiveState {
|
|
value.Position = CopySCUMCurrentPosition(value.Position)
|
|
value.UnknownFields = CopyGameClientBridgePayload(value.UnknownFields)
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|
|
|
|
func CopySCUMSquad(value SCUMSquad) SCUMSquad {
|
|
value.UnknownFields = CopyGameClientBridgePayload(value.UnknownFields)
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|
|
|
|
func CopySCUMSquadMember(value SCUMSquadMember) SCUMSquadMember {
|
|
value.UnknownFields = CopyGameClientBridgePayload(value.UnknownFields)
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|
|
|
|
func CopySCUMVehicle(value SCUMVehicle) SCUMVehicle {
|
|
value.Position = CopySCUMCurrentPosition(value.Position)
|
|
value.UnknownFields = CopyGameClientBridgePayload(value.UnknownFields)
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|
|
|
|
func CopySCUMFlag(value SCUMFlag) SCUMFlag {
|
|
value.Position = CopySCUMCurrentPosition(value.Position)
|
|
value.UnknownFields = CopyGameClientBridgePayload(value.UnknownFields)
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|
|
|
|
func CopySCUMCurrentPosition(value SCUMCurrentPosition) SCUMCurrentPosition {
|
|
value.Freshness = CopySCUMProjectionFreshnessState(value.Freshness)
|
|
return value
|
|
}
|