public bool InitWithTwoActions(FiniteTimeAction action1, FiniteTimeAction 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 = Sequence.CreateWithTwoActions(action2, DelayTime.Create(d1 - d2)); } else if (d1 < d2) { m_one = Sequence.CreateWithTwoActions(action1, DelayTime.Create(d2 - d1)); } ret = true; } return(ret); }
public static Spawn CreateWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo) { Spawn spawn = new Spawn(); if (spawn != null && spawn.InitWithTwoActions(actionOne, actionTwo)) { return(spawn); } return(null); }
public static Sequence CreateWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo) { Sequence sequence = new Sequence(); if (sequence != null && sequence.InitWithTwoActions(actionOne, actionTwo)) { return(sequence); } return(null); }
public static Repeat Create(FiniteTimeAction action, uint times) { Repeat repeat = new Repeat(); if (repeat.InitWithAction(action, times)) { return(repeat); } return(null); }
public bool InitWithAction(FiniteTimeAction action, uint times) { if (action != null && base.InitWithDuration(action.Duration * times)) { this.m_times = times; this.m_innerAction = action; m_actionInstant = action is ActionInstant; m_total = 0; return(true); } return(false); }
public bool InitWithTwoActions(FiniteTimeAction actionOne, FiniteTimeAction actionTwo) { if (actionOne == null || actionTwo == null) { this.LogError("InitWithTwoActions action is null"); } float d = actionOne.Duration + actionTwo.Duration; base.InitWithDuration(d); m_actions[0] = actionOne; m_actions[1] = actionTwo; return(true); }
public static Spawn Create(FiniteTimeAction action1, params FiniteTimeAction[] args) { FiniteTimeAction now; FiniteTimeAction prev = action1; for (int i = 0; i < args.Length; i++) { now = args[i]; prev = CreateWithTwoActions(prev, now); } if (args.Length == 0) { prev = CreateWithTwoActions(prev, ExtraAction.Create()); } return(prev as Spawn); }