IEnumerator ChangeItem(GameObject _newItem) { if (item != null) { item.SetPosition(-2.0f * Vector3.up); item.CancelActivation(); SoundManager.instance.StopSound(item.source); yield return(new WaitForSeconds(0.2f)); Destroy(item.gameObject); item = null; } if (_newItem != null) { if (DataManager.instance.isMulti) { if (!isServer) { yield break; } item = Instantiate(_newItem, transform).GetComponent <Interactible>(); NetworkServer.Spawn(item.gameObject); RpcChangeItem(item.gameObject, gameObject); } else { item = Instantiate(_newItem, transform).GetComponent <Interactible>(); item.gameObject.SetActive(true); item.transform.localPosition = -2.0f * Vector3.up; item.SetPosition(Vector3.zero); } } }