bool InitWithTwoActions(MtFiniteTimeAction actionOne, MtFiniteTimeAction actionTwo) { Debug.Assert(actionOne != null, "actionOne can't be null!"); Debug.Assert(actionTwo != null, "actionTwo can't be null!"); if (actionOne == null || actionTwo == null) { Debug.Log("MtSpawn.InitWithTwoActions error: action is null!!"); return(false); } bool ret = false; float d1 = actionOne.Duration; float d2 = actionTwo.Duration; if (base.InitWithDuration(Mathf.Max(d1, d2))) { m_one = actionOne; m_two = actionTwo; if (d1 > d2) { m_two = MtSequence.CreateWithTwoActions(actionTwo, MtDelayTime.Create(d1 - d2)); } else if (d1 < d2) { m_one = MtSequence.CreateWithTwoActions(actionOne, MtDelayTime.Create(d2 - d1)); } ret = true; } return(ret); }
public static MtDelayTime Create(float d) { MtDelayTime action = new MtDelayTime(); if (action.InitWithDuration(d)) { return(action); } return(null); }
public override void Enter() { base.Enter(); var delayTime = MtDelayTime.Create(2); var func = MtCallFunc.Create(() => { SetSubTitle("2秒时间到"); }); m_tfCube.RunAction(MtSequence.Create(delayTime, func)); }
public override MtAction Reverse() { return(MtDelayTime.Create(m_duration)); }
public override MtICloneable Clone() { // no copy constructor return(MtDelayTime.Create(m_duration)); }