1seesawplatform = class:new()
2
3function seesawplatform:init(x, y, size, callback, side)
4	--PHYSICS STUFF
5	self.size = size or 2
6	self.startx = x-self.size
7	self.starty = y
8	self.x = x-self.size/2-0.5
9	self.y = y-17/16
10	self.speedx = 0 --!
11	self.speedy = 0
12	self.width = self.size
13	self.height = 8/16
14	self.static = true
15	self.active = true
16	self.category = 15
17	self.mask = {true}
18	self.gravity = 0
19
20	self.callback = callback
21	self.side = side
22
23	--IMAGE STUFF
24	self.drawable = false
25
26	self.rotation = 0
27
28	self.speedy = 0
29end
30
31function seesawplatform:update(dt)
32	local previousX = self.x
33	local previousY = self.y
34
35	local checktable = {}
36	for i, v in pairs(enemies) do
37		if objects[v] then
38			table.insert(checktable, v)
39		end
40	end
41	table.insert(checktable, "player")
42
43	local numberofobjects = 0
44
45	for i, v in pairs(checktable) do
46		for j, w in pairs(objects[v]) do
47			if not w.jumping and inrange(w.x, self.x-w.width, self.x+self.width) then
48				if inrange(w.y, self.y - w.height - 0.1, self.y - w.height + 0.1) then
49					numberofobjects = numberofobjects + 1
50					w.y = self.y - w.height + self.speedy*dt
51				end
52			end
53		end
54	end
55
56	self.y = self.y + self.speedy*dt
57
58	--report back on number of objects
59	if self.side == "left" then
60		self.callback:callbackleft(numberofobjects)
61	else
62		self.callback:callbackright(numberofobjects)
63	end
64
65	if self.y > 16 then
66		return true
67	end
68
69	return false
70end
71
72function seesawplatform:draw()
73	for i = 1, self.size do
74		if self.dir ~= "justright" then
75			love.graphics.draw(platformimg, math.floor((self.x+i-1-xscroll)*16*scale), math.floor((self.y-8/16)*16*scale), 0, scale, scale)
76		else
77			love.graphics.draw(platformbonusimg, math.floor((self.x+i-1-xscroll)*16*scale), math.floor((self.y-8/16)*16*scale), 0, scale, scale)
78		end
79	end
80
81	if math.ceil(self.size) ~= self.size then --draw 1 more on the rightest
82		love.graphics.draw(platformimg, math.floor((self.x+self.size-1-xscroll)*16*scale), math.floor((self.y-8/16)*16*scale), 0, scale, scale)
83	end
84end
85
86function seesawplatform:rightcollide(a, b)
87	return false
88end
89
90function seesawplatform:leftcollide(a, b)
91	return false
92end
93
94function seesawplatform:ceilcollide(a, b)
95	return false
96end
97
98function seesawplatform:floorcollide(a, b)
99	return false
100end