Add material code and settings

This commit is contained in:
Kenta420 2023-10-06 15:33:10 +07:00
parent 36be0426f6
commit 498bcf1c24
9 changed files with 279 additions and 60 deletions

View file

@ -89,3 +89,49 @@ func (d *Data) GetRecipe(version string) models.Recipe {
func (d *Data) GetRecipe01() []models.Recipe01 {
return d.recipe.Recipe01
}
func (d *Data) GetMaterialSetting(version string) []models.MaterialSetting {
result := make([]models.MaterialSetting, 0)
if version == "" || version == d.CurrentVersion {
copy(result, d.recipe.MaterialSetting)
return result
}
d.CurrentVersion = version
d.recipe = readFile(version)
copy(result, d.recipe.MaterialSetting)
return result
}
func (d *Data) GetMaterialCode(ids []uint64, version string) []models.MaterialCode {
var result []models.MaterialCode
if version == "" || version == d.CurrentVersion {
result = d.recipe.MaterialCode
} else {
d.CurrentVersion = version
d.recipe = readFile(version)
result = d.recipe.MaterialCode
}
if len(ids) == 0 {
return result
}
resultFilter := make([]models.MaterialCode, len(ids))
for _, id := range ids {
if id == 0 {
continue
}
for _, m := range result {
if m.MaterialID == id {
resultFilter = append(resultFilter, m)
break
}
}
}
return resultFilter
}