public bool InitWithTwoActions(IFiniteTimeAction action1, IFiniteTimeAction action2) { if (action1 == null || action2 == null) { this.LogError("initWithTwoActions action is null!!"); } bool ret = false; var d1 = action1.Duration; var d2 = action2.Duration; if (base.InitWithDuration(Math.Max(d1, d2))) { m_one = action1; m_two = action2; if (d1 > d2) { m_two = CCActionSequence.CreateWithTwoActions(action2, CCActionDelay.Create(d1 - d2)); } else if (d1 < d2) { m_one = CCActionSequence.CreateWithTwoActions(action1, CCActionDelay.Create(d2 - d1)); } ret = true; } return(ret); }
public override IAction Reverse() { if (m_actions[0] != null && m_actions[1] != null) { return(CCActionSequence.CreateWithTwoActions(m_actions[1].Reverse() as IFiniteTimeAction, m_actions[0].Reverse() as IFiniteTimeAction)); } return(null); }
public static CCActionSequence CreateWithTwoActions(IFiniteTimeAction actionOne, IFiniteTimeAction actionTwo) { CCActionSequence sequence = new CCActionSequence(); if (sequence != null && sequence.InitWithTwoActions(actionOne, actionTwo)) { return(sequence); } return(null); }
public static ActionInterval CCSequence(ActionInterval action1, params ActionInterval[] args) { return(CCActionSequence.Create(action1, args)); }