コード例 #1
0
 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();
 }
コード例 #2
0
    public object Clone()
    {
        var clone = new PollutionAttrib {
        };

        if (emissions != null)
        {
            clone.emissions = new Emission[emissions.Length];
            for (int i = 0; i != clone.emissions.Length; ++i)
            {
                clone.emissions[i] = (Emission)emissions[i].Clone();
            }
        }
        return(clone);
    }
コード例 #3
0
    public void SetBaseEmission(PollutionAttrib attrib)
    {
        var baseEmission           = new PollutionMap(attrib.emissions);
        var baseEmissionComps      = GetComponentsInChildren <BaseEmission>();
        var validBaseEmissionComps = new List <BaseEmission>();

        foreach (var comp in baseEmissionComps)
        {
            if (comp.gameObject.activeInHierarchy)
            {
                validBaseEmissionComps.Add(comp);
            }
        }
        var divided = Util.DivideMap(baseEmission, baseEmissionComps.Length);

        foreach (var comp in validBaseEmissionComps)
        {
            comp.SetLocalPollution(divided);
        }
    }