Exemple #1
0
    void RpcDisassemble()
    {
        vehicle.toogleHandbrake(true);
        rigidbody.isKinematic = true;

        if (isLocalPlayer)
        {
            GameObject popup      = Instantiate(scorePopupPrefab.gameObject, transform);
            ScorePopup scorePopup = popup.GetComponent <ScorePopup>();
            scorePopup.SetScore(-10000f);
        }

        Vector3 velocity = rigidbody.velocity;

        rigidbody.velocity        = Vector3.zero;
        rigidbody.angularVelocity = Vector3.zero;

        Transform body = transform.Find("Body");

        foreach (Transform child in body)
        {
            Rigidbody r = child.gameObject.AddComponent <Rigidbody>();
            r.mass     = rigidbody.mass / body.childCount;
            r.velocity = velocity;
        }

        foreach (WheelCollider wc in wheels)
        {
            foreach (Transform child in wc.transform)
            {
                child.gameObject.SetActive(false);
            }
        }
    }
    public static void CreateText(string text, Transform location, Color fontColor, Color outlineColor)
    {
        ScorePopup instance = Instantiate(popupText);

        instance.transform.SetParent(canvas.transform, false);
        instance.transform.position = screenPos;
        instance.SetColor(fontColor, outlineColor);
        instance.SetScore(text);
    }
Exemple #3
0
 void TargetPopup(NetworkConnection target, float s)
 {
     if (isLocalPlayer)
     {
         GameObject popup      = Instantiate(scorePopupPrefab.gameObject, transform);
         ScorePopup scorePopup = popup.GetComponent <ScorePopup>();
         scorePopup.SetScore(s);
     }
 }
Exemple #4
0
    public void FinishRace(WheelVehicle player)
    {
        bool finished = true;

        foreach (CheckPoint cp in _checkPoints)
        {
            if (!cp.IsChecked(player))
            {
                finished = false;
            }
        }

        if (finished)
        {
            if (player != null)
            {
                PlayerHolder ph = player.GetComponentInParent <PlayerHolder>();

                _endTime = Time.realtimeSinceStartup - _startTime;
                Debug.Log("Finish time: " + _endTime);

                ph.Ui.AddScore(Mathf.FloorToInt(expectedTime - _endTime) * 1000);

                Transform  spawnPos = player.gameObject.transform;
                ScorePopup sp       = GameObject.Instantiate(scorePopupPrefab.gameObject, spawnPos.position, spawnPos.rotation).GetComponent <ScorePopup>();
                sp.SetScore(Mathf.FloorToInt(expectedTime - _endTime) * 1000);

                int score = ph.Ui.GetScore();

                _recorders[player].Stop();
                if (!_ghost.exist || score > _ghost.score)
                {
                    _ghost.score = score;
                    _recorders[player].Save(_scene + "-BestTime");

                    ph.Ui.Finish(_endTime, score, true);
                }
                else
                {
                    ph.Ui.Finish(_endTime, score, false);
                }
            }
        }
        else
        {
            Debug.Log("You missed a checkpoint!");
        }
    }
Exemple #5
0
    public void AddScore(Collision c)
    {
        if (gameManager.gameState != GameManager.GameStates.Game || !isLocalPlayer)
        {
            return;
        }

        CmdAddScore(c.relativeVelocity.sqrMagnitude);

        if (c.relativeVelocity.sqrMagnitude < 100f)
        {
            return;
        }

        GameObject popup      = Instantiate(scorePopupPrefab.gameObject, transform);
        ScorePopup scorePopup = popup.GetComponent <ScorePopup>();

        scorePopup.SetScore(c.relativeVelocity.sqrMagnitude);
    }
Exemple #6
0
    public void AddScore(float s)
    {
        if (gameManager.gameState != GameManager.GameStates.Game || !isLocalPlayer)
        {
            return;
        }

        CmdAddScore(s);

        if (s < 100f)
        {
            return;
        }

        GameObject popup      = Instantiate(scorePopupPrefab.gameObject, transform);
        ScorePopup scorePopup = popup.GetComponent <ScorePopup>();

        scorePopup.SetScore(s);
    }
Exemple #7
0
    void OnCollisionEnter(Collision col)
    {
        if (source != null)
        {
            source.Play();
            source.pitch = Random.Range(0.1f, 1.9f);
        }

        if (col.gameObject.CompareTag("Player"))
        {
            Transform  spawnPos = transform;
            ScorePopup sp       = GameObject.Instantiate(scorePopupPrefab.gameObject, spawnPos.position, spawnPos.rotation).GetComponent <ScorePopup>();
            sp.SetScore(col.relativeVelocity.sqrMagnitude);

            PlayerHolder ph = col.gameObject.GetComponentInParent <PlayerHolder>();
            ph.Ui.AddScore(Mathf.FloorToInt(col.relativeVelocity.sqrMagnitude));

            this.enabled = false;
        }
    }