Beispiel #1
0
func (ds *DeathSystem) New() {
	ds.System = engi.NewSystem()
	// Subscribe to ScoreMessage
	engi.Mailbox.Listen("ScoreMessage", func(message engi.Message) {
		collision, isCollision := message.(engi.CollisionMessage)
		if isCollision {
			log.Println(collision, message)
			log.Println("DEAD")
		}
	})

}
Beispiel #2
0
func (ms *SpeedSystem) New() {
	ms.System = engi.NewSystem()
	engi.Mailbox.Listen("CollisionMessage", func(message engi.Message) {
		log.Println("collision")
		collision, isCollision := message.(engi.CollisionMessage)
		if isCollision {
			var speed *SpeedComponent
			if !collision.Entity.Component(&speed) {
				return
			}

			speed.X *= -1
		}
	})
}
Beispiel #3
0
func (sc *ScoreSystem) New() {
	sc.upToDate = true
	sc.System = engi.NewSystem()
	engi.Mailbox.Listen("ScoreMessage", func(message engi.Message) {
		scoreMessage, isScore := message.(ScoreMessage)
		if !isScore {
			return
		}

		sc.scoreLock.Lock()
		if scoreMessage.Player != 1 {
			sc.PlayerOneScore += 1
		} else {
			sc.PlayerTwoScore += 1
		}
		log.Println("The score is now", sc.PlayerOneScore, "vs", sc.PlayerTwoScore)
		sc.upToDate = false
		sc.scoreLock.Unlock()
	})
}
Beispiel #4
0
func (rock *RockSpawnSystem) New() {
	rock.System = engi.NewSystem()
}
Beispiel #5
0
func (control *ControlSystem) New() {
	control.System = engi.NewSystem()
}
Beispiel #6
0
func (fs *FallingSystem) New() {
	fs.System = engi.NewSystem()
	//engi.Mailbox.Listen("CollisionMessage", fs)

}
Beispiel #7
0
func (c *ControlSystem) New() {
	c.System = engi.NewSystem()
}
Beispiel #8
0
func (bs *BallSystem) New() {
	bs.System = engi.NewSystem()
}
Beispiel #9
0
func (s *HideSystem) New() {
	s.System = engi.NewSystem()
}
Beispiel #10
0
func (s *ScaleSystem) New() {
	s.System = engi.NewSystem()
}