mirror of
				https://github.com/yeslayla/golang-game-framework.git
				synced 2025-11-04 08:43:06 +01:00 
			
		
		
		
	Add delta value between frames
				
					
				
			This commit is contained in:
		@ -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
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@ const (
 | 
			
		||||
 | 
			
		||||
type INode interface {
 | 
			
		||||
	GetName() string
 | 
			
		||||
	Update() error
 | 
			
		||||
	Update(delta float64) error
 | 
			
		||||
	ready(INode) error
 | 
			
		||||
	IsProcessing() bool
 | 
			
		||||
	GetProcessMode() ProcessMode
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								node/node.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								node/node.go
									
									
									
									
									
								
							@ -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
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user