public void GenerateMoneyAtLocation(int MoneyValue, Vector3 Location, float SpawnRadius = 0.0f) { int toPay = MoneyValue; CoinData.Sort(SortCoinDataByValue); FCoinData toSpawn = null; while ((toSpawn = GetFirstAffordableCoin(toPay)) != null) { Vector3 randOffset = Random.insideUnitSphere * SpawnRadius; GameObject coinObj = Instantiate(toSpawn.CoinPrefab, Location + randOffset, Quaternion.identity); if (coinObj != null) { C_Coin coinScript = coinObj.GetComponent <C_Coin>(); if (coinScript != null) { coinScript.CoinValue = toSpawn.Value; } } toPay -= toSpawn.Value; } }
public static int SortCoinDataByValue(FCoinData a, FCoinData b) { return(-a.Value.CompareTo(b.Value)); }