CollisionDetectable
protocol CollisionDetectable : NSObject
Collision Detection Support protocol
-
Animation object
Declaration
Swift
var animationObject: SpinningAnimatorProtocol? { get set } -
Edge Collision Detector
Declaration
Swift
var edgeCollisionDetector: CollisionDetector { get set } -
Center Collision Detector
Declaration
Swift
var centerCollisionDetector: CollisionDetector { get set } -
startCollisionDetectorsIfNeeded()Extension methodStarts all collision detectors if needed
Declaration
Swift
func startCollisionDetectorsIfNeeded() -
stopCollisionDetectorsIfNeeded()Extension methodStops all collision detectos if needed
Declaration
Swift
func stopCollisionDetectorsIfNeeded() -
prepareAllCollisionDetectorsIfNeeded(with:Extension methodanimationDuration: onEdgeCollision: onCenterCollision: ) Prepares all collision detectors if needed
Declaration
Swift
func prepareAllCollisionDetectorsIfNeeded(with rotationDegree: CGFloat, animationDuration: CFTimeInterval, onEdgeCollision: ((_ progress: Double?) -> Void)? = nil, onCenterCollision: ((_ progress: Double?) -> Void)? = nil)Parameters
rotationDegreeAnimation full rotation degree
animationDurationAnimation duration time
onEdgeCollisionOn edge collision callback
onCenterCollisionOn center collision callback
-
Prepare collision detector if needed by collision type
Declaration
Swift
func prepareCollisionDetectorIfNeeded(for type: CollisionType, with rotationDegree: CGFloat, animationDuration: CFTimeInterval, onCollision: ((_ progress: Double?) -> Void)? = nil)Parameters
typeCollision type
rotationDegreeAnimation full rotation degree
animationDurationAnimation duration time
onCollisionOn collision callback
-
prepareAllCollisionDetectorsIfNeeded(with:Extension methodspeed: speedAcceleration: onEdgeCollision: onCenterCollision: ) Prepare all collision detectors if needed with continuous animation
Declaration
Swift
func prepareAllCollisionDetectorsIfNeeded(with rotationDegree: CGFloat, speed: CGFloat, speedAcceleration: CGFloat, onEdgeCollision: ((_ progress: Double?) -> Void)? = nil, onCenterCollision: ((_ progress: Double?) -> Void)? = nil)Parameters
rotationDegreeAnimation full rotation degree
speedRotation speed
speedAccelerationRotation speed acceleration
onEdgeCollisionOn edge collision callback
onCenterCollisionOn center collision callback
-
Prepare collision detector if needed with continuous animation by collision type
Declaration
Swift
func prepareCollisionDetectorIfNeeded(for type: CollisionType, with rotationDegree: CGFloat, speed: CGFloat, speedAcceleration: CGFloat, onCollision: ((_ progress: Double?) -> Void)? = nil)Parameters
typeCollision type
rotationDegreeAnimation full rotation degree
speedRotation speed
speedAccelerationRotation speed acceleration
onCollisionOn collision callback
-
rotationDegreeOffset(for:Extension method) Returns rotation degree offset to collision type
Declaration
Swift
func rotationDegreeOffset(for type: CollisionType) -> CGFloatParameters
typeCollision type
Return Value
Rotation degree offset
-
startCollisionDetectorIfNeeded(type:Extension method) Starts collision detector if needed by collision type
Declaration
Swift
func startCollisionDetectorIfNeeded(type: CollisionType)Parameters
typeCollision type
-
stopCollisionDetectorIfNeeded(type:Extension method) Stops collision detector if needed by collision type
Declaration
Swift
func stopCollisionDetectorIfNeeded(type: CollisionType)Parameters
typeCollision type
-
isCollisionDetectorOn(for:Extension method) Checks are collision detector is on for collision type
Declaration
Swift
func isCollisionDetectorOn(for type: CollisionType) -> BoolParameters
typeCollision type
Return Value
Is collision detection on or off
CollisionDetectable Protocol Reference