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.PostGridEntityCustomCollision = __TS__Class()
local PostGridEntityCustomCollision = ____exports.PostGridEntityCustomCollision
PostGridEntityCustomCollision.name = "PostGridEntityCustomCollision"
__TS__ClassExtends(PostGridEntityCustomCollision, CustomCallback)
function PostGridEntityCustomCollision.prototype.____constructor(self)
    CustomCallback.prototype.____constructor(self)
    self.shouldFire = function(____, fireArgs, optionalArgs)
        local _gridEntity, gridEntityTypeCustom, entity = table.unpack(fireArgs)
        local callbackGridEntityTypeCustom, callbackEntityType, callbackEntityVariant, callbackEntitySubType = table.unpack(optionalArgs)
        return (callbackGridEntityTypeCustom == nil or callbackGridEntityTypeCustom == gridEntityTypeCustom) 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
