List <GameObject> upgradeItems(List <GameObject> itemsToUpgrade) { List <GameObject> upgradedItems = new List <GameObject>(); Debug.Log("Upgrading items..."); foreach (GameObject item in itemsToUpgrade) { if (currentSetting == upgradeSetting.FINE) //Fine setting { switch (item.name) { case "Keycard": KeycardAuth keycard = item.GetComponent <KeycardAuth>(); if (keycard.Lvl >= 3) { GameObject playingCard = Instantiate(itemsHolder.items["Playing Card"]); playingCard.transform.position = item.transform.position; Destroy(item); upgradedItems.Add(playingCard); break; } keycard.Lvl++; upgradedItems.Add(item); break; default: upgradedItems.Add(item); break; } } } return(upgradedItems); }
private void OnCollisionEnter(Collision collision) { Debug.Log(collision.gameObject.name); if (collision.gameObject.tag == "Keycard" && !doorIsOpening) { KeycardAuth ksScript = collision.gameObject.GetComponent <KeycardAuth>(); if (ksScript.Lvl >= lvl) { Debug.Log("Open door"); if (isCheckpoit) { StartCoroutine(fullCycleDoor()); } else { StartCoroutine(changeDoor()); } } else { Debug.Log("Keycard is not high enough level!"); } } }