private void OnTriggerEnter2D(Collider2D collider) { if (collider.transform.tag == "BuyerBullet") { return; } if (collider.transform.tag == "PlayerBullet") { controller.DismissBuyer(); Destroy(collider.gameObject); } }
public void SellDrugs() { if (buyer.Message == null) { Debug.LogError("The buyer's message is null!"); return; } List <DrugType> drugTypes = new List <DrugType>(); List <int> drugTypeCounts = new List <int>(); foreach (Drug drug in drugs) { if (drugTypes.Contains(drug.Type)) { drugTypeCounts[drugTypes.IndexOf(drug.Type)]++; } else { drugTypes.Add(drug.Type); drugTypeCounts.Add(1); } } DrugType requestedDrugType = buyer.Message.DrugType; if (!drugTypes.Contains(requestedDrugType)) { ShowMessageDialog("Not Enough Stock", "You don't have the requested drug!"); return; } int index = drugTypes.IndexOf(requestedDrugType); if (drugTypeCounts[index] < buyer.Message.Amount) { ShowMessageDialog("Not Enough Stock", "You don't have enough of the requested drug!"); return; } int numDrugsToRemove = buyer.Message.Amount; Drug[] drugsToRemove = new Drug[numDrugsToRemove]; for (int i = 0; i < drugs.Count; i++) { Drug drug = drugs[i]; if (drug.Type == requestedDrugType) { drugsToRemove[drugsToRemove.Length - numDrugsToRemove] = drug; numDrugsToRemove--; if (numDrugsToRemove == 0) { break; } } } foreach (Drug drug in drugsToRemove) { drugs.Remove(drug); } int earnedMoney = buyer.Message.OfferedPrice; GameController.totalEarnedMoney += earnedMoney; if (GameController.totalEarnedMoney >= GameController.MoneyNeededToWin) { SceneManager.LoadScene("GameOverScene"); return; } Money += earnedMoney; buyer.DismissBuyer(); }