修改获取WorldData单例组件bug
This commit is contained in:
parent
fe214fd3bc
commit
4d914eb66e
@ -3,6 +3,7 @@ package entity
|
|||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/yohamta/donburi/filter"
|
||||||
"joylink.club/ecs"
|
"joylink.club/ecs"
|
||||||
"joylink.club/rtsssimulation/component"
|
"joylink.club/rtsssimulation/component"
|
||||||
"joylink.club/rtsssimulation/repository"
|
"joylink.club/rtsssimulation/repository"
|
||||||
@ -10,6 +11,9 @@ import (
|
|||||||
|
|
||||||
// 初始化世界数据
|
// 初始化世界数据
|
||||||
func LoadWorldData(w ecs.World, repo *repository.Repository) {
|
func LoadWorldData(w ecs.World, repo *repository.Repository) {
|
||||||
|
if repo == nil {
|
||||||
|
panic("repo不能为nil")
|
||||||
|
}
|
||||||
entry := w.Create(component.WorldDataType)
|
entry := w.Create(component.WorldDataType)
|
||||||
component.WorldDataType.Set(entry, &component.WorldData{
|
component.WorldDataType.Set(entry, &component.WorldData{
|
||||||
Repo: repo,
|
Repo: repo,
|
||||||
@ -18,8 +22,13 @@ func LoadWorldData(w ecs.World, repo *repository.Repository) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var query = ecs.NewQuery(filter.Contains(component.WorldDataType))
|
||||||
|
|
||||||
// 获取世界数据
|
// 获取世界数据
|
||||||
func GetWorldData(w ecs.World) *component.WorldData {
|
func GetWorldData(w ecs.World) *component.WorldData {
|
||||||
entry := component.WorldDataType.MustFirst(w)
|
entry, ok := query.First(w)
|
||||||
return component.WorldDataType.Get(entry)
|
if ok {
|
||||||
|
return component.WorldDataType.Get(entry)
|
||||||
|
}
|
||||||
|
panic("世界数据不存在")
|
||||||
}
|
}
|
||||||
|
10
examples/main.go
Normal file
10
examples/main.go
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
rtss_simulation "joylink.club/rtsssimulation"
|
||||||
|
"joylink.club/rtsssimulation/repository"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
rtss_simulation.NewSimulation(&repository.Repository{})
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user