Files
galaxy-game/internal/model/game/production.go
T
2026-02-05 21:37:15 +03:00

38 lines
1004 B
Go

package game
import (
"github.com/google/uuid"
)
type ProductionType string
const (
ProductionNone ProductionType = "-"
ProductionMaterial ProductionType = "MAT" // Сырьё
ProductionCapital ProductionType = "CAP" // Промышленность
ResearchDrive ProductionType = "DRIVE"
ResearchWeapons ProductionType = "WEAPONS"
ResearchShields ProductionType = "SHIELDS"
ResearchCargo ProductionType = "CARGO"
ResearchScience ProductionType = "SCIENCE"
ProductionShip ProductionType = "SHIP"
)
type Production struct {
Type ProductionType `json:"type"`
SubjectID *uuid.UUID `json:"subjectId,omitempty"` // TODO: get rid of Nils?
Progress *Float `json:"progress,omitempty"`
ProdUsed *Float `json:"prodUsed,omitempty"`
}
func (p ProductionType) AsType(subject uuid.UUID) Production {
switch p {
case ResearchScience, ProductionShip:
return Production{Type: p, SubjectID: &subject}
default:
return Production{Type: p, SubjectID: nil}
}
}