void __timer(object param)
{
Vector2 pt = _host.GlobalToLocal(Stage.inst.touchPosition);
if (Mathf.Pow(pt.x - _startPoint.x, 2) + Mathf.Pow(pt.y - _startPoint.y, 2) > Mathf.Pow(holdRangeRadius, 2))
{
Timers.inst.Remove(__timer);
return;
}
if (!_started)
{
_started = true;
onBegin.Call();
if (!once)
Timers.inst.Add(interval, 0, __timer);
}
onAction.Call();
}