Ejemplo n.º 1
0
    public override void execute()
    {
        ComponentOwner obj = mReceiver as ComponentOwner;
        TransformableComponentRotatePhysics component = obj.getComponent(out component);

        // 停止其他旋转组件
        obj.breakComponent <IComponentModifyRotation>(component.GetType());
        component.setTremblingCallback(mTremblingCallBack);
        component.setTrembleDoneCallback(mTrembleDoneCallBack);
        component.setActive(true);
        if (mRandomOffset)
        {
            mOffset = randomFloat(0.0f, mOnceLength);
        }
        component.setTargetRotation(mTargetRotation);
        component.setStartRotation(mStartRotation);
        component.play(mName, mLoop, mOnceLength, mOffset, mFullOnce, mAmplitude);
    }
    public override void execute()
    {
        Transformable obj = mReceiver as Transformable;
        TransformableComponentRotatePhysics component = obj.getComponent(out component);

        // 停止其他旋转组件
        obj.breakComponent <IComponentModifyRotation>(component.GetType());
        component.setTremblingCallback(mTremblingCallBack);
        component.setTrembleDoneCallback(mTrembleDoneCallBack);
        component.setActive(true);
        if (mRandomOffset)
        {
            mOffset = randomFloat(0.0f, mOnceLength);
        }
        component.setTargetRotation(mTargetRotation);
        component.setStartRotation(mStartRotation);
        component.play(mName, mLoop, mOnceLength, mOffset, mFullOnce, mAmplitude);
        if (component.getState() == PLAY_STATE.PS_PLAY)
        {
            // 需要启用组件更新时,则开启组件拥有者的更新,后续也不会再关闭
            obj.setEnable(true);
        }
    }