public JFiniteTimeActionState(JFiniteTimeAction action, GameObject target) : base(action, target) { Duration = action.Duration; Elapsed = 0.0f; firstTick = true; }
public static JActionState RepeatForever(this GameObject target, JFiniteTimeAction action) { return(target.RunAction(new JRepeatForever(action) { Tag = action.Tag })); }
public JSpawn(params JFiniteTimeAction[] actions) { JFiniteTimeAction prev = actions [0]; JFiniteTimeAction next = null; if (actions.Length == 1) { next = new JExtraAction(); } else { // We create a nested set of JSpawnActions out of all of the actions for (int i = 1; i < actions.Length - 1; i++) { prev = new JSpawn(prev, actions [i]); } next = actions [actions.Length - 1]; } // Can't call base(duration) because we need to determine max duration // Instead call base's init method here if (prev != null && next != null) { Duration = Math.Max(prev.Duration, next.Duration); InitJSpawn(prev, next); } }
void InitJSequence(JFiniteTimeAction actionOne, JFiniteTimeAction actionTwo) { Debug.Assert(actionOne != null); Debug.Assert(actionTwo != null); Actions [0] = actionOne; Actions [1] = actionTwo; }
public override JFiniteTimeAction Reverse() { JFiniteTimeAction[] rev = new JFiniteTimeAction[Actions.Length]; for (int i = 0; i < Actions.Length; i++) { rev [i] = Actions [i].Reverse(); } return(new JParallel(rev)); }
public JRepeat(JFiniteTimeAction action, uint times) : base(action.Duration * times) { Times = times; InnerAction = action; ActionInstant = action is JActionInstant; //an instant action needs to be executed one time less in the update method since it uses startWithTarget to execute the action if (ActionInstant) { Times -= 1; } Total = 0; }
private void InitJSpawn(JFiniteTimeAction action1, JFiniteTimeAction action2) { Debug.Assert(action1 != null); Debug.Assert(action2 != null); float d1 = action1.Duration; float d2 = action2.Duration; ActionOne = action1; ActionTwo = action2; if (d1 > d2) { ActionTwo = new JSequence(action2, new JDelayTime(d1 - d2)); } else if (d1 < d2) { ActionOne = new JSequence(action1, new JDelayTime(d2 - d1)); } }
public JReverseTime(JFiniteTimeAction action) : base(action.Duration) { Other = action; }
public JEaseElastic(JFiniteTimeAction action, float period) : base(action) { Period = period; }
public JEaseQuintInOut(JFiniteTimeAction action) : base(action) { }
public JEaseElasticInOut(JFiniteTimeAction action, float period) : base(action, period) { }
public JEaseExponentialOut(JFiniteTimeAction action) : base(action) { }
protected JSpawn(JFiniteTimeAction action1, JFiniteTimeAction action2) : base(Math.Max(action1.Duration, action2.Duration)) { InitJSpawn(action1, action2); }
public JEaseBackInOut(JFiniteTimeAction action) : base(action) { }
public JEaseElasticOut(JFiniteTimeAction action) : base(action, 0.3f) { }
public JEaseRateAction(JFiniteTimeAction action, float rate) : base(action) { Rate = rate; }
public static JActionState Repeat(this GameObject target, uint times, JFiniteTimeAction action) { return(target.RunAction(new JRepeat(action, times))); }
public JEaseBounceInOut(JFiniteTimeAction action) : base(action) { }
public JEaseCircInOut(JFiniteTimeAction action) : base(action) { }
public JSpeed(JFiniteTimeAction action, float speed) { InnerAction = action; Speed = speed; }
public JEaseInOut(JFiniteTimeAction action, float rate) : base(action, rate) { }
public JEaseCubicOut(JFiniteTimeAction action) : base(action) { }
public JEaseCustom(JFiniteTimeAction action, Func <float, float> easeFunc) : base(action) { EaseFunc = easeFunc; }
public JActionEase(JFiniteTimeAction action) : base(action.Duration) { InnerAction = action; }
public JEaseQuartOut(JFiniteTimeAction action) : base(action) { }
public JTargetedAction(GameObject target, JFiniteTimeAction action) : base(action.Duration) { ForcedTarget = target; TargetedAction = action; }
public JEaseElasticInOut(JFiniteTimeAction action) : this(action, 0.3f) { }
public JEaseSineIn(JFiniteTimeAction action) : base(action) { }
public JEaseQuadIn(JFiniteTimeAction action) : base(action) { }
public JSequence(JFiniteTimeAction action1, JFiniteTimeAction action2) : base(action1.Duration + action2.Duration) { Actions = new JFiniteTimeAction[2]; InitJSequence(action1, action2); }