local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
local ____exports = {}
local ____ISCFeature = require("enums.ISCFeature")
local ISCFeature = ____ISCFeature.ISCFeature
local ____CustomCallback = require("classes.private.CustomCallback")
local CustomCallback = ____CustomCallback.CustomCallback
____exports.PostGridEntityCollision = __TS__Class()
local PostGridEntityCollision = ____exports.PostGridEntityCollision
PostGridEntityCollision.name = "PostGridEntityCollision"
__TS__ClassExtends(PostGridEntityCollision, CustomCallback)
function PostGridEntityCollision.prototype.____constructor(self)
    CustomCallback.prototype.____constructor(self)
    self.shouldFire = function(____, fireArgs, optionalArgs)
        local gridEntity, entity = table.unpack(fireArgs)
        local callbackGridEntityType, callbackGridEntityVariant, callbackEntityType, callbackEntityVariant, callbackEntitySubType = table.unpack(optionalArgs)
        local gridEntityType = gridEntity:GetType()
        local gridEntityVariant = gridEntity:GetVariant()
        return (callbackGridEntityType == nil or callbackGridEntityType == gridEntityType) and (callbackGridEntityVariant == nil or callbackGridEntityVariant == gridEntityVariant) and (callbackEntityType == nil or callbackEntityType == entity.Type) and (callbackEntityVariant == nil or callbackEntityVariant == entity.Variant) and (callbackEntitySubType == nil or callbackEntitySubType == entity.SubType)
    end
    self.featuresUsed = {ISCFeature.GRID_ENTITY_COLLISION_DETECTION}
end
return ____exports
