Example #1
0
    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);
    }
Example #2
0
    public static MtDelayTime Create(float d)
    {
        MtDelayTime action = new MtDelayTime();

        if (action.InitWithDuration(d))
        {
            return(action);
        }
        return(null);
    }
Example #3
0
    public override void Enter()
    {
        base.Enter();
        var delayTime = MtDelayTime.Create(2);
        var func      = MtCallFunc.Create(() => {
            SetSubTitle("2秒时间到");
        });

        m_tfCube.RunAction(MtSequence.Create(delayTime, func));
    }
Example #4
0
 public override MtAction Reverse()
 {
     return(MtDelayTime.Create(m_duration));
 }
Example #5
0
 public override MtICloneable Clone()
 {
     // no copy constructor
     return(MtDelayTime.Create(m_duration));
 }