// Returns the new count of money public int DispenseABill(int current) { Money moneyPrefab; if (current >= purpleMoneyPrefab.StartingValue && Random.Range(0, 10) >= 8) { moneyPrefab = purpleMoneyPrefab; } else if (current >= blueMoneyPrefab.StartingValue && Random.Range(0, 10) >= 5) { moneyPrefab = blueMoneyPrefab; } else if (current >= redMoneyPrefab.StartingValue && Random.Range(0, 10) >= 2) { moneyPrefab = redMoneyPrefab; } else if (current >= greenMoneyPrefab.StartingValue) { moneyPrefab = greenMoneyPrefab; } else { return(0); } if (moneyManager != null) { moneyManager.AddIncome(moneyPrefab.Value); } AudioManager.main.PlayMoneyEffect(); Money instance = ObjectPooler.Instance.GetPooledObject(moneyPrefab.tag).GetComponent <Money>(); if (instance != null) { instance.t = Random.Range(0, instance.animationTime); instance.transform.position = transform.position; instance.transform.rotation = transform.rotation; instance.gameObject.SetActive(true); ObjectPooler.Instance.ReturnObjectToPoolAfterDelay(instance.gameObject, 5f); } return(current - moneyPrefab.StartingValue); }