@@ -0,0 +1,37 @@
|
||||
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"`
|
||||
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}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user