...
1 package world
2
3 import "github.com/hajimehoshi/ebiten"
4
5
6 type Scene struct {
7 *Logic
8 }
9
10
11 func NewScene(updateFunc func(screen *ebiten.Image) error) *Scene {
12 return &Scene{NewLogic(updateFunc)}
13 }
14
15
16 func (n *Scene) SetNode(node Node) {
17 n.nodes = []Node{node}
18 }
19
20
21 func (n *Scene) SetNodes(nodes []Node) {
22 n.nodes = nodes
23 }
24
25
26 func (n *Scene) RemoveNode(node Node) {
27 for i, subNode := range n.nodes {
28 if subNode == node {
29 n.nodes = append(n.nodes[:i], n.nodes[i+1:]...)
30 return
31 }
32 }
33 }
34
35
36 func (n *Scene) Clear() {
37 n.nodes = nil
38 }
39
View as plain text