Loggest thine Stuff
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.0 KiB

package items
import "git.aiterp.net/stufflog3/stufflog3/entities"
type Result struct {
entities.Item
Stats []ResultStat `json:"stats"`
}
func (r *Result) Stat(statID int) *ResultStat {
for _, stat := range r.Stats {
if stat.ID == statID {
return &stat
}
}
return nil
}
type ResultStat struct {
ID int `json:"id"`
Name string `json:"name"`
Weight float64 `json:"weight"`
Acquired int `json:"acquired"`
Required int `json:"required"`
}
func generateResult(item entities.Item, progresses []entities.ItemProgress, stats []entities.Stat) Result {
res := Result{
Item: item,
Stats: make([]ResultStat, 0, 8),
}
for _, prog := range progresses {
if prog.ItemID != item.ID {
continue
}
for _, stat := range stats {
if stat.ID == prog.StatID {
res.Stats = append(res.Stats, ResultStat{
ID: stat.ID,
Name: stat.Name,
Weight: stat.Weight,
Acquired: prog.Acquired,
Required: prog.Required,
})
break
}
}
}
return res
}