playground header skeleton, playground screen into separated files

This commit is contained in:
2023-07-07 20:33:58 +02:00
parent 9a7be89da6
commit 09959a8932
6 changed files with 74 additions and 26 deletions

View File

@@ -16,6 +16,7 @@ func (e *Engine) PlaygroundUpdate() {
func (e *Engine) PlaygroundDraw(screen *ebiten.Image) { func (e *Engine) PlaygroundDraw(screen *ebiten.Image) {
e.PlaygroundBackgroundDraw(screen) e.PlaygroundBackgroundDraw(screen)
e.PlaygroundHeaderDraw(screen)
e.PlaygroundPlatformsDraw(screen) e.PlaygroundPlatformsDraw(screen)
e.PlaygroundItemsDraw(screen) e.PlaygroundItemsDraw(screen)
e.PlaygroundNPCsDraw(screen) e.PlaygroundNPCsDraw(screen)
@@ -27,32 +28,6 @@ func (e *Engine) PlaygroundBackgroundDraw(screen *ebiten.Image) {
e.PlaygroundAssetDraw(screen, playground.Render, konstructor.Position{}) e.PlaygroundAssetDraw(screen, playground.Render, konstructor.Position{})
} }
func (e *Engine) PlaygroundPlatformsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, platform := range playground.Platforms {
e.PlaygroundAssetDraw(screen, platform.Type.Render, platform.Position)
}
}
func (e *Engine) PlaygroundItemsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, item := range playground.Items {
e.PlaygroundAssetDraw(screen, item.Type.Render, item.Position)
}
}
func (e *Engine) PlaygroundNPCsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, npc := range playground.NPCs {
e.PlaygroundAssetDraw(screen, npc.Type.Render, npc.Position)
}
}
func (e *Engine) PlaygroundDefaultPlayerDraw(screen *ebiten.Image) {
player := e.Domain.GetDefaultPlayer()
e.PlaygroundAssetDraw(screen, player.Type.Render, player.Position)
}
func (e *Engine) GetPlayground() konstructor.Playground { func (e *Engine) GetPlayground() konstructor.Playground {
level := e.Domain.GetLevel(e.KContext.CurrentLevel) level := e.Domain.GetLevel(e.KContext.CurrentLevel)
return level.Playgrounds[e.KContext.CurrentPlayground] return level.Playgrounds[e.KContext.CurrentPlayground]

View File

@@ -0,0 +1,35 @@
package easy_ebitengine
import (
"game/konstructor"
"image/color"
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/text"
)
func (e *Engine) PlaygroundHeaderDraw(screen *ebiten.Image) {
header_bg, _ := ebiten.NewImage(e.Config.Screen.Width, 20, ebiten.FilterDefault)
header_bg.Fill(color.RGBA{
R: 0,
G: 255,
B: 0,
A: 200,
})
fl := konstructor.FontLayout{
Path: "assets/fonts/ArcadeClassic.ttf",
DPI: 72,
Size: 24,
}
face := fl.GetFontFace()
geoM := ebiten.GeoM{}
geoM.Scale(float64(e.Config.Screen.Scale), float64(e.Config.Screen.Scale))
screen.DrawImage(header_bg, &ebiten.DrawImageOptions{
GeoM: geoM,
})
text.Draw(screen, e.Config.Name, face, 10, 20, color.Black)
}

View File

@@ -0,0 +1,10 @@
package easy_ebitengine
import "github.com/hajimehoshi/ebiten"
func (e *Engine) PlaygroundItemsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, item := range playground.Items {
e.PlaygroundAssetDraw(screen, item.Type.Render, item.Position)
}
}

View File

@@ -0,0 +1,10 @@
package easy_ebitengine
import "github.com/hajimehoshi/ebiten"
func (e *Engine) PlaygroundNPCsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, npc := range playground.NPCs {
e.PlaygroundAssetDraw(screen, npc.Type.Render, npc.Position)
}
}

View File

@@ -0,0 +1,10 @@
package easy_ebitengine
import "github.com/hajimehoshi/ebiten"
func (e *Engine) PlaygroundPlatformsDraw(screen *ebiten.Image) {
playground := e.GetPlayground()
for _, platform := range playground.Platforms {
e.PlaygroundAssetDraw(screen, platform.Type.Render, platform.Position)
}
}

View File

@@ -0,0 +1,8 @@
package easy_ebitengine
import "github.com/hajimehoshi/ebiten"
func (e *Engine) PlaygroundDefaultPlayerDraw(screen *ebiten.Image) {
player := e.Domain.GetDefaultPlayer()
e.PlaygroundAssetDraw(screen, player.Type.Render, player.Position)
}