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();
 }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }