DaanVanYperen / artemis-odb-contrib

Drop-in extensions for artemis-odb. Prefab systems, components, networking, events!
MIT License
75 stars 19 forks source link

[Systems] Interval system with proper delta #48

Closed DaanVanYperen closed 9 years ago

DaanVanYperen commented 10 years ago

https://github.com/junkdog/artemis-odb/issues/191

JesseTG commented 10 years ago

What's so improper about what currently exists, if I may ask?

junkdog commented 10 years ago

The current one doesn't tell you how much overdue processing is, ie: when the entities are processed you can't tell how much time has really passed in regards to the requested interval. Makes interpolations difficult.

Ofc, DelayedEntityProcessingSystem is an even bigger mess, but I've never used it myself -> I tend to repress it.

Namek commented 10 years ago

Well, what bugs me with DelayedEntityProcessingSystem is that I can't use my custom delta. I have class GlobalTime where I do get all delta times from. Since I do not use world.delta it's always 0 and so the ExpirationSystem doesn't actually progress.

Are you going to implement it such way that I could provide custom time deltas?

DaanVanYperen commented 9 years ago

@Namek would it be possible to instead set world.delta = GlobalTime.delta; before process is run? That's how I typically set a custom delta in Artemis.

Namek commented 9 years ago

No?

DaanVanYperen commented 9 years ago

I mean, can you give some insight into your particular use case that makes that impossible.

Namek commented 9 years ago

Sometimes I want to pause the game but not really entirely. That's why I needed to customize flow time per system.

DaanVanYperen commented 9 years ago

Makes sense!

DaanVanYperen commented 9 years ago

@junkdog already covered in 2014! :D