ui calculator
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
package client
|
||||
|
||||
import (
|
||||
"galaxy/client/world"
|
||||
"galaxy/model/report"
|
||||
)
|
||||
|
||||
const (
|
||||
entityClassUnknown int = iota - 1
|
||||
entityClassLocalPlanet
|
||||
entityClassOthersPlanet
|
||||
entityClassFreePlanet
|
||||
entityClassUnidentifiedPlanet
|
||||
)
|
||||
|
||||
type registry struct {
|
||||
report *report.Report
|
||||
localPlanetIndex map[world.PrimitiveID]int
|
||||
unidentifiedPlanetIndex map[world.PrimitiveID]int
|
||||
}
|
||||
|
||||
func newRegistry() *registry {
|
||||
return ®istry{
|
||||
localPlanetIndex: make(map[world.PrimitiveID]int),
|
||||
unidentifiedPlanetIndex: make(map[world.PrimitiveID]int),
|
||||
}
|
||||
}
|
||||
|
||||
func (r *registry) clear(report *report.Report) {
|
||||
r.report = report
|
||||
clear(r.localPlanetIndex)
|
||||
clear(r.unidentifiedPlanetIndex)
|
||||
}
|
||||
|
||||
func (r *registry) entityClass(id world.PrimitiveID) int {
|
||||
if r.isLocalPlanet(id) {
|
||||
return entityClassLocalPlanet
|
||||
}
|
||||
if r.isUnidentifiedPlanet(id) {
|
||||
return entityClassUnidentifiedPlanet
|
||||
}
|
||||
return entityClassUnknown
|
||||
}
|
||||
|
||||
func (r *registry) registerLocalPlanet(id world.PrimitiveID, index int) {
|
||||
r.localPlanetIndex[id] = index
|
||||
}
|
||||
|
||||
func (r *registry) isLocalPlanet(id world.PrimitiveID) bool {
|
||||
_, ok := r.localPlanetIndex[id]
|
||||
return ok
|
||||
}
|
||||
|
||||
func (r *registry) localPlanet(id world.PrimitiveID) (*report.LocalPlanet, bool) {
|
||||
i, ok := r.localPlanetIndex[id]
|
||||
if !ok {
|
||||
return nil, false
|
||||
}
|
||||
if i > len(r.report.LocalPlanet)-1 {
|
||||
return nil, false
|
||||
}
|
||||
return &r.report.LocalPlanet[i], true
|
||||
}
|
||||
|
||||
func (r *registry) registerUnidentifiedPlanet(id world.PrimitiveID, index int) {
|
||||
r.unidentifiedPlanetIndex[id] = index
|
||||
}
|
||||
|
||||
func (r *registry) isUnidentifiedPlanet(id world.PrimitiveID) bool {
|
||||
_, ok := r.unidentifiedPlanetIndex[id]
|
||||
return ok
|
||||
}
|
||||
|
||||
func (c *client) createShipClass(n string, D float64, A uint, W float64, S float64, C float64) {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user