-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathecs_resources.go
64 lines (59 loc) · 2.36 KB
/
ecs_resources.go
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package kar
import (
"image"
"kar/items"
"kar/res"
"kar/tilemap"
"github.com/setanarut/anim"
"github.com/setanarut/kamera/v2"
)
// ECS Resources
var (
GameDataRes *GameData
TileMapRes *tilemap.TileMap
CraftingTableRes *items.CraftTable
InventoryRes *items.Inventory
CameraRes *kamera.Camera
)
var AnimDefaultPlaybackData anim.PlaybackData
func init() {
GameDataRes = &GameData{CraftingState: false, CraftingState4: false}
CraftingTableRes = items.NewCraftTable()
InventoryRes = items.NewInventory()
TileMapRes = tilemap.MakeTileMap(512, 512, 20, 20)
CameraRes = kamera.NewCamera(0, 0, ScreenW, ScreenH)
PlayerAnimPlayer = anim.NewAnimationPlayer(
&anim.Atlas{"Default", res.Player},
&anim.Atlas{"WoodenAxe", res.PlayerWoodenAxeAtlas},
&anim.Atlas{"StoneAxe", res.PlayerStoneAxeAtlas},
&anim.Atlas{"IronAxe", res.PlayerIronAxeAtlas},
&anim.Atlas{"DiamondAxe", res.PlayerDiamondAxeAtlas},
&anim.Atlas{"WoodenPickaxe", res.PlayerWoodenPickaxeAtlas},
&anim.Atlas{"StonePickaxe", res.PlayerStonePickaxeAtlas},
&anim.Atlas{"IronPickaxe", res.PlayerIronPickaxeAtlas},
&anim.Atlas{"DiamondPickaxe", res.PlayerDiamondPickaxeAtlas},
&anim.Atlas{"WoodenShovel", res.PlayerWoodenShovelAtlas},
&anim.Atlas{"StoneShovel", res.PlayerStoneShovelAtlas},
&anim.Atlas{"IronShovel", res.PlayerIronShovelAtlas},
&anim.Atlas{"DiamondShovel", res.PlayerDiamondShovelAtlas},
)
PlayerAnimPlayer.NewAnim("idleRight", 0, 0, 16, 16, 1, false, false, 1)
PlayerAnimPlayer.NewAnim("idleUp", 208, 0, 16, 16, 1, false, false, 1)
PlayerAnimPlayer.NewAnim("idleDown", 224, 0, 16, 16, 1, false, false, 1)
PlayerAnimPlayer.NewAnim("walkRight", 16, 0, 16, 16, 4, false, false, 15)
PlayerAnimPlayer.NewAnim("jump", 16*5, 0, 16, 16, 1, false, false, 15)
PlayerAnimPlayer.NewAnim("skidding", 16*6, 0, 16, 16, 1, false, false, 15)
PlayerAnimPlayer.NewAnim("attackDown", 16*7, 0, 16, 16, 2, false, false, 8)
PlayerAnimPlayer.NewAnim("attackRight", 144, 0, 16, 16, 2, false, false, 8)
PlayerAnimPlayer.NewAnim("attackWalk", 0, 16, 16, 16, 4, false, false, 8)
PlayerAnimPlayer.NewAnim("attackUp", 16*11, 0, 16, 16, 2, false, false, 8)
PlayerAnimPlayer.SetAnim("idleRight")
AnimDefaultPlaybackData = *PlayerAnimPlayer.Data
}
type GameData struct {
CraftingState bool
CraftingState4 bool
TargetBlockCoord image.Point
IsRayHit bool
BlockHealth float64
}