Add delta value between frames

This commit is contained in:
2022-10-24 06:42:58 -04:00
parent 987ef9502f
commit 9ccd2cf2cb
12 changed files with 32 additions and 23 deletions

View File

@ -13,8 +13,8 @@ type Camera2D struct {
renderer *rendering.Renderer2D
}
func (camera *Camera2D) Update() error {
if err := camera.Node2D.Update(); err != nil {
func (camera *Camera2D) Update(delta float64) error {
if err := camera.Node2D.Update(delta); err != nil {
return err
}

View File

@ -10,7 +10,7 @@ const (
type INode interface {
GetName() string
Update() error
Update(delta float64) error
ready(INode) error
IsProcessing() bool
GetProcessMode() ProcessMode

View File

@ -14,7 +14,7 @@ type Node struct {
processMode ProcessMode
onReadyMethods []func() error
onUpdateMethods []func() error
onUpdateMethods []func(float64) error
onDraw2dMethods []func(rendering.Renderer2D) error
}
@ -36,16 +36,16 @@ func (node *Node) OnReady(callback func() error) {
node.onReadyMethods = append(node.onReadyMethods, callback)
}
func (node *Node) Update() error {
func (node *Node) Update(delta float64) error {
for _, child := range node.children {
if err := child.Update(); err != nil {
if err := child.Update(delta); err != nil {
return err
}
}
if node.IsProcessing() {
for _, updateMethod := range node.onUpdateMethods {
if err := updateMethod(); err != nil {
if err := updateMethod(delta); err != nil {
return err
}
}
@ -54,7 +54,7 @@ func (node *Node) Update() error {
return nil
}
func (node *Node) OnUpdate(callback func() error) {
func (node *Node) OnUpdate(callback func(float64) error) {
if callback == nil {
return
}