コード例 #1
0
    public void Load(ColonyControllerSerializer ccs)
    {
        if (storage == null)
        {
            storage = gameObject.AddComponent <Storage>();
        }
        storage.Load(ccs.storageSerializer);
        gears_coefficient             = ccs.gears_coefficient;
        labourEfficientcy_coefficient = ccs.labourEfficientcy_coefficient;
        happiness_coefficient         = ccs.happiness_coefficient;
        health_coefficient            = ccs.health_coefficient;
        birthrateCoefficient          = ccs.birthrateCoefficient;

        energyStored        = ccs.energyStored;
        energyCrystalsCount = ccs.energyCrystalsCount;
        if (ccs.worksites.Count > 0)
        {
            foreach (WorksiteSerializer ws in ccs.worksites)
            {
                Worksite w = null;
                switch (ws.type)
                {
                case WorksiteType.BlockBuildingSite:
                    w = new BlockBuildingSite();
                    break;

                case WorksiteType.CleanSite:
                    w = new CleanSite();
                    break;

                case WorksiteType.DigSite:
                    w = new DigSite();
                    break;

                case WorksiteType.GatherSite:
                    w = new GatherSite();
                    break;

                case WorksiteType.TunnelBuildingSite:
                    w = new TunnelBuildingSite();
                    break;
                }
                w.Load(ws);
            }
        }
        freeWorkers          = ccs.freeWorkers;
        citizenCount         = ccs.citizenCount;
        deathCredit          = ccs.deathCredit;
        peopleSurplus        = ccs.peopleSurplus;
        housingTimer         = ccs.housingTimer;
        starvationTimer      = ccs.starvationTimer;
        starvationTime       = ccs.starvationTime;
        realBirthrate        = ccs.realBirthrate;
        birthrateCoefficient = ccs.birthrateCoefficient;
    }
コード例 #2
0
    public ColonyControllerSerializer Save()
    {
        ColonyControllerSerializer ccs = new ColonyControllerSerializer();

        ccs.storageSerializer             = storage.Save();
        ccs.gears_coefficient             = gears_coefficient;
        ccs.labourEfficientcy_coefficient = labourEfficientcy_coefficient;
        ccs.happiness_coefficient         = happiness_coefficient;
        ccs.health_coefficient            = health_coefficient;
        ccs.birthrateCoefficient          = birthrateCoefficient;

        ccs.energyStored        = energyStored;
        ccs.energyCrystalsCount = energyCrystalsCount;
        ccs.worksites           = new List <WorksiteSerializer>();
        foreach (Worksite w in worksites)
        {
            if (w == null)
            {
                continue;
            }
            WorksiteSerializer wbs = w.Save();
            if (wbs == null)
            {
                continue;
            }
            ccs.worksites.Add(wbs);
        }
        ccs.freeWorkers          = freeWorkers;
        ccs.citizenCount         = citizenCount;
        ccs.deathCredit          = deathCredit;
        ccs.peopleSurplus        = peopleSurplus;
        ccs.housingTimer         = housingTimer;
        ccs.starvationTimer      = starvationTimer;
        ccs.starvationTime       = starvationTime;
        ccs.real_birthrate       = realBirthrate;
        ccs.birthrateCoefficient = birthrateCoefficient;
        return(ccs);
    }