private Dictionary <string, int> CalcPrimary() { Dictionary <string, int> primary = new Dictionary <string, int>(); primary.Add("Thatch", 0); primary.Add("Fiber", 0); primary.Add("Wood", 0); primary.Add("Stone", 0); primary.Add("Metal", 0); primary.Add("Paste", 0); primary.Add("Polymer", 0); primary.Add("Crystal", 0); primary.Add("Element", 0); Dictionary <string, int> Foundation = new Dictionary <string, int>(); Dictionary <string, int> Walls = new Dictionary <string, int>(); Dictionary <string, int> Ceiling = new Dictionary <string, int>(); Dictionary <string, int> Doorframe = new Dictionary <string, int>(); Dictionary <string, int> Door = new Dictionary <string, int>(); Dictionary <string, int> Windowframe = new Dictionary <string, int>(); Dictionary <string, int> Window = new Dictionary <string, int>(); switch (primaryMaterial) { case "Thatch": { Thatch materialCost = new Thatch(); Foundation = materialCost.Foundation; Walls = materialCost.Wall; Ceiling = materialCost.Ceiling; Doorframe = materialCost.Doorframe; Door = materialCost.Door; break; } case "Wood": { Wood materialCost = new Wood(); Foundation = materialCost.Foundation; Walls = materialCost.Wall; Ceiling = materialCost.Ceiling; Doorframe = materialCost.Doorframe; Door = materialCost.Door; Windowframe = materialCost.Windowframe; Window = materialCost.Window; break; } case "Stone": { Stone materialCost = new Stone(); Foundation = materialCost.Foundation; Walls = materialCost.Wall; Ceiling = materialCost.Ceiling; Doorframe = materialCost.Doorframe; Door = materialCost.Door; Windowframe = materialCost.Windowframe; Window = materialCost.Window; break; } case "Metal": { Metal materialCost = new Metal(); Foundation = materialCost.Foundation; Walls = materialCost.Wall; Ceiling = materialCost.Ceiling; Doorframe = materialCost.Doorframe; Door = materialCost.Door; Windowframe = materialCost.Windowframe; Window = materialCost.Window; break; } case "Tek": { Tek materialCost = new Tek(); Foundation = materialCost.Foundation; Walls = materialCost.Wall; Ceiling = materialCost.Ceiling; Doorframe = materialCost.Doorframe; Door = materialCost.Door; Windowframe = materialCost.Windowframe; Window = materialCost.Window; break; } } foreach (KeyValuePair <string, int> kv in Foundation) { primary[kv.Key] += kv.Value * foundation; } foreach (KeyValuePair <string, int> kv in Walls) { primary[kv.Key] += kv.Value * walls; } foreach (KeyValuePair <string, int> kv in Ceiling) { primary[kv.Key] += kv.Value * roof; } foreach (KeyValuePair <string, int> kv in Doorframe) { primary[kv.Key] += kv.Value * doors; } foreach (KeyValuePair <string, int> kv in Door) { primary[kv.Key] += kv.Value * doors; } if (primaryMaterial != "Thatch") { foreach (KeyValuePair <string, int> kv in Windowframe) { primary[kv.Key] += kv.Value * windows; } foreach (KeyValuePair <string, int> kv in Window) { primary[kv.Key] += kv.Value * windows; } } return(primary); }
private Dictionary <string, int> CalcSecondary() { Dictionary <string, int> secondary = new Dictionary <string, int>(); secondary.Add("Thatch", 0); secondary.Add("Fiber", 0); secondary.Add("Wood", 0); secondary.Add("Stone", 0); secondary.Add("Metal", 0); secondary.Add("Paste", 0); secondary.Add("Polymer", 0); secondary.Add("Crystal", 0); secondary.Add("Element", 0); Dictionary <string, int> Ceiling = new Dictionary <string, int>(); switch (secondaryMaterial) { case "Thatch": { Thatch materialCost = new Thatch(); Ceiling = materialCost.Ceiling; break; } case "Wood": { Wood materialCost = new Wood(); Ceiling = materialCost.Ceiling; break; } case "Stone": { Stone materialCost = new Stone(); Ceiling = materialCost.Ceiling; break; } case "Metal": { Metal materialCost = new Metal(); Ceiling = materialCost.Ceiling; break; } case "Tek": { Tek materialCost = new Tek(); Ceiling = materialCost.Ceiling; break; } } foreach (KeyValuePair <string, int> kv in Ceiling) { secondary[kv.Key] += kv.Value * foundation * (floors - 1); } return(secondary); }