Example #1
0
        public static void doDone(ActorMovingAction3D actionObject)
        {
            EntityView entity = SceneViews.instance.getCurFBScene().getSceneEntity <EntityView>(actionObject.objectID);

            entity.setPosition(actionObject.targetPosition);
            entity.startSamplePosition = actionObject.targetPosition;
        }
Example #2
0
        public static void doProgress(ActorMovingAction3D actionObject, float progress)
        {
            if (actionObject.ignoreTimeAction)
            {
                return;
            }

            ActorView entity = SceneViews.instance.getCurFBScene().getSceneEntity <ActorView>(actionObject.objectID);

            if (entity.startSamplePosition.HasValue)
            {
                if (entity.isRunState())
                {
                    var speed = (actionObject.targetPosition - entity.startSamplePosition.Value).magnitude * 60.0f;
                    entity.updateAnimtorSpeed(speed, actionObject.moveType);
                    entity.animator.SetFloat("moveType", (float)actionObject.moveType);
                    entity.showRunEffect();
                }
            }

            //获取本次移动位置
            Vector3 thisEndPostion = MovingProcessorUtility.getMovePosition(entity.startSamplePosition, actionObject.targetPosition, progress);

            entity.setPosition(thisEndPostion);
        }