The decompiled versions of all \domino\ scripts found in Watch_Dogs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

169 lines
4.2 KiB

-- DOMINO REFLECTION BOX START
--
-- <Display Category="Entity" Text="SpotlightTriggerController" DisplayName="Spotlight Trigger Controller"/>
--
-- <ContextHelp><![CDATA[
-- Sets properties which are specific to the Spotlight Trigger.
-- You can set new targets for the trigger(s), or force them to follow a certain entity.
-- Note that Spotlight Triggers start with the local player in the target list.
-- ]]></ContextHelp>
--
-- <ControlIn Name="AddTarget">
-- <LinkRule type="OR">
-- <Target anchor="Trigger"/>
-- <Target anchor="TriggerList"/>
-- </LinkRule>
-- <LinkRule>
-- <Target anchor="Target"/>
-- </LinkRule>
-- <LinkRule severity="INFO" type="OR">
-- <Target anchor="Out"/>
-- <Target anchor="Added"/>
-- </LinkRule>
-- </ControlIn>
-- <ControlIn Name="RemoveTarget">
-- <LinkRule type="OR">
-- <Target anchor="Trigger"/>
-- <Target anchor="TriggerList"/>
-- </LinkRule>
-- <LinkRule>
-- <Target anchor="Target"/>
-- </LinkRule>
-- <LinkRule severity="INFO" type="OR">
-- <Target anchor="Out"/>
-- <Target anchor="Removed"/>
-- </LinkRule>
-- </ControlIn>
-- <ControlIn Name="StartForcedFollow">
-- <LinkRule type="OR">
-- <Target anchor="Trigger"/>
-- <Target anchor="TriggerList"/>
-- </LinkRule>
-- <LinkRule>
-- <Target anchor="Target"/>
-- </LinkRule>
-- <LinkRule severity="INFO" type="OR">
-- <Target anchor="Out"/>
-- <Target anchor="Forced"/>
-- </LinkRule>
-- </ControlIn>
-- <ControlIn Name="StopForcedFollow">
-- <LinkRule type="OR">
-- <Target anchor="Trigger"/>
-- <Target anchor="TriggerList"/>
-- </LinkRule>
-- <LinkRule severity="INFO" type="OR">
-- <Target anchor="Out"/>
-- <Target anchor="Unforced"/>
-- </LinkRule>
-- </ControlIn>
--
-- <DataIn Name="Trigger" Type="Nomad|entity"/>
-- <DataIn Name="TriggerList" Type="Core|list"/>
-- <DataIn Name="Target" Type="Nomad|entity"/>
--
-- <ControlOut Name="Out"/>
-- <ControlOut Name="Added"/>
-- <ControlOut Name="Removed"/>
-- <ControlOut Name="Forced"/>
-- <ControlOut Name="Unforced"/>
--
-- <Stateless/>
--
-- DOMINO REFLECTION BOX END
SpotlightTriggerController = {
}
function SpotlightTriggerController:Create(cbox)
-- left empty on purpose
end
function SpotlightTriggerController:Init(cbox)
self.Trigger = nil
self.TriggerList = nil
self.Target = nil
end
function SpotlightTriggerController:ShutDown()
-- left empty on purpose
end
function SpotlightTriggerController:AddTarget()
if(self.Target == nil) then
self.Target = GetInvalidEntityId()
end
if(self.Trigger ~= nil) then
AddSpotlightTarget(self.Trigger, self.Target)
end
if(self.TriggerList ~= nil) then
for i,v in ipairs(self.TriggerList) do if(self.TriggerList[i] ~= nil) then
AddSpotlightTarget(self.TriggerList[i], self.Target)
end end
end
self:Added()
self:Out()
end
function SpotlightTriggerController:RemoveTarget()
if(self.Target == nil) then
self.Target = GetInvalidEntityId()
end
if(self.Trigger ~= nil) then
RemoveSpotlightTarget(self.Trigger, self.Target)
end
if(self.TriggerList ~= nil) then
for i,v in ipairs(self.TriggerList) do if(self.TriggerList[i] ~= nil) then
RemoveSpotlightTarget(self.TriggerList[i], self.Target)
end end
end
self:Removed()
self:Out()
end
function SpotlightTriggerController:StartForcedFollow()
if(self.Target == nil) then
self.Target = GetInvalidEntityId()
end
if(self.Trigger ~= nil) then
SetSpotlightForcedFollow(self.Trigger, self.Target, 1)
end
if(self.TriggerList ~= nil) then
for i,v in ipairs(self.TriggerList) do if(self.TriggerList[i] ~= nil) then
SetSpotlightForcedFollow(self.TriggerList[i], self.Target, 1)
end end
end
self:Forced()
self:Out()
end
function SpotlightTriggerController:StopForcedFollow()
self.Target = GetInvalidEntityId()
if(self.Trigger ~= nil) then
SetSpotlightForcedFollow(self.Trigger, self.Target, 0)
end
if(self.TriggerList ~= nil) then
for i,v in ipairs(self.TriggerList) do if(self.TriggerList[i] ~= nil) then
SetSpotlightForcedFollow(self.TriggerList[i], self.Target, 0)
end end
end
self:Unforced()
self:Out()
end
-------------------------------------------------------------------------------
export = SpotlightTriggerController;
SpotlightTriggerController = nil;