예제 #1
0
        protected virtual void LaunchMovementFinisher()
        {
            ProgressCurrent = 0;

            Vector3 TargetPosition = new Vector3(0, 0, TheShip.ShipBase.GetShipBaseDistance());

            ProgressTarget = TargetPosition.z * finisherTargetSuccess;

            AnimationSpeed = Options.ManeuverSpeed * 5f;

            TheShip.SimplifyRotationHelpers();
            movementFinisherLaunched = true;
        }
예제 #2
0
        public void UpdateRotationFinisher()
        {
            if (MovementTemplates.CurrentTemplate.transform.Find("Finisher") != null)
            {
                TheShip.SimplifyRotationHelpers();
                bool isSuccessfull = TryRotateUsingStarter(TheShip.GetModelOrientation());
                //bool isSuccessfull = false;

                if (!isSuccessfull)
                {
                    if (GetPathToProcessFinisherLeft(TheShip.Model) > 0)
                    {
                        float angleToNearestCenterPoint = GetAngleToLastSavedTemplateCenterPoint(TheShip.GetModelOrientation());
                        TheShip.UpdateRotationHelper2Angles(new Vector3(0, angleToNearestCenterPoint * GetDirectionModifier(), 0));
                    }
                }
            }
        }