Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions skynet-iads-source/skynet-iads-abstract-radar-element.lua
Original file line number Diff line number Diff line change
@@ -1,8 +1,47 @@
do

SkynetIADSAbstractRadarElement = {-- Class for SkynetIADSAbstractRadarElement
SkynetIADSAbstractRadarElement = {}
SkynetIADSAbstractRadarElement = inheritsFrom(SkynetIADSAbstractElement)

-- Define states for autonomous behavior
SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI = 1
SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DARK = 2

-- Method to create radar instance
function SkynetIADSAbstractRadarElement:create(dcsElementWithRadar, iads)
local instance = self:superClass():create(dcsElementWithRadar, iads)
setmetatable(instance, self)
self.__index = self
-- Initialize properties
instance.isAutonomous = true
return instance
end

-- Method to disable radar from remote
function SkynetIADSAbstractRadarElement:disableRadar()
if self.isAutonomous then
self:goDark() -- Transition to dark state
self.iads:printOutputToLog("Radar has been disabled remotely.")
else
self.iads:printOutputToLog("Radar is already disabled.")
end
end

-- Method to transition radar to dark state
function SkynetIADSAbstractRadarElement:goDark()
-- Logic to turn radar off
self.isAutonomous = false
self:cleanUp()
end

-- Cleanup method
function SkynetIADSAbstractRadarElement:cleanUp()
-- Code to clean up resources and handlers
self:removeEventHandlers()
end}
SkynetIADSAbstractRadarElement = inheritsFrom(SkynetIADSAbstractElement)

SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DCS_AI = 1
SkynetIADSAbstractRadarElement.AUTONOMOUS_STATE_DARK = 2

Expand Down