protected override void Update()
 {
     if (!skipOpening && Clock.planecrash)
     {
         SpaceTut.SetActive(false);
         LightsFlight.SetActive(false);
         pmTrigger.SendEvent("toSkipOpening");
         skipOpening = true;
     }
     else
     {
         Input.LockMouse();
     }
 }
Beispiel #2
0
        protected override void FixedUpdate()
        {
            walkSpeed       = BaseWalkSpeed * Menu.Values.Player.SpeedMultiplier;
            runSpeed        = BaseRunSpeed * Menu.Values.Player.SpeedMultiplier;
            jumpHeight      = BaseJumpHeight * Menu.Values.Player.JumpMultiplier;
            crouchSpeed     = BaseCrouchSpeed * Menu.Values.Player.SpeedMultiplier;
            strafeSpeed     = BaseStrafeSpeed * Menu.Values.Player.SpeedMultiplier;
            swimmingSpeed   = BaseSwimmingSpeed * Menu.Values.Player.SpeedMultiplier;
            maxSwimVelocity = BaseMaxSwimVelocity * Menu.Values.Player.SpeedMultiplier;

            if (!Menu.Values.Other.FreeCam)
            {
                if (Menu.Values.Player.FlyMode && !PushingSled)
                {
                    rb.useGravity = false;
                    if (Menu.Values.Player.NoClip)
                    {
                        if (!LastNoClip)
                        {
                            foreach (var t in AllColliders)
                            {
                                t.enabled = false;
                            }
                            foreach (var t in AllChildColliders)
                            {
                                t.enabled = false;
                            }
                            LastNoClip = true;
                        }
                    }
                    else
                    {
                        if (LastNoClip)
                        {
                            foreach (var t in AllColliders)
                            {
                                t.enabled = true;
                            }
                            foreach (var t in AllChildColliders)
                            {
                                t.enabled = true;
                            }
                            LastNoClip = false;
                        }
                    }

                    var button1    = Input.GetButton("Crouch");
                    var button2    = Input.GetButton("Run");
                    var button3    = Input.GetButton("Jump");
                    var multiplier = BaseWalkSpeed;
                    gravity = 0f;
                    if (button2)
                    {
                        multiplier = BaseRunSpeed;
                    }

                    var vector3 = Camera.main.transform.rotation * (
                        new Vector3(Input.GetAxis("Horizontal"),
                                    0f,
                                    Input.GetAxis("Vertical")
                                    ) * multiplier * Menu.Values.Player.SpeedMultiplier);
                    var velocity = rb.velocity;
                    if (button3)
                    {
                        velocity.y -= multiplier * Menu.Values.Player.SpeedMultiplier;
                    }
                    if (button1)
                    {
                        velocity.y += multiplier * Menu.Values.Player.SpeedMultiplier;
                    }
                    var force = vector3 - velocity;
                    rb.AddForce(force, ForceMode.VelocityChange);
                    LastFlyMode = true;
                }
                else
                {
                    if (LastFlyMode)
                    {
                        if (!IsInWater())
                        {
                            rb.useGravity = true;
                        }
                        gravity = BaseGravity;
                        if (LastNoClip)
                        {
                            foreach (var t in AllColliders)
                            {
                                t.enabled = true;
                            }
                            foreach (var t in AllChildColliders)
                            {
                                t.enabled = true;
                            }
                            LastNoClip = false;
                        }
                        LastFlyMode = false;
                    }
                    base.FixedUpdate();
                }
            }
        }