public void UnitsHealthUpdated(HitPointsManager hitpointsManager) { if (hitpointsManager.tag.Equals("Player") && hitpointsManager.photonView.isMine) { SetHullBar((float)hitpointsManager.health / (float)hitpointsManager.maxHealth); } if (PhotonNetwork.isMasterClient && hitpointsManager.health <= 0 && !hitpointsManager.tag.Equals("Player")) { PhotonNetwork.Destroy(hitpointsManager.gameObject); SpawnExplosion(hitpointsManager.transform.position); } }
// Use this for initialization void Start() { hitpointsManager = GetComponent <HitPointsManager>(); gameManager = FindObjectOfType <GameManager>(); if (!photonView.isMine) { Rigidbody rb = GetComponent <Rigidbody>(); rb.isKinematic = true; return; } terrainCollider = GameObject.FindObjectOfType <TerrainCollider>(); originalRotation = transform.localRotation; }
void OnCollisionEnter(Collision col) { if (photonView.owner.IsLocal) { HitPointsManager hitpoints = col.gameObject.GetComponent <HitPointsManager>(); if (hitpoints != null) { hitpoints.TakeDamage(directHitpointsDamage); } Vector3 pos = col.contacts[0].point; //gameManager.SpawnExplosion(pos); PhotonNetwork.Instantiate(gameManager.explosionPrefab.name, pos, Quaternion.identity, 0); PhotonNetwork.Destroy(gameObject); } }