8f982278d2
* add multimodule * re-package modules
38 lines
978 B
Go
38 lines
978 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"`
|
|
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}
|
|
}
|
|
}
|