Пример #1
0
 public void Init(SaberTrickManager saberTrickManager, MovementController movementController)
 {
     SaberTrickManager  = saberTrickManager;
     MovementController = movementController;
     SaberTrickModel    = SaberTrickManager.SaberTrickModel;
     OnInit();
     _logger.Debug($"Trick: {Name} initialized");
 }
Пример #2
0
 public void Init(SaberTrickManager saberTrickManager)
 {
     SaberTrickManager  = saberTrickManager;
     MovementController = SaberTrickManager.MovementController;
     SaberTrickModel    = SaberTrickManager.SaberTrickModel;
     OnInit();
     Plugin.Log.Debug($"Trick: {Name} initialized");
 }
Пример #3
0
        public override void OnTrickStart()
        {
            SaberTrickModel.ChangeToTrickModel();
            SaberTrickModel.Rigidbody.isKinematic = false;

            Vector3 finalVelocity = MovementController.GetAverageVelocity() * _velocityMultiplier;

            SaberTrickModel.Rigidbody.velocity = finalVelocity * 3;
            _saberRotSpeed = finalVelocity.magnitude;
            if (MovementController.AngularVelocity.x > 0)
            {
                _saberRotSpeed *= 150;
            }
            else
            {
                _saberRotSpeed *= -150;
            }
            SaberTrickModel.Rigidbody.AddRelativeTorque(Vector3.right * _saberRotSpeed, ForceMode.Acceleration);
        }
Пример #4
0
 private void ThrowEnd()
 {
     SaberTrickModel.Rigidbody.isKinematic = true;
     SaberTrickModel.ChangeToActualSaber();
     Reset();
 }