2023-08-04 13:15:42 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"joylink.club/ecs"
|
|
|
|
system "joylink.club/ecs/examples/rtss/sys"
|
|
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
start := time.Now()
|
|
|
|
for i := 0; i < 10; i++ {
|
|
|
|
|
|
|
|
w := ecs.NewWorld(20)
|
|
|
|
turnoutSys := system.NewTurnoutSys()
|
|
|
|
w.AddSystem(turnoutSys)
|
|
|
|
idcomp := ecs.IdComp
|
|
|
|
entities := w.CreateMany(10, idcomp, system.TurnoutStateComp)
|
2023-08-04 16:56:36 +08:00
|
|
|
for i, entry := range entities {
|
2023-08-04 13:15:42 +08:00
|
|
|
idcomp.SetValue(entry, ecs.Id(fmt.Sprintf("%d", i)))
|
|
|
|
var db bool
|
|
|
|
var fb bool
|
|
|
|
if i%2 == 0 {
|
|
|
|
db = true
|
|
|
|
} else {
|
|
|
|
fb = true
|
|
|
|
}
|
|
|
|
system.TurnoutStateComp.SetValue(entry, system.TurnoutState{Db: db, Fb: fb})
|
|
|
|
}
|
|
|
|
// tet := ecs.NewEventType[TestEvent](w)
|
|
|
|
// tet.Subscribe()
|
|
|
|
w.StartUp()
|
|
|
|
go func() {
|
|
|
|
for i := 0; i < 10; i++ {
|
|
|
|
system.DingCao(w, "3")
|
|
|
|
time.Sleep(200 * time.Millisecond)
|
|
|
|
}
|
|
|
|
}()
|
|
|
|
}
|
|
|
|
dt := time.Duration(time.Now().Nanosecond() - start.Nanosecond())
|
|
|
|
fmt.Println("执行耗时", dt)
|
|
|
|
time.Sleep(5 * time.Second)
|
|
|
|
}
|