-
Notifications
You must be signed in to change notification settings - Fork 1
/
LinkedTurrets.lua
60 lines (49 loc) · 1.31 KB
/
LinkedTurrets.lua
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
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
--Each set of linked turrets has one control mainframe that will disable the turrets when it is destroyed,
--and re-enable the turrets when it is repaired
LinkedTurrets =
{
--------------------------------------
-- Fields that need to be set on creation (i.e. when New is called)
--
mainframe = nil, --must be the name of a destroyable object
turrets = nil, --must be a list of names of turret objects
team = nil, --the number of the team that the turrets are working for
---------------------------------------
-- Methods
--
New = function(self, o)
o = o or {}
setmetatable(o, self)
self.__index = self
return o
end,
Init = function(self)
OnObjectKillName(
function(objectPtr, killer)
for _, turret in pairs(self.turrets) do
SetObjectTeam(turret, 0)
end
self:OnDisableMainframe()
end,
self.mainframe
)
OnObjectRespawnName(
function(objectPtr, killer)
for _, turret in pairs(self.turrets) do
SetObjectTeam(turret, self.team)
end
self:OnEnableMainframe()
end,
self.mainframe
)
end
}
function LinkedTurrets:OnDisableMainframe()
--override me!
end
function LinkedTurrets:OnEnableMainframe()
--override me!
end