public void InsertOres(Ore.OreType[] ores) { for (int i = 0; i < 2; i++) { if (ore1 == Ore.OreType.NONE) { ore1 = ores[i]; } else if (ore2 == Ore.OreType.NONE) { ore2 = ores[i]; } else if (ore3 == Ore.OreType.NONE) { ore3 = ores[i]; } else if (ore4 == Ore.OreType.NONE) { ore4 = ores[i]; } } if (ore1 != Ore.OreType.NONE && ore2 != Ore.OreType.NONE && ore3 != Ore.OreType.NONE && ore4 != Ore.OreType.NONE) { int val = ScoreOres(); gameManager.AddScore(val); if (val != baseScore && val != noMatchScore) { gameManager.IncreaseMultiplier(); } //Debug.Log("Scored " + val); } }
/*public void OresNeeded() * { * mithrilNeeded = Random.Range(3, 5); * adamantiteNeeded = Random.Range(3, 4); * goldNeeded = Random.Range(3, 5); * pyroniumNeeded = Random.Range(3, 5); * silverNeeded = 20 - (mithrilNeeded + adamantiteNeeded + goldNeeded + pyroniumNeeded); * for (int i = 0; i < mithrilNeeded; i++) * { * oresNeeded.Add(mithrilOre.GetComponent<Ore>()); * } * for (int i = 0; i < adamantiteNeeded; i++) * { * oresNeeded.Add(adamantiteOre.GetComponent<Ore>()); * } * for (int i = 0; i < goldNeeded; i++) * { * oresNeeded.Add(goldOre.GetComponent<Ore>()); * } * for (int i = 0; i < pyroniumNeeded; i++) * { * oresNeeded.Add(pyroniumOre.GetComponent<Ore>()); * } * for (int i = 0; i < silverNeeded; i++) * { * oresNeeded.Add(silverOre.GetComponent<Ore>()); * } * } * * public void ActiveOre() * { * oreCheck = "5"; * startTime = Time.time; * oreActive = oresNeeded[Random.Range(0, oresNeeded.Count)].oreType; * switch (oreActive) * { * case Ore.OreType.Mithril: * oreCheck = "0"; * activeOre = mithrilOre; * currentOre = mithrilOre.GetComponent<Ore>(); * //mithrilController.SetActive(true); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * break; * case Ore.OreType.Adamantite: * oreCheck = "1"; * activeOre = adamantiteOre; * currentOre = adamantiteOre.GetComponent<Ore>(); * //adamantiteController.SetActive(true); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * break; * case Ore.OreType.Gold: * oreCheck = "2"; * activeOre = goldOre; * currentOre = goldOre.GetComponent<Ore>(); * //goldController.SetActive(true); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * break; * case Ore.OreType.Pyronium: * oreCheck = "3"; * activeOre = pyroniumOre; * currentOre = pyroniumOre.GetComponent<Ore>(); * //pyroniumController.SetActive(true); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * break; * case Ore.OreType.Silver: * oreCheck = "4"; * activeOre = silverOre; * currentOre = silverOre.GetComponent<Ore>(); * //silverController.SetActive(true); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * break; * } * * stringMessage = "9"; * stringMessage += oreCheck; * //serialController.SendSerialMessage(stringMessage); * //print(stringMessage); * //Invoke("DeactivateOre", 3f); * * }*/ public void DeactivateOre() { startTime = Time.time; //serialController.SendSerialMessage("99"); oreActive = Ore.OreType.None; activeOre = null; /*mithrilController.SetActive(false); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * adamantiteController.SetActive(false); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * goldController.SetActive(false); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * pyroniumController.SetActive(false); //////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. * silverController.SetActive(false);*///////// FOR VISUAL ONLY. DELETE ON FINAL BUILD. Invoke("ActiveOre", 3f); }
int ScoreOres() { if (ore1 == ore2 && ore2 == ore3 && ore3 == ore4) { gameManager.SetLastPattern(new Ore.OreType[4] { ore1, ore2, ore3, ore4 }, baseScore); ore1 = Ore.OreType.NONE; ore2 = Ore.OreType.NONE; ore3 = Ore.OreType.NONE; ore4 = Ore.OreType.NONE; audioSource.PlayOneShot(lowSFX); return(baseScore); } else { int rtnVal = 0; for (int i = 0; i < 9; i++) { if (ore1 == patterns[i].ores[0] && ore2 == patterns[i].ores[1] && ore3 == patterns[i].ores[2] && ore4 == patterns[i].ores[3]) { rtnVal = patterns[i].Value; } } if (rtnVal == 0) { rtnVal = noMatchScore; } gameManager.SetLastPattern(new Ore.OreType[4] { ore1, ore2, ore3, ore4 }, rtnVal); ore1 = Ore.OreType.NONE; ore2 = Ore.OreType.NONE; ore3 = Ore.OreType.NONE; ore4 = Ore.OreType.NONE; if (rtnVal == noMatchScore) { audioSource.PlayOneShot(noMatchSFX); } else { audioSource.PlayOneShot(highSFX); } return(rtnVal); } }
public string EnumtoChar(Ore.OreType type) { switch (type) { case Ore.OreType.Mithril: return("0"); case Ore.OreType.Adamantite: return("1"); case Ore.OreType.Gold: return("2"); case Ore.OreType.Pyronium: return("3"); case Ore.OreType.Silver: return("4"); default: return("5"); } }
public Color OreToColor(Ore.OreType ore) { switch (ore) { case Ore.OreType.NONE: return(oreColors[0].color); case Ore.OreType.BLUE: return(oreColors[1].color); case Ore.OreType.GREEN: return(oreColors[2].color); case Ore.OreType.RED: return(oreColors[3].color); case Ore.OreType.YELLOW: return(oreColors[4].color); default: return(oreColors[0].color); } }
void OreHit(Ore.OreType type) { if (type == thisType /* && thisType == oreSwitcher.oreActive*/) { hitAmount++; if (hitAmount >= hitThreshold) { Instantiate(thisOre); stringMessage = EnumtoChar(type).ToString(); stringMessage += hitAmount; serialController.SendSerialMessage(stringMessage); hitAmount = 0; //oreSwitcher.DeactivateOre(); print(stringMessage); } else { stringMessage = EnumtoChar(type).ToString(); stringMessage += hitAmount; serialController.SendSerialMessage(stringMessage); print(stringMessage); } } }
private void HandleGrab() { //Debug.Log("Grab button pressed."); if (myCollider.IsTouching(lastCollider)) { //Debug.Log("Colliders match."); if ((carry1 == Ore.OreType.NONE || carry2 == Ore.OreType.NONE) && !IsCarryingUpgrade) { if (lastCollider.GetComponent <OreBox>() != null) { OreBox activeBox = lastCollider.GetComponent <OreBox>(); //Debug.Log("Grab used on " + lastCollider.name + " Ore Box (" + activeBox.GetBoxType().ToString() + ")."); if (activeBox.TakeOre()) { if (carry1 == Ore.OreType.NONE) { carry1 = activeBox.GetBoxType(); } else if (carry2 == Ore.OreType.NONE) { carry2 = activeBox.GetBoxType(); } //Debug.Log("Now carrying: " + carry1.ToString() + " and " + carry2.ToString() + "."); audioSource.PlayOneShot(grab); } else { //Debug.Log("Could not take ore. Box is empty."); audioSource.PlayOneShot(buzz); } } } else if (IsCarryingUpgrade) { if (lastCollider.GetComponent <OreBox>() != null) { OreBox activeBox = lastCollider.GetComponent <OreBox>(); //Debug.Log("Grab used on " + lastCollider.name + " Ore Box (" + activeBox.GetBoxType().ToString() + ")."); activeBox.SetCapacity(activeBox.Capacity + 2); //Debug.Log("Upgrade used."); audioSource.PlayOneShot(upgrade_use, 0.8f); IsCarryingUpgrade = false; } } if (lastCollider.GetComponent <UpgradeOTron>() != null) { UpgradeOTron upgradeOTron = lastCollider.GetComponent <UpgradeOTron>(); bool getUpgrade = false; getUpgrade = upgradeOTron.CheckOres(new Ore.OreType[2] { carry1, carry2 }); if (getUpgrade) { audioSource.PlayOneShot(upgrade, 0.5f); carry1 = Ore.OreType.NONE; carry2 = Ore.OreType.NONE; IsCarryingUpgrade = true; } else { audioSource.PlayOneShot(buzz); if (carry1 != Ore.OreType.NONE) { gameManager.DisplayMessage("Wrong ores! Process them!"); audioSource.PlayOneShot(buzz); } else { audioSource.PlayOneShot(buzz); } } } if (lastCollider.GetComponent <OreProcessor>() != null) { //Debug.Log("Activating Ore Processor."); OreProcessor processor = lastCollider.GetComponent <OreProcessor>(); //Debug.Log("Attempting to deposit Ore " + carry1.ToString() + " and " + carry2.ToString() + " into processor."); if (carry1 != Ore.OreType.NONE || carry2 != Ore.OreType.NONE) { //Debug.Log("Depositing Ores " + carry1.ToString() + " and " + carry2.ToString() + " into processor."); processor.InsertOres(new Ore.OreType[] { carry1, carry2 }); audioSource.PlayOneShot(drop); carry1 = Ore.OreType.NONE; carry2 = Ore.OreType.NONE; } } } }