36 lines
746 B
Go
36 lines
746 B
Go
package rtss_simulation
|
||
|
||
import (
|
||
"joylink.club/ecs"
|
||
"joylink.club/rtsssimulation/entity"
|
||
"joylink.club/rtsssimulation/modelrepo"
|
||
"joylink.club/rtsssimulation/repository"
|
||
"joylink.club/rtsssimulation/sys"
|
||
)
|
||
|
||
const (
|
||
// 仿真循环间隔,单位ms
|
||
RtssSimulationTick = 20
|
||
)
|
||
|
||
// 初始化仿真
|
||
func NewSimulation(repo *repository.Repository) (ecs.World, error) {
|
||
w := ecs.NewWorld(RtssSimulationTick)
|
||
sys.BindSystem(w)
|
||
err := entity.Load(w, repo)
|
||
return w, err
|
||
}
|
||
|
||
// 加载城轨仿真
|
||
func LoadCgSimulation(repo modelrepo.Repo) (ecs.World, error) {
|
||
w := ecs.NewWorld(RtssSimulationTick)
|
||
// 加载组件实体
|
||
err := entity.LoadCg(w, repo)
|
||
if err != nil {
|
||
return nil, err
|
||
}
|
||
// 加载系统
|
||
sys.BindSystem(w)
|
||
return w, err
|
||
}
|