private void Update() { if (destroy) { Networking.Destroy(this); return; } if (NetworkingManager.IsOnline && !OwningNetWorker.IsServer) { return; } // To check if we are dead if (_dead) { return; } if (Health <= 0) // Zombie died! { _dead = true; Networking.Destroy(this); // Destroy it! :) } else { ForgePlayer_Zombie closestPlayer = null; float dist = 100; // Min distance // Check for the closest player foreach (ForgePlayer_Zombie player in ForgePlayer_Zombie.ZombiePlayers) { float distance = Vector3.Distance(player.transform.position, transform.position); if (distance < dist) { closestPlayer = player; dist = distance; } } if (closestPlayer != null && dist > 2) // Move towards the closest player { transform.position -= (transform.position - closestPlayer.transform.position) * Time.deltaTime; } } }
public void OnTriggerEnter(Collider other) { if (NetworkingManager.IsOnline && !NetworkingManager.Socket.IsServer) { return; } if (other.gameObject.name.Contains("CubePlayerGuy")) { ForgePlayer_Zombie player = other.GetComponent <ForgePlayer_Zombie>(); //A player hit this powerup! player.RPC("EnableRapidFire", NetworkReceivers.All); Debug.Log("Powerup Triggered for " + other.gameObject.name); Networking.Destroy(this); } }