using System.Collections; using System.Collections.Generic; using Mirror; using UnityEngine; public class pickup : NetworkBehaviour { public string lootType = "default"; public item lootData; float updaterInterval = 0.4f; void Awake(){ updaterInterval += Random.Range(0,0.2f); } float t = 0; public float pickupDistance = 2; public float closestPlayerDist = float.MaxValue; [Server] void Update(){ if(t < updaterInterval){ t += Time.deltaTime; }else{ ScanPlayers(); t=0; } } void ScanPlayers(){ playerNetwork[] players = FindObjectsOfType(); if(players.Length <=0){return;} playerNetwork closestPlayer = players[0]; closestPlayerDist = float.MaxValue; foreach(playerNetwork player in players){ float dist = Vector3.Distance(transform.position, player.transform.position); if(dist < closestPlayerDist){ closestPlayer = player; closestPlayerDist= dist; } } if(closestPlayerDist < pickupDistance){ closestPlayer.PickupObject(this); NetworkServer.Destroy(gameObject); } } // private void OnTriggerEnter2D(Collider2D other) { // if(other.CompareTag("Player")){ // for(int i = 0; i < inventory.slots.Length ; i++){ // if(inventory.isFull[i] == false){ // //then the item can be addded to the inventory // inventory.isFull[i] = true; // //instantiate the pickup item // Instantiate(itemBtn , inventory.slots[i].transform , false); // Destroy(gameObject); // break; // } // } // } // } }