private void Execute(IActor actor) { var startTime = DateTimeOffset.Now; bool hasSucceeded = false; while (!hasSucceeded) { try { InnerAction.ExecuteWhenAs(actor); hasSucceeded = true; } catch (WebDriverException) { if (DateTimeOffset.Now.Subtract(startTime) > Timeout) { throw; } Thread.Sleep(500); } catch (InvalidOperationException) { if (DateTimeOffset.Now.Subtract(startTime) > Timeout) { throw; } Thread.Sleep(500); } } }
public override void StartWithTarget(CozyNode target) { Total = 0; NextDt = InnerAction.Duration / Duration; base.StartWithTarget(target); InnerAction.StartWithTarget(target); }
public override void Update(float dt) { if (dt >= NextDt) { while (dt > NextDt && Total < Times) { InnerAction.Update(1.0f); ++Total; InnerAction.Stop(); InnerAction.StartWithTarget(Target); NextDt = InnerAction.Duration / Duration * (Total + 1); } if (dt >= 1.0f && Total < Times) { ++Total; } if (Total == Times) { InnerAction.Update(1.0f); InnerAction.Stop(); } else { InnerAction.Update(dt - (NextDt - InnerAction.Duration / Duration)); } } else { InnerAction.Update((dt * Times) % 1.0f); } }
public override object Clone() { var a = new CozyRepeat(); var act = InnerAction.Clone() as CozyFiniteTimeAction; a.InitWithAction(act, Times); return(a); }
protected internal override void Step(float dt) { InnerActionState.Step(dt); if (InnerActionState.IsDone) { float diff = InnerActionState.Elapsed - InnerActionState.Duration; InnerActionState = (MTFiniteTimeActionState)InnerAction.StartAction(Target); InnerActionState.Step(0f); InnerActionState.Step(diff); } }
public CCRepeatState(CCRepeat action, CCNode target) : base(action, target) { InnerAction = action.InnerAction; Times = action.Times; Total = action.Total; ActionInstant = action.ActionInstant; NextDt = InnerAction.Duration / Duration; InnerActionState = (CCFiniteTimeActionState)InnerAction.StartAction(target); }
public JRepeatState(JRepeat action, GameObject target) : base(action, target) { InnerAction = action.InnerAction; Times = action.Times; Total = action.Total; ActionInstant = action.ActionInstant; NextDt = InnerAction.Duration / Duration; InnerActionState = (JFiniteTimeActionState)InnerAction.StartAction(target); }
// issue #80. Instead of hooking step:, hook update: since it can be called by any // container action like Repeat, Sequence, AccelDeccel, etc.. public override void Update(float time) { if (time >= NextDt) { while (time > NextDt && Total < Times) { InnerActionState.Update(1.0f); Total++; InnerActionState.Stop(); InnerActionState = (CCFiniteTimeActionState)InnerAction.StartAction(Target); NextDt += InnerAction.Duration / Duration; } // fix for issue #1288, incorrect end value of repeat if (time >= 1.0f && Total < Times) { Total++; } // don't set an instant action back or update it, it has no use because it has no duration if (!ActionInstant) { if (Total == Times) { InnerActionState.Update(1f); InnerActionState.Stop(); } else { // issue #390 prevent jerk, use right update InnerActionState.Update(time - (NextDt - InnerAction.Duration / Duration)); } } } else { InnerActionState.Update((time * Times) % 1.0f); } }
public override MTFiniteTimeAction Reverse() { return(new MTEaseCircIn((MTFiniteTimeAction)InnerAction.Reverse())); }
public CCRepeatForeverState(CCRepeatForever action, CCNode target) : base(action, target) { InnerAction = action.InnerAction; InnerActionState = (CCFiniteTimeActionState)InnerAction.StartAction(target); }
public override CCFiniteTimeAction Reverse() { return(new CCEaseSineInOut((CCFiniteTimeAction)InnerAction.Reverse())); }
public override CCFiniteTimeAction Reverse() { return(new CCBEaseInstant((CCFiniteTimeAction)InnerAction.Reverse())); }
public override JFiniteTimeAction Reverse() { return(new JEaseExponentialIn((JFiniteTimeAction)InnerAction.Reverse())); }
public override CCFiniteTimeAction Reverse() { return(new CCEaseElasticOut((CCFiniteTimeAction)InnerAction.Reverse(), Period)); }
public override MTFiniteTimeAction Reverse() { return(new MTEaseExponentialOut((MTFiniteTimeAction)InnerAction.Reverse())); }
public override MTFiniteTimeAction Reverse() { return(new MTEaseQuintInOut((MTFiniteTimeAction)InnerAction.Reverse())); }
public override CCFiniteTimeAction Reverse() { return(new CCEaseOut((CCFiniteTimeAction)InnerAction.Reverse(), 1 / Rate)); }
public override FiniteTimeAction Reverse() { return(new EaseSineIn((FiniteTimeAction)InnerAction.Reverse())); }
public override CCFiniteTimeAction Reverse() { return(new CCEaseBounceIn((CCFiniteTimeAction)InnerAction.Reverse())); }
public MTRepeatForeverState(MTRepeatForever action, GameObject target) : base(action, target) { InnerAction = action.InnerAction; InnerActionState = (MTFiniteTimeActionState)InnerAction.StartAction(target); }
public override FiniteTimeAction Reverse() { return(new EaseRateAction((FiniteTimeAction)InnerAction.Reverse(), 1 / Rate)); }
public override FiniteTimeAction Reverse() { return(new EaseBounceOut((FiniteTimeAction)InnerAction.Reverse())); }
public override JFiniteTimeAction Reverse() { return(new JEaseElasticInOut((JFiniteTimeAction)InnerAction.Reverse(), Period)); }
public override MTFiniteTimeAction Reverse() { return(new MTEaseElasticIn((MTFiniteTimeAction)InnerAction.Reverse(), Period)); }
public override void Stop() { InnerAction.Stop(); }
public override MTFiniteTimeAction Reverse() { return(new MTEaseIn((MTFiniteTimeAction)InnerAction.Reverse(), 1 / Rate)); }
public override FiniteTimeAction Reverse() { return(new EaseInOut((FiniteTimeAction)InnerAction.Reverse(), Rate)); }
public override JFiniteTimeAction Reverse() { return(new JEaseCubicIn((JFiniteTimeAction)InnerAction.Reverse())); }
public override JFiniteTimeAction Reverse() { return(new JEaseQuadOut((JFiniteTimeAction)InnerAction.Reverse())); }
public override FiniteTimeAction Reverse() { return(new EaseExponentialInOut((FiniteTimeAction)InnerAction.Reverse())); }