private void setupTankList(bool calledByPlayer) { tankList.Clear(); // First find the amounts each tank type is filled with List <List <float> > resourceList = new List <List <float> >(); string[] resourceTankArray = resourceAmounts.Split(';'); for (int tankCount = 0; tankCount < resourceTankArray.Length; tankCount++) { resourceList.Add(new List <float>()); string[] resourceAmountArray = resourceTankArray[tankCount].Split(','); for (int amountCount = 0; amountCount < resourceAmountArray.Length; amountCount++) { try { resourceList[tankCount].Add(float.Parse(resourceAmountArray[amountCount])); } catch { Debug.Log("FSfuelSwitch: error parsing resource amount " + tankCount + "/" + amountCount + ": " + resourceTankArray[amountCount]); } } } // Then find the kinds of resources each tank holds, and fill them with the amounts found previously, or the amount hey held last (values kept in save persistence/craft) string[] tankArray = resourceNames.Split(';'); for (int tankCount = 0; tankCount < tankArray.Length; tankCount++) { FSmodularTank newTank = new FSmodularTank(); tankList.Add(newTank); string[] resourceNameArray = tankArray[tankCount].Split(','); for (int nameCount = 0; nameCount < resourceNameArray.Length; nameCount++) { engine.FSresource newResource = new engine.FSresource(resourceNameArray[nameCount].Trim(' ')); if (resourceList[tankCount] != null) { if (nameCount < resourceList[tankCount].Count) { newResource.maxAmount = resourceList[tankCount][nameCount]; if (calledByPlayer) { newResource.amount = resourceList[tankCount][nameCount]; } else { newResource.amount = getResource(nameCount); } } } newTank.resources.Add(newResource); } } }
private void setupTankList(bool calledByPlayer) { tankList = new List <FSmodularTank>(); weightList = new List <double>(); tankCostList = new List <double>(); // First find the amounts each tank type is filled with List <List <double> > resourceList = new List <List <double> >(); List <List <double> > initialResourceList = new List <List <double> >(); string[] resourceTankArray = resourceAmounts.Split(';'); string[] initialResourceTankArray = initialResourceAmounts.Split(';'); if (initialResourceAmounts.Equals("") || initialResourceTankArray.Length != resourceTankArray.Length) { initialResourceTankArray = resourceTankArray; } Log.dbg("FSDEBUGRES: {0} {1}", resourceTankArray.Length, resourceAmounts); for (int tankCount = 0; tankCount < resourceTankArray.Length; tankCount++) { resourceList.Add(new List <double>()); initialResourceList.Add(new List <double>()); string[] resourceAmountArray = resourceTankArray[tankCount].Trim().Split(','); string[] initialResourceAmountArray = initialResourceTankArray[tankCount].Trim().Split(','); if (initialResourceAmounts.Equals("") || initialResourceAmountArray.Length != resourceAmountArray.Length) { initialResourceAmountArray = resourceAmountArray; } for (int amountCount = 0; amountCount < resourceAmountArray.Length; amountCount++) { try { resourceList[tankCount].Add(double.Parse(resourceAmountArray[amountCount].Trim())); initialResourceList[tankCount].Add(double.Parse(initialResourceAmountArray[amountCount].Trim())); } catch { Log.err("FSfuelSwitch: error parsing resource amount {0}/{1}: '{2}': '{3}'", tankCount, amountCount, resourceTankArray[amountCount], resourceAmountArray[amountCount].Trim()); } } } // Then find the kinds of resources each tank holds, and fill them with the amounts found previously, or the amount hey held last (values kept in save persistence/craft) string[] tankArray = resourceNames.Split(';'); for (int tankCount = 0; tankCount < tankArray.Length; tankCount++) { FSmodularTank newTank = new FSmodularTank(); tankList.Add(newTank); string[] resourceNameArray = tankArray[tankCount].Split(','); for (int nameCount = 0; nameCount < resourceNameArray.Length; nameCount++) { engine.FSresource newResource = new engine.FSresource(resourceNameArray[nameCount].Trim(' ')); if (resourceList[tankCount] != null) { if (nameCount < resourceList[tankCount].Count) { newResource.maxAmount = resourceList[tankCount][nameCount]; newResource.amount = initialResourceList[tankCount][nameCount]; } } newTank.resources.Add(newResource); } } }
private void setupTankList(bool calledByPlayer) { tankList = new List<FSmodularTank>(); weightList = new List<double>(); tankCostList = new List<double>(); // First find the amounts each tank type is filled with List<List<double>> resourceList = new List<List<double>>(); List<List<double>> initialResourceList = new List<List<double>>(); string[] resourceTankArray = resourceAmounts.Split(';'); string[] initialResourceTankArray = initialResourceAmounts.Split(';'); if (initialResourceAmounts.Equals("") || initialResourceTankArray.Length != resourceTankArray.Length) { initialResourceTankArray = resourceTankArray; } //Debug.Log("FSDEBUGRES: " + resourceTankArray.Length+" "+resourceAmounts); for (int tankCount = 0; tankCount < resourceTankArray.Length; tankCount++) { resourceList.Add(new List<double>()); initialResourceList.Add(new List<double>()); string[] resourceAmountArray = resourceTankArray[tankCount].Trim().Split(','); string[] initialResourceAmountArray = initialResourceTankArray[tankCount].Trim().Split(','); if (initialResourceAmounts.Equals("") || initialResourceAmountArray.Length != resourceAmountArray.Length) { initialResourceAmountArray = resourceAmountArray; } for (int amountCount = 0; amountCount < resourceAmountArray.Length; amountCount++) { try { resourceList[tankCount].Add(double.Parse(resourceAmountArray[amountCount].Trim())); initialResourceList[tankCount].Add(double.Parse(initialResourceAmountArray[amountCount].Trim())); } catch { Debug.Log("FSfuelSwitch: error parsing resource amount " + tankCount + "/" + amountCount + ": '" + resourceTankArray[amountCount] + "': '" + resourceAmountArray[amountCount].Trim()+"'"); } } } // Then find the kinds of resources each tank holds, and fill them with the amounts found previously, or the amount hey held last (values kept in save persistence/craft) string[] tankArray = resourceNames.Split(';'); for (int tankCount = 0; tankCount < tankArray.Length; tankCount++) { FSmodularTank newTank = new FSmodularTank(); tankList.Add(newTank); string[] resourceNameArray = tankArray[tankCount].Split(','); for (int nameCount = 0; nameCount < resourceNameArray.Length; nameCount++) { engine.FSresource newResource = new engine.FSresource(resourceNameArray[nameCount].Trim(' ')); if (resourceList[tankCount] != null) { if (nameCount < resourceList[tankCount].Count) { newResource.maxAmount = resourceList[tankCount][nameCount]; newResource.amount = initialResourceList[tankCount][nameCount]; } } newTank.resources.Add(newResource); } } }