-
Notifications
You must be signed in to change notification settings - Fork 0
/
class.pluml
114 lines (105 loc) · 1.23 KB
/
class.pluml
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
@startuml
class Cell {
x
y
height
width
grid
constructible
drawLine
new()
update()
place()
onClick()
drawRange()
draw()
}
class GameCell {
t
new(drawIn, onclick)
onClick(grid)
draw()
}
class PanelCell {
player
new(drawIn, player, onclick, drawMouse)
drawIn(player)
onClick(grid)
drawMouse()
}
class Path {
move
new(move)
draw()
}
class EnemyGenerator {
waves
player
new(move, waves, player)
getValue(value)
update(dt)
}
Cell <|-- Path
Cell <|-- GameCell
Cell <|-- PanelCell
Path <|-- EnemyGenerator
abstract class Tower {
constructible = false
range
frequency
damage
x,y
width,heigth
grid
new()
onClick()
updateSize()
draw()
drawRange()
place(coord, grid)
isInRange(x, y)
}
class basicTower {
lastshot
drawParameters
Sytle
RangeStyle
update(dt)
}
class FreezeTower {
lastshot
drawParameters
Sytle
RangeStyle
update(dt)
}
class SlowTower {
lastshot
drawParameters
Sytle
RangeStyle
update(dt)
}
class SplashTower {
lastshot
drawParameters
Sytle
RangeStyle
update(dt)
}
class BeamTower {
beamwidth
drawParameters
Sytle
RangeStyle
radius
locked
update(dt)
draw()
}
Tower <|-- basicTower
Tower <|-- BeamTower
Tower <|-- FreezeTower
Tower <|-- SlowTower
Tower <|-- SplashTower
@enduml