Can I Still Use ZestKit (Prime31) for Animations?

I have an old project I’m finally getting around to updating (translating from Javascript, 2018.2.2), and it uses ZestKit for animations. I long ago quit using ZestKit, and I don’t remember much about it. There are a LOT of animations, and I really don’t want to replace all that code. And I don’t see any reason why ZestKit should not still work.

The problem is that every setCompletionHandler gives me the error: parameters do not match delegate.

For example:

tCamera.transform.ZKpositionTo(tPos, totalTime)
		.setEaseType(EaseType.SineInOut)
		.setCompletionHandler(UpdateCrosshair)
		.start();
...
public void UpdateCrosshair() {}

These are all functions that do not have any parameters, and do not return any values. Any ideas as to why I’m getting these errors? Do I need to replace ZestKit?

I’ve never used it but a quick glance in the sourcecode on github shows that setCompletionHandler expects delegates with various kinds of parameters.

No idea if you can still use it, but at a minimum you have to meet the strict type requirements of the C# language to do so.

I don’t see that in Tween.cs.

public ITween<T> setCompletionHandler( Action<ITween<T>> completionHandler )
{
	_completionHandler = completionHandler;
	return this;
}

Here’s a C# sample from the Quick Start on Github (GitHub - prime31/ZestKit: Tween library for Unity. The best of GoKit and GoKitLite combined in an easy to use API) that shows no parameters, just like my code:

// tween localScale independant of Time.timeScale with a 2 second delay before starting the tween
// and get notified when the tween has finished specifying the easing equation to use
transform.ZKlocalScaleTo( new Vector3( 10f, 10f, 10f ), 0.5f )
    .setDelay( 2f )
    .setIsTimeScaleIndependent()
    .setCompletionHandler( myCompletionHandlerFunction )
    .setEaseType( EaseType.ElasticOut )
    .start();

There’s similar sample code here
2. The Details · prime31/ZestKit Wiki · GitHub

I don’t know if it makes a difference in this case, but this code works in the Javascript script (minus the “new” and the "f"s).