コード例 #1
0
        public void FinishTransition()
        {
            inTransition                = false;
            transitionStartReached      = false;
            transitionPrepAnimationOver = false;
            transitionPrepRotationOver  = false;
            transitionPrepAnimStarted   = false;

            /*animator.ResetTrigger(transitionEndInAnimKey);
             * animator.ResetTrigger(transitionEndOutAnimKey);
             * animator.ResetTrigger(transitionPrepInAnimKey);
             * animator.ResetTrigger(transitionPrepOutAnimKey);*/
            transform.position = transitionDst.position;
            //transform.position += characterPivot.position;
            characterPivot.localPosition = Vector3.zero;
            ChangeState(transitionNewState);
            activeBehaviour.EnableCollisions();
            if (IsHauling())
            {
                currentlyHauling.ChangeInsideShipState(state == CharState.Inside);
                if (state == CharState.Inside)
                {
                    ship.AddDependentTransform(currentlyHauling.transform);
                }
                else
                {
                    ship.RemoveDependentTransform(currentlyHauling.transform);
                }
                //Restore hauling actions
                for (int i = 0; i < currentlyHauling.attachedActions.Count; i++)
                {
                    var action = currentlyHauling.attachedActions[i];
                    AddAction(action);
                }
                AddAction(currentlyHauling);
            }
        }