summaryrefslogtreecommitdiff
path: root/engine/Components/World/Tile.go
blob: a8ee82788ea3c1ff80d2bd55fb77c2a9a091c952 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// DEPRECATED
package world

import (
	descriptors "github.com/DegustatorPonos/RuinesOfRafdolon/Dynamic/Descriptors"
	rl "github.com/gen2brain/raylib-go/raylib"
)

// The square that will be displayed at the screen
type Tile interface {
	Update()
	Draw()
}

type StandardTile struct {
	X float32
	Y float32
	ParentWorld *World
	Descriptor descriptors.TileDescriptor
}

func (base *StandardTile) Update() {
}

func (base *StandardTile) Draw() {
	rl.DrawTexture(base.ParentWorld.Textures[base.Descriptor.TextureId],
		int32(base.X) * int32(base.ParentWorld.TileSize.X),
		int32(base.Y) * int32(base.ParentWorld.TileSize.Y),
		rl.White)
	if base.Descriptor.OveralyTextureId != 0 {
		var overlayTexture = base.ParentWorld.Textures[base.Descriptor.OveralyTextureId]
		var dx = (base.ParentWorld.TileSize.X - float32(overlayTexture.Width)) / 2
		var dy = (float32(overlayTexture.Height) - base.ParentWorld.TileSize.Y)

		rl.DrawTexture(overlayTexture,
			int32(base.X) * int32(base.ParentWorld.TileSize.X) + int32(dx), 
			int32(base.Y) * int32(base.ParentWorld.TileSize.Y) - int32(dy),
			rl.White)
	}
}