func (self *Game) initializeEngine() { self.entityDB = core.NewEntityDB() keyboard := input.NewKeyboard(self.window) mouse := input.NewMouse(self.window) self.inputDispatcher = input.NewInputDispatcher(self.config, keyboard, mouse) self.graphicalBehavior = behaviors.NewGraphical(self.renderer, self.entityDB) self.inputBehavior = behaviors.NewInput(self.inputDispatcher, self.entityDB) self.transformBehavior = behaviors.NewTransform(self.entityDB) self.loadBaseResources() }
func (self *Game) Run() { self.window = platform.NewOpenGLWindow(self.config) self.window.Open() self.entityDB = core.NewEntityDB() self.renderer = new(platform.OpenGLRenderer) self.Keyboard = input.NewKeyboard(self.window) self.Mouse = input.NewMouse(self.window) self.InputDispatcher = input.NewInputDispatcher( self.config, self.Keyboard, self.Mouse, ) self.initializeBehaviors() self.loadAllMaterials() self.loadAllMeshes() self.initializeScene() self.mainLoop() }