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); }
void TargetPopup(NetworkConnection target, float s) { if (isLocalPlayer) { GameObject popup = Instantiate(scorePopupPrefab.gameObject, transform); ScorePopup scorePopup = popup.GetComponent <ScorePopup>(); scorePopup.SetScore(s); } }
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!"); } }
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); }
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); }
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; } }