Ejemplo n.º 1
0
    void Update()
    {
        if (SteamNetworkManager.Instance != null)
        {
            name            = SteamFriends.GetFriendPersonaName(new CSteamID(steamId));
            pseudoText.text = name;
        }
        else
        {
            name            = "Player " + playerControllerId;
            pseudoText.text = name;
        }

        if (MultiOSControls.GetValue(readyInput, playerNumber) > 0 && isLocalPlayer)
        {
            Ready();
        }
        else if (MultiOSControls.GetValue(carNavInput, playerNumber) > 0 && isLocalPlayer && Time.realtimeSinceStartup - lastNavInput > 0.3f)
        {
            lastNavInput = Time.realtimeSinceStartup;
            CmdNextCar();
        }
        else if (MultiOSControls.GetValue(carNavInput, playerNumber) < 0 && isLocalPlayer && Time.realtimeSinceStartup - lastNavInput > 0.3f)
        {
            lastNavInput = Time.realtimeSinceStartup;
            CmdPreviousCar();
        }
    }
 public void BindNeg(InputField input, string name)
 {
     if (ValidateInput(input.text))
     {
         MultiOSControls.BindNegKey(name, input.text);
     }
 }
Ejemplo n.º 3
0
    // Update is called once per frame
    void Update()
    {
        if (MultiOSControls.GetValue("Join", PlayerNumber.All) != 0)
        {
            players = GameObject.FindGameObjectsWithTag("Player");
        }


        int livingPlayers = 0;

        foreach (GameObject go in players)
        {
            if (go != null)
            {
                livingPlayers++;
            }
        }


        if (livingPlayers <= minPlayerAlive && Time.timeScale > 0)
        {
            Time.timeScale = 0;

            canvas.gameObject.SetActive(true);
        }
    }
Ejemplo n.º 4
0
        // Use this method if you want to use your own input manager
        private float GetInput(string input)
        {
#if MULTIOSCONTROLS
            return(MultiOSControls.GetValue(input, playerId));
#else
            return(Input.GetAxis(input));
#endif
        }
Ejemplo n.º 5
0
 // Update is called once per frame
 void Update()
 {
     if (!soundsMenu.gameObject.activeSelf &&
         !videoSettingsMenu.gameObject.activeSelf &&
         !controlsMenu.gameObject.activeSelf &&
         MultiOSControls.GetValue("Pause", PlayerNumber.All) != 0)
     {
         Pause();
     }
 }
Ejemplo n.º 6
0
 // Update is called once per frame
 void Update()
 {
     //Quit the StatDisplayer Scene
     if (MultiOSControls.GetValue("Jump", player) != 0)
     {
         quitButton.GetComponent <Button>().onClick.Invoke();
     }
     // if (MultiOSControls.GetValue ("Fire1", player) != 0)
     //  restartButton.GetComponent<Button> ().onClick.Invoke ();
 }
    void Start()
    {
        if (_player == null)
        {
            _players = GameObject.FindGameObjectsWithTag("Player");
        }
        else
        {
            _players = new GameObject[] { _player }
        };

        Vector3 avg = Vector3.zero;

        foreach (GameObject p in _players)
        {
            avg += p.transform.position;
        }
        avg /= _players.Length;

        _offset = transform.position - avg;
    }

    void Update()
    {
        if (_player == null && MultiOSControls.GetValue("Join", PlayerNumber.All) != 0)
        {
            _players = GameObject.FindGameObjectsWithTag("Player");
        }
    }

    // LateUpdate is called after Update each frame
    void LateUpdate()
    {
        int     i   = 0;
        Vector3 avg = Vector3.zero;

        foreach (GameObject p in _players)
        {
            if (p != null)
            {
                avg += p.transform.position;
                i++;
            }
        }

        if (i == 0)
        {
            return;
        }

        avg /= i;

        transform.position = Vector3.Lerp(transform.position, avg + _offset, 3 * Time.deltaTime);
    }
}
Ejemplo n.º 8
0
    void Update()
    {
        _textScore.text = "Score: " + _score;

        _boostBar.fillAmount = _playerCar.Boost / _playerCar.MaxBoost;

        if (MultiOSControls.GetValue("Pause") != 0)
        {
            Pause();
        }
    }
Ejemplo n.º 9
0
    void LateUpdate()
    {
        if (useSpeedDepth)
        {
            CurrentDistance = MaxDistance * (wheelVehicle.speed / maxSpeed);
        }

        float input = 0;

        if (useCameraRotationControl)
        {
            input = MultiOSControls.GetValue(inputName, wheelVehicle.playerNumber);
        }

        transform.LookAt(target.position + input * target.right);
        transform.position = Vector3.Lerp(transform.position, target.position - target.forward * (5 + CurrentDistance) + target.up * 1, Time.deltaTime * 3);
    }
Ejemplo n.º 10
0
        void Update()
        {
            Vector3    newPos = transform.position;
            Quaternion newRot = transform.localRotation;

            rotationX += MultiOSControls.GetValue("CameraRotationX", PlayerNumber.FreeCamera) * cameraSensitivity * Time.deltaTime;
            rotationY += MultiOSControls.GetValue("CameraRotationY", PlayerNumber.FreeCamera) * cameraSensitivity * Time.deltaTime;
            rotationY  = Mathf.Clamp(rotationY, -90, 90);

            newRot  = Quaternion.AngleAxis(rotationX, Vector3.up);
            newRot *= Quaternion.AngleAxis(rotationY, Vector3.left);

            if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
            {
                newPos += transform.forward * (normalMoveSpeed * fastMoveFactor) * MultiOSControls.GetValue("VerticalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
                newPos += transform.right * (normalMoveSpeed * fastMoveFactor) * MultiOSControls.GetValue("HorizontalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
            }
            else if (Input.GetKey(KeyCode.LeftControl) || Input.GetKey(KeyCode.RightControl))
            {
                newPos += transform.forward * (normalMoveSpeed * slowMoveFactor) * MultiOSControls.GetValue("VerticalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
                newPos += transform.right * (normalMoveSpeed * slowMoveFactor) * MultiOSControls.GetValue("HorizontalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
            }
            else
            {
                newPos += transform.forward * normalMoveSpeed * MultiOSControls.GetValue("VerticalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
                newPos += transform.right * normalMoveSpeed * MultiOSControls.GetValue("HorizontalFreeCam", PlayerNumber.FreeCamera) * Time.deltaTime;
            }


            if (MultiOSControls.GetValue("Up", PlayerNumber.FreeCamera) != 0)
            {
                newPos += transform.up * climbSpeed * Time.deltaTime;
            }
            if (MultiOSControls.GetValue("Down", PlayerNumber.FreeCamera) != 0)
            {
                newPos -= transform.up * climbSpeed * Time.deltaTime;
            }

            transform.position      = Vector3.Lerp(transform.position, newPos, 0.9f);
            transform.localRotation = Quaternion.Lerp(transform.localRotation, newRot, Time.deltaTime);

            if (MultiOSControls.GetValue("HideCursor", PlayerNumber.FreeCamera) != 0)
            {
                Cursor.lockState = (Cursor.lockState == CursorLockMode.None) ? CursorLockMode.Locked : CursorLockMode.None;
            }
        }
Ejemplo n.º 11
0
    // Use this for initialization
    void Start()
    {
        instance = this;

        for (int j = 0; j < players.Length; j++)
        {
            int playercontrollerPref = PlayerPrefs.GetInt(players[j].name + "Controller");
            Debug.Log(players[j].name + "Controller " + playercontrollerPref);
            if (playercontrollerPref == 0)
            {
                players[j].controller = ControllerNumber.None;
                players[j].keyboard   = true;
            }
            else
            {
                players[j].controller = (ControllerNumber)(playercontrollerPref - 1);
                players[j].keyboard   = false;
            }
        }
    }
Ejemplo n.º 12
0
        // Use this method if you want to use your own input manager
        private float GetInput(string input)
        {
            if (photon)
            {
                if (myPhotonView.IsMine)
                {
                    return(Input.GetAxis(input));
                }
            }
            else
            {
#if MULTIOSCONTROLS
                return(MultiOSControls.GetValue(input, playerId));
#else
                return(Input.GetAxis(input));
#endif
            }

            return(0);
        }
Ejemplo n.º 13
0
    // Update is called once per frame
    protected virtual void Update()
    {
        if (allowCoop)
        {
            if (MultiOSControls.GetValue("Join", PlayerNumber.Player2) != 0 && _player2 != null && !_player2.transform.parent.gameObject.activeSelf)
            {
                _player2.transform.parent.gameObject.SetActive(true);

                if (spawnOnPlayer)
                {
                    _player2.transform.position = _player1.transform.position + Vector3.up;
                }

                _difficulty++;
            }

            if (MultiOSControls.GetValue("Join", PlayerNumber.Player3) != 0 && _player3 != null && !_player3.transform.parent.gameObject.activeSelf)
            {
                _player3.transform.parent.gameObject.SetActive(true);

                if (spawnOnPlayer)
                {
                    _player3.transform.position = _player1.transform.position + Vector3.up;
                }

                _difficulty++;
            }

            if (MultiOSControls.GetValue("Join", PlayerNumber.Player4) != 0 && _player4 != null && !_player4.transform.parent.gameObject.activeSelf)
            {
                _player4.transform.parent.gameObject.SetActive(true);

                if (spawnOnPlayer)
                {
                    _player4.transform.position = _player1.transform.position + Vector3.up;
                }

                _difficulty++;
            }
        }
    }
Ejemplo n.º 14
0
    void Update()
    {
        if (isLocalPlayer)
        {
            if (MultiOSControls.GetValue(resetInput, playerNumber) > .5f && isLocalPlayer && !handlingdeath && Time.realtimeSinceStartup - lastReset > 0.5f)
            {
                lastReset = Time.realtimeSinceStartup;
                CmdReset();
            }
        }

        if (isServer)
        {
            if ((life <= 0 || transform.position.y < -10) && !handlingdeath)
            {
                StartCoroutine(HandleDeath(50000f));

                TargetPopup(connectionToClient, -50000f);
            }
        }
    }
Ejemplo n.º 15
0
    IEnumerator CountDown()
    {
        yield return(new WaitForSeconds(0.1f));

        while (Time.realtimeSinceStartup - _startTime < 6)
        {
            Time.timeScale = 0.0f;

            if (MultiOSControls.GetValue("Join", PlayerNumber.Player4) != 0 || MultiOSControls.GetValue("Join", PlayerNumber.Player3) != 0)
            {
                Vector3 cameraPos = new Vector3(0, 5f, 0);

                _player1.GetComponent <PlayerController> ().playerCamera.transform.position = cameraPos;
                _player1.GetComponent <PlayerController> ().playerCamera.rect = new Rect(0f, 0.5f, 0.5f, 0.5f);

                _player2.GetComponent <PlayerController> ().playerCamera.transform.position = cameraPos;
                _player2.GetComponent <PlayerController> ().playerCamera.rect = new Rect(0.5f, 0.5f, 0.5f, 0.5f);

                _player3.GetComponent <PlayerController> ().playerCamera.transform.position = cameraPos;
                _player3.GetComponent <PlayerController> ().playerCamera.rect = new Rect(0.5f, 0f, 0.5f, 0.5f);

                _player4.GetComponent <PlayerController> ().playerCamera.transform.position = cameraPos;
                _player4.GetComponent <PlayerController> ().playerCamera.rect = new Rect(0f, 0f, 0.5f, 0.5f);
            }

            countDownText.text = (5 - (int)(Time.realtimeSinceStartup - _startTime)).ToString();

            yield return(null);
        }

        countDownCanvas.gameObject.SetActive(false);

        EndCountDown.Invoke();

        Time.timeScale = 1.0f;
        allowCoop      = false;
    }
Ejemplo n.º 16
0
    void FixedUpdate()
    {
        speed = transform.InverseTransformDirection(_rb.velocity).z * 3.6f;

        // Accelerate & brake
        if (throttleInput != "" && throttleInput != null)
        {
            // throttle = Input.GetAxis(throttleInput) != 0 ? Input.GetAxis(throttleInput) : Mathf.Clamp(throttle, -1, 1);
            throttle = MultiOSControls.GetValue(throttleInput, playerNumber) - MultiOSControls.GetValue(brakeInput, playerNumber);
        }

        // Turn
        foreach (WheelCollider wheel in turnWheel)
        {
            wheel.steerAngle = Mathf.Lerp(wheel.steerAngle, MultiOSControls.GetValue(turnInput, playerNumber) * steerAngle, steerSpeed);
        }

        // Boost
        if (MultiOSControls.GetValue(boostInput, playerNumber) > .5f && player.boost > 0)
        {
            float deltaTime = Time.deltaTime;
            _rb.AddForce(transform.forward * _rb.mass * boostPowerTweaker);
            boostParticle.Emit((int)Mathf.Lerp(0, boostParticle.emission.rateOverTime.constantMax, deltaTime));
            player.ModifyBoost(-boostConsumptionTweaker * deltaTime);
        }
        else
        {
            boostParticle.Stop();
        }

        // Jump
        if (MultiOSControls.GetValue(jumpInput, playerNumber) > .5f)
        {
            foreach (WheelCollider wheelCollider in driveWheel)
            {
                wheelCollider.suspensionDistance = jumpSuspensionMagnitude;
            }
            foreach (WheelCollider wheelCollider in turnWheel)
            {
                wheelCollider.suspensionDistance = jumpSuspensionMagnitude;
            }
        }
        else
        {
            foreach (WheelCollider wheelCollider in driveWheel)
            {
                wheelCollider.suspensionDistance = baseSuspensionMagnitude;
            }
            foreach (WheelCollider wheelCollider in turnWheel)
            {
                wheelCollider.suspensionDistance = baseSuspensionMagnitude;
            }
        }

        // Reset
        if (MultiOSControls.GetValue(resetInput, playerNumber) > .5f)
        {
            transform.position = spawnPosition;
            transform.rotation = spawnRotation;
        }


        foreach (WheelCollider wheel in GetComponentsInChildren <WheelCollider>())
        {
            wheel.brakeTorque = 0;
        }

        if (handbreak)
        {
            foreach (WheelCollider wheel in GetComponentsInChildren <WheelCollider>())
            {
                wheel.motorTorque = 0;
                wheel.brakeTorque = brakeForce;
            }
        }
        else if (Mathf.Abs(speed) < 4 || Mathf.Sign(speed) == Mathf.Sign(throttle))
        {
            foreach (WheelCollider wheel in driveWheel)
            {
                wheel.brakeTorque = 0;
                wheel.motorTorque = throttle * motorTorque.Evaluate(speed) * 4;
            }
        }
        else
        {
            foreach (WheelCollider wheel in GetComponentsInChildren <WheelCollider>())
            {
                wheel.motorTorque = 0;
                wheel.brakeTorque = Mathf.Abs(throttle) * brakeForce;
            }
        }


        _rb.AddForce(-_rb.mass * transform.forward * speed / 5);

        if (gasParticle)
        {
            ParticleSystem.EmissionModule em = gasParticle.emission;
            em.rateOverTime = handbreak ? 0 : Mathf.Lerp(em.rateOverTime.constant, Mathf.Clamp(10.0f * throttle, 5.0f, 10.0f), 0.1f);
        }
    }
    /*
     * Movement update
     * Gun update
     * Stats update
     */
    protected override void Update()
    {
        base.Update();

        if (_controller.velocity == Vector3.zero && _audioSource.clip == stepSound)
        {
            _audioSource.Pause();
        }

        // Update stat endurance if the stamina has been fully regenerated
        if (_stamina < _staminaMax && _stamina + _staminaRegen * Time.deltaTime > _staminaMax)
        {
            stat.End.Count++;
        }

        /*
         * Stamina regen
         */
        _stamina = Mathf.Clamp(_stamina + _staminaRegen * Time.deltaTime, 0, _staminaMax);

        /*
         * Look at
         */
        Vector3 LookAt = new Vector3(MultiOSControls.GetValue("RHorizontal", player), 0, -MultiOSControls.GetValue("RVertical", player));

        if (LookAt == Vector3.zero && MultiOSControls.HasKeyboard(player))
        {
            Vector3 cursorPos = Input.mousePosition;

            Vector3 playerScreenPos = playerCamera.WorldToScreenPoint(transform.position);

            LookAt = cursorPos - playerScreenPos;

            LookAt.z = LookAt.y;
            LookAt.y = 0;

            LookAt.Normalize();
        }

        if (LookAt != Vector3.zero)
        {
            transform.rotation = Quaternion.LookRotation(LookAt);
        }
        else
        {
            LookAt = _moveDirection;

            LookAt.y = 0;

            LookAt.Normalize();

            if (LookAt != Vector3.zero)
            {
                transform.rotation = Quaternion.LookRotation(LookAt);
            }
        }


        /*
         * Aim correction
         */
        if (gun != null && MultiOSControls.GetValue("Fire1", player) != 0)
        {
            RaycastHit hit;

            if (Physics.Raycast(transform.position, transform.forward, out hit, 10.0f, 8))               // 8 = only living
            {
                gun.transform.LookAt(transform.position + transform.forward * hit.distance);
            }
        }

        /*
         * Movement
         */
        if (_controller.isGrounded)
        {
            _moveDirection = new Vector3(MultiOSControls.GetValue("Horizontal", player), 0, -MultiOSControls.GetValue("Vertical", player));
            _moveDirection.Normalize();

            if (MultiOSControls.GetValue("Jump", player) != 0 && _stamina >= 2)
            {
                _stamina -= 2;
                StartCoroutine("Jump");

                // Update statmanager Rol stat
                stat.Rol.Count++;
            }
            else
            {
                // Update statmanager speed stat if player is moving
                if (_moveDirection.magnitude > 0.1)
                {
                    totalMoveTime += Time.deltaTime;
                    stat.Spe.Count = (int)totalMoveTime;
                }

                // Apply speed to normalized moveDirection (using the speed stat)
                _moveDirection *= _speed + (float)stat.Spe.Level / 10;
            }
        }

        if (_moveDirection.magnitude > 0.1 && !_audioSource.isPlaying && _moveDirection.y == 0)
        {
            _audioSource.clip = stepSound;
            _audioSource.loop = true;
            _audioSource.Play();
        }
        else if (_moveDirection.magnitude < 0.1 && _audioSource.isPlaying)
        {
            _audioSource.Stop();
        }

        /*
         * Apply Movement
         */
        _moveDirection.y -= _gravity * Time.deltaTime;
        _moveDirection   *= Time.timeScale;
        _controller.Move(_moveDirection * Time.deltaTime);

        /*
         * Gun managment
         */
        if (_gun != null && MultiOSControls.GetValue("Fire1", player) != 0)
        {
            lastShotTime = 0;
            _gun.Fire();
        }

        if (_gun != null && MultiOSControls.GetValue("Reload", player) != 0)
        {
            _gun.StartReload();
        }

        lastShotTime += Time.deltaTime;
    }
 public void ChooseController(Dropdown d, PlayerNumber p)
 {
     MultiOSControls.ChooseController(d.value, p);
 }
Ejemplo n.º 19
0
 // Use this for initialization
 void Start()
 {
     instance = this;
 }
Ejemplo n.º 20
0
        void FixedUpdate()
        {
            speed = transform.InverseTransformDirection(_rb.velocity).z * 3.6f;

            if (isLocalPlayer)
            {
                // Accelerate & brake
                if (throttleInput != "" && throttleInput != null)
                {
                    // throttle = Input.GetAxis(throttleInput) != 0 ? Input.GetAxis(throttleInput) : Mathf.Clamp(throttle, -1, 1);
                    throttle = MultiOSControls.GetValue(throttleInput, playerNumber) - MultiOSControls.GetValue(brakeInput, playerNumber);
                }
                // Boost
                boosting = (MultiOSControls.GetValue(boostInput, playerNumber) > 0.5f);
                // Turn
                steering = turnInputCurve.Evaluate(MultiOSControls.GetValue(turnInput, playerNumber)) * steerAngle;
                // Dirft
                drift = MultiOSControls.GetValue(driftInput, playerNumber)   > 0 && _rb.velocity.sqrMagnitude > 100;
            }

            // Direction
            foreach (WheelCollider wheel in turnWheel)
            {
                wheel.steerAngle = Mathf.Lerp(wheel.steerAngle, steering, steerSpeed);
            }

            foreach (WheelCollider wheel in wheels)
            {
                wheel.brakeTorque = 0;
            }

            // Handbrake
            if (handbreak)
            {
                foreach (WheelCollider wheel in wheels)
                {
                    wheel.motorTorque = 0;
                    wheel.brakeTorque = brakeForce;
                }
            }
            else if (Mathf.Abs(speed) < 4 || Mathf.Sign(speed) == Mathf.Sign(throttle))
            {
                foreach (WheelCollider wheel in driveWheel)
                {
                    wheel.brakeTorque = 0;
                    wheel.motorTorque = throttle * motorTorque.Evaluate(speed) * 4;
                }
            }
            else
            {
                foreach (WheelCollider wheel in wheels)
                {
                    wheel.motorTorque = 0;
                    wheel.brakeTorque = Mathf.Abs(throttle) * brakeForce;
                }
            }

            // Jump
            if (MultiOSControls.GetValue(jumpInput, playerNumber)   > 0 && isLocalPlayer)
            {
                bool isGrounded = true;
                foreach (WheelCollider wheel in wheels)
                {
                    if (!wheel.gameObject.activeSelf || !wheel.isGrounded)
                    {
                        isGrounded = false;
                    }
                }

                if (!isGrounded)
                {
                    return;
                }

                _rb.velocity += transform.up * jumpVel;
            }

            // Boost
            if (boosting && boost > 0.1f)
            {
                _rb.AddForce(transform.forward * boostForce);

                boost -= Time.fixedDeltaTime;
                if (boost < 0f)
                {
                    boost = 0f;
                }

                if (!boostParticles[0].isPlaying)
                {
                    foreach (ParticleSystem boostParticle in boostParticles)
                    {
                        boostParticle.Play();
                    }
                }

                if (!boostSource.isPlaying)
                {
                    boostSource.Play();
                }
            }
            else
            {
                if (boostParticles[0].isPlaying)
                {
                    foreach (ParticleSystem boostParticle in boostParticles)
                    {
                        boostParticle.Stop();
                    }
                }

                if (boostSource.isPlaying)
                {
                    boostSource.Stop();
                }
            }

            // Drift
            if (drift)
            {
                Vector3 driftForce = -transform.right;
                driftForce.y = 0.0f;
                driftForce.Normalize();

                if (steering != 0)
                {
                    driftForce *= _rb.mass * speed / 7f * throttle * steering / steerAngle;
                }
                Vector3 driftTorque = transform.up * 0.1f * steering / steerAngle;


                _rb.AddForce(driftForce * driftIntensity, ForceMode.Force);
                _rb.AddTorque(driftTorque * driftIntensity, ForceMode.VelocityChange);

                Debug.DrawLine(transform.position, transform.position + driftForce, Color.red);
            }

            // Downforce
            _rb.AddForce(transform.up * speed * downforce);
        }