-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata.py
77 lines (55 loc) · 1.89 KB
/
data.py
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
65
66
67
68
69
70
71
72
73
74
75
76
# Contains "global" data. This module was created to prevent
# module circular dependencies.
import image_cache
import grid_finder
import path_cache
import grid_cost
import grid_pass
print "data"
the_base = None
screen_size = 640,480
cell_size = None
extents = None
start_pt = (540,40)
end_pt = (80,340)
sprites = []
creeps = []
non_interact_sprites = []
towers = []
pathCache = None
gridCost = None
gridPass = None
towerFinder = None
creepFinder = None
selected = None
def IsCoordInRange(pt):
return pt[0] > extents[0][0] and \
pt[0] < extents[1][0] and \
pt[1] > extents[0][1] and \
pt[1] < extents[1][1]
def GetGridCoordRound(pt):
pt_round = pt[0] + cell_size[0]/2, pt[1] + cell_size[1]/2
return GetGridCoord( pt_round )
def GetGridCoord(pt):
X,Y = cell_size[0], cell_size[1]
return int(pt[0]/X) * X, int(pt[1]/Y) * Y
def SetExtents(new_extents, new_cell_size):
print "setting extents", new_extents
global extents, cell_size, pathCache, towerFinder, gridCost, gridPass
global creepFinder, pathCache
cell_size = new_cell_size
extents = new_extents
pathCache = path_cache.PathCache(cell_size)
gridCost = grid_cost.GridCost( extents, cell_size )
gridPass = grid_pass.GridPass( extents, cell_size )
towerFinder = grid_finder.GridFinder( cell_size[0], exclusive=True )
creepFinder = grid_finder.GridFinder( cell_size[0] * 4 )
def Init():
print "data.Init()"
SetExtents( ((20,20),(640-80,460)), (20,20))
image_cache.ImageCache.SetImageFile( "base.png", (60,60) )
image_cache.ImageCache.SetImageFile( "tank1.png", (20,20) )
image_cache.ImageCache.SetImageFile( "turretsv2.png", (40,40) )
image_cache.ImageCache.SetImageFile( "bullet1.png", (10,10) )
image_cache.ImageCache.SetImageFile( "explosion_small.png", (20,20) )
image_cache.ImageCache.SetImageFile( "explosion_large.png", (20,20) )