public PolluterAttrib(PolluterAttrib other) { title = other.title; economicAttrib = (EconomicAttrib)other.economicAttrib.Clone(); pollutionAttrib = (PollutionAttrib)other.pollutionAttrib.Clone(); vulnerabilityAttrib = (VulnerabilityAttrib)other.vulnerabilityAttrib.Clone(); placementAttrib = other.placementAttrib; visualAttrib = (VisualAttrib)other.visualAttrib.Clone(); }
private bool CheckGraphicPolluter(PurchasableIcon purchasableIcon) { bool hasFoundData = false; PolluterAttrib attrib = purchasableIcon.GetPolluterAttributes(); if (attrib != null) { hasFoundData = true; polluterContent.textTitle.text = attrib.title; polluterContent.textDetails.text = "Price: " + attrib.economicAttrib.price + " Income: " + attrib.economicAttrib.profitPerTurn + "\nRemoval cost: " + attrib.economicAttrib.removalCost; VulnerabilityAttrib vulnerabilityAttrib = attrib.vulnerabilityAttrib; if (vulnerabilityAttrib.vulnerabilities != null) { string vulnerabilityString = ""; //"Vulnerable to "; foreach (VulnerabilityAttrib.Vulnerability v in vulnerabilityAttrib.vulnerabilities) { vulnerabilityString += v.disasterName + ": " + v.factor + " "; } polluterContent.textVulnerabilities.text = vulnerabilityString; } else { polluterContent.textVulnerabilities.text = ""; } PollutionMap map = new PollutionMap(attrib.pollutionAttrib.emissions); if (purchasableIcon.GetPolluterIcon().GetPolluter().GetEntityType() == EntityType.FILTER) { map = Util.MultiplyMap(map, (-1)); } VisualAttrib visualAttrib = attrib.visualAttrib; if (visualAttrib.imageName != "") { worldWindow.imageLoader.LoadImage(visualAttrib.imageName); imageToShow = true; } else { imageToShow = false; } imageIsDisaster = false; SetPieChart(polluterContent.pieChart, map); } return(hasFoundData); }
private bool CheckPolluter(GameObject targetGameObject) { bool hasFoundData = false; Polluter polluter = targetGameObject.GetComponentInChildren <Polluter>(); if (polluter != null) { hasFoundData = true; PolluterAttrib attrib = polluter.GetAttrib(); polluterContent.textTitle.text = attrib.title; polluterContent.textDetails.text = "Price: " + attrib.economicAttrib.price + " Income: " + attrib.economicAttrib.profitPerTurn + "\nRemoval cost: " + attrib.economicAttrib.removalCost; VulnerabilityAttrib vulnerabilityAttrib = attrib.vulnerabilityAttrib; if (vulnerabilityAttrib.vulnerabilities != null) { string vulnerabilityString = "Vulnerable to "; foreach (VulnerabilityAttrib.Vulnerability v in vulnerabilityAttrib.vulnerabilities) { vulnerabilityString += v.disasterName + ":" + v.factor + " "; } polluterContent.textVulnerabilities.text = vulnerabilityString; } else { polluterContent.textVulnerabilities.text = ""; } PollutionMap map = new PollutionMap(attrib.pollutionAttrib.emissions); if (polluter is Filter) { map = Util.MultiplyMap(map, (-1)); } VisualAttrib visualAttrib = attrib.visualAttrib; if (visualAttrib.imageName != "") { worldWindow.imageLoader.LoadImage(visualAttrib.imageName); imageToShow = true; } else { imageToShow = false; } imageIsDisaster = !polluter.IsAlive(); SetPieChart(polluterContent.pieChart, map); } return(hasFoundData); }
public object Clone() { if (vulnerabilities == null) { return(this); } var clone = new VulnerabilityAttrib { }; int length = vulnerabilities.Length; clone.vulnerabilities = new Vulnerability[length]; for (int i = 0; i != length; ++i) { clone.vulnerabilities[i] = (Vulnerability)vulnerabilities[i].Clone(); } return(clone); }