コード例 #1
0
func Test_Camera_AddComponent(t *testing.T) {
	camera := NewCamera()
	input := new(components.Input)
	camera.AddComponent(input)

	assert.Equal(t, input, components.GetInput(camera.Entity))
}
コード例 #2
0
ファイル: input.go プロジェクト: jasonroelofs/slartibartfast
// TearDownEntity :: EntityListener
func (self *Input) TearDownEntity(entity *core.Entity) {
	input := components.GetInput(entity)

	if input.WantsPolling() {
		self.inputQueue.UnpollEvents(input.Polling)
	}
}
コード例 #3
0
ファイル: input.go プロジェクト: jasonroelofs/slartibartfast
func (self *Input) Update(deltaT float32) {
	var input *components.Input
	nextEvents := self.inputQueue.RecentEvents()

	for _, entity := range self.entitySet.Entities() {
		input = components.GetInput(entity)

		for _, event := range nextEvents {
			if callback, ok := input.Mapping[event.EventType]; ok {
				callback(entity, event)
			}
		}
	}
}
コード例 #4
0
func Test_Player_HasInput(t *testing.T) {
	player := NewPlayer()
	assert.NotNil(t, components.GetInput(player.GetEntity()), "No input component found")
}