cmd: create/delete science

This commit is contained in:
Ilia Denisov
2025-10-01 14:30:36 +03:00
parent bcab29a47f
commit 2295840efe
9 changed files with 385 additions and 155 deletions
+35
View File
@@ -0,0 +1,35 @@
package game
import "github.com/iliadenisov/galaxy/pkg/model/game"
func CreateScience(configure func(*Param), race, typeName string, drive, weapons, shields, cargo float64) (err error) {
control(configure, func(c *ctrl) {
c.execute(func(r Repo, g game.Game) {
err = createScience(r, g, race, typeName, drive, weapons, shields, cargo)
})
})
return
}
func createScience(r Repo, g game.Game, race, typeName string, d, w, s, c float64) error {
if err := g.CreateScience(race, typeName, d, w, s, c); err != nil {
return err
}
return r.SaveState(g)
}
func DeleteScience(configure func(*Param), race, typeName string) (err error) {
control(configure, func(c *ctrl) {
c.execute(func(r Repo, g game.Game) {
err = deleteScience(r, g, race, typeName)
})
})
return
}
func deleteScience(r Repo, g game.Game, race, typeName string) error {
if err := g.DeleteScience(race, typeName); err != nil {
return err
}
return r.SaveState(g)
}