53 lines
968 B
Go
53 lines
968 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
|
|
"git.influ.su/artmares/art3de/pkg/engine"
|
|
"git.influ.su/artmares/art3de/pkg/engine/renderer"
|
|
)
|
|
|
|
func main() {
|
|
// Создаем движок
|
|
eng := engine.NewEngine("My Game", 1280, 1024)
|
|
|
|
// Создаем игру
|
|
game := NewGame()
|
|
|
|
// Запускаем
|
|
if err := eng.Run(game); err != nil {
|
|
log.Println(err)
|
|
}
|
|
}
|
|
|
|
type Game struct {
|
|
renderer *renderer.Renderer
|
|
width, height int
|
|
}
|
|
|
|
func NewGame() *Game {
|
|
return &Game{}
|
|
}
|
|
|
|
func (g *Game) Init() error {
|
|
println("Game initialized!")
|
|
return nil
|
|
}
|
|
|
|
func (g *Game) Update(deltaTime float32) {
|
|
// Обновление логики игры
|
|
}
|
|
|
|
func (g *Game) Draw(r *renderer.Renderer) {
|
|
// Отрисовка игровых объектов
|
|
// Пока просто очищаем экран
|
|
}
|
|
|
|
func (g *Game) OnResize(width, height int) {
|
|
g.width = width
|
|
g.height = height
|
|
if g.renderer != nil {
|
|
g.renderer.SetViewport(0, 0, int32(width), int32(height))
|
|
}
|
|
}
|