public void MainInitialize(WorldTerrainData terrainData)
 {
     WorldTerrainData = terrainData;
     WorldRandom.Randomize(WorldTerrainData.Seed);
     InitTrees();
     InitVegetation();
     InitChunkManager();
 }
        public JsonToSchematic(string path) : base(path)
        {
            JsonBaseImportData data = JsonConvert.DeserializeObject <JsonBaseImportData>(File.ReadAllText(path));

            switch (data.GeneratorType)
            {
            case GeneratorType.Terrain:
                string           directoryName    = Path.GetDirectoryName(path);
                WorldTerrainData worldTerrainData = data as WorldTerrainData;
                worldTerrainData.DirectoryPath = directoryName;
                mGenerator = new TerrainGenerator(worldTerrainData);
                break;

            case GeneratorType.City:
                break;
            }
            Console.WriteLine(data);
        }
Example #3
0
 public void save(WorldTerrainData worldTerrainData)
 {
     worldTerrainData.ChunkTilesPos = chunkTilesPos;
     worldTerrainData.NumTilesX     = numTilesX;
     worldTerrainData.NumTilesY     = numTilesY;
     worldTerrainData.RiceTerrains  = new RiceTerrainTileData[numTilesY, numTilesX];
     for (uint i = 0; i < numTilesY; ++i)
     {
         for (uint j = 0; j < numTilesX; ++j)
         {
             if (riceTerrains[i, j] != null)
             {
                 worldTerrainData.RiceTerrains[i, j] = new RiceTerrainTileData();
                 worldTerrainData.RiceTerrains[i, j].ActionsDoneInTheYear = riceTerrains[i, j].getActionsDone();
                 worldTerrainData.RiceTerrains[i, j].ChunkID              = riceTerrains[i, j].getChunkNumber();
                 worldTerrainData.RiceTerrains[i, j].Col                  = riceTerrains[i, j].getCol();
                 worldTerrainData.RiceTerrains[i, j].DaysBurning          = riceTerrains[i, j].DaysBurning;
                 worldTerrainData.RiceTerrains[i, j].DaysPlanted          = riceTerrains[i, j].DaysPlanted;
                 worldTerrainData.RiceTerrains[i, j].HasAlreadyBeenWorked = riceTerrains[i, j].HasAlreadyBeenWorked;
                 worldTerrainData.RiceTerrains[i, j].HasAppliedFangueig   = riceTerrains[i, j].HasAppliedFangueig;
                 worldTerrainData.RiceTerrains[i, j].HasAppliedHerbicide  = riceTerrains[i, j].HasAppliedHerbicide;
                 worldTerrainData.RiceTerrains[i, j].IsBurningRostoll     = riceTerrains[i, j].IsBurningRostoll;
                 worldTerrainData.RiceTerrains[i, j].LocalTileID          = riceTerrains[i, j].LocalTileID;
                 worldTerrainData.RiceTerrains[i, j].PlagueData           = new PlageData(riceTerrains[i, j].Plague.type, riceTerrains[i, j].Plague.active);
                 worldTerrainData.RiceTerrains[i, j].RiceState            = riceTerrains[i, j].RiceState;
                 worldTerrainData.RiceTerrains[i, j].Row                  = riceTerrains[i, j].getRow();
                 worldTerrainData.RiceTerrains[i, j].TerrainState         = riceTerrains[i, j].TerrainState;
                 worldTerrainData.RiceTerrains[i, j].WeedData             = new WeedData(riceTerrains[i, j].Weed.type, riceTerrains[i, j].Weed.day, riceTerrains[i, j].Weed.PenalizationDay);
             }
             else
             {
                 worldTerrainData.RiceTerrains[i, j] = null;
             }
         }
     }
     worldTerrainData.Vegetation = new Dictionary <uintPair, VegID>();
     foreach (KeyValuePair <uintPair, Vegetation> veggie in vegetation)
     {
         worldTerrainData.Vegetation.Add(veggie.Key, veggie.Value.CurrentVegetation);
     }
     worldTerrainData.WorldTerrainID   = worldTerrainID;
     worldTerrainData.WorldTerrainType = worldTerrainType;
     worldTerrainData.ChunkNextID      = chunkNextID;
 }
Example #4
0
 public GameSaveData()
 {
     ActionManagerData        = new ActionManagerData();
     BuildingManagerData      = new BuildingManagerData();
     TimeManagerData          = new TimeManagerData();
     CoopManagerData          = new CoopManagerData();
     UserDataManagerData      = new UserDataManagerData();
     InvestigationManagerData = new InvestigationManagerData();
     LogicManagerData         = new LogicManagerData();
     CanalManagerData         = new CanalManagerData();
     PenalizationManagerData  = new PenalizationManagerData();
     PhaseManagerData         = new PhaseManagerData();
     PlagueManagerData        = new PlagueManagerData();
     RankingManagerData       = new RankingManagerData();
     RiceObjectManagerData    = new RiceObjectManagerData();
     WeedFactoryData          = new WeedFactoryData();
     WorkerManagerData        = new WorkerManagerData();
     WorldTerrainData         = new WorldTerrainData();
     tutorialManagerData      = new TutorialManagerData();
 }
 public TerrainGenerator(WorldTerrainData worldTerrainData)
 {
     TerrainEnvironment.Instance.MainInitialize(worldTerrainData);
 }
Example #6
0
    public void load(WorldTerrainData worldTerrainData)
    {
        RiceTerrainTile.initResources(); // gestiona los recursos de forma eficiente
        initResources();                 // gestiona los recursos de forma eficiente

        //initWorldData();
        numTilesX                  = worldTerrainData.NumTilesX;
        numTilesY                  = worldTerrainData.NumTilesY;
        worldTerrainType           = worldTerrainData.WorldTerrainType;
        worldTerrainID             = worldTerrainData.WorldTerrainID;
        worldTerrainRepresentation = new GameObject[numTilesY, numTilesX];
        riceTerrains               = new RiceTerrainTile[numTilesY, numTilesX]; //construir
        for (uint i = 0; i < numTilesY; ++i)
        {
            for (uint j = 0; j < numTilesX; ++j)
            {
                if (worldTerrainData.RiceTerrains[i, j] != null)
                {
                    riceTerrains[i, j] = new RiceTerrainTile();
                    riceTerrains[i, j].setActionsDone(worldTerrainData.RiceTerrains[i, j].ActionsDoneInTheYear);
                    riceTerrains[i, j].setChunkNumber(worldTerrainData.RiceTerrains[i, j].ChunkID);
                    riceTerrains[i, j].setCol(worldTerrainData.RiceTerrains[i, j].Col);
                    riceTerrains[i, j].DaysBurning          = worldTerrainData.RiceTerrains[i, j].DaysBurning;
                    riceTerrains[i, j].DaysPlanted          = worldTerrainData.RiceTerrains[i, j].DaysPlanted;
                    riceTerrains[i, j].HasAlreadyBeenWorked = worldTerrainData.RiceTerrains[i, j].HasAlreadyBeenWorked;
                    riceTerrains[i, j].HasAppliedFangueig   = worldTerrainData.RiceTerrains[i, j].HasAppliedFangueig;
                    riceTerrains[i, j].HasAppliedHerbicide  = worldTerrainData.RiceTerrains[i, j].HasAppliedHerbicide;
                    riceTerrains[i, j].IsBurningRostoll     = worldTerrainData.RiceTerrains[i, j].IsBurningRostoll;
                    riceTerrains[i, j].LocalTileID          = worldTerrainData.RiceTerrains[i, j].LocalTileID;
                    if (worldTerrainData.RiceTerrains[i, j].PlagueData.Active)
                    {
                        riceTerrains[i, j].changePlagueState(worldTerrainData.RiceTerrains[i, j].PlagueData.Type);
                    }
                    riceTerrains[i, j].RiceState = worldTerrainData.RiceTerrains[i, j].RiceState;
                    riceTerrains[i, j].setRow(worldTerrainData.RiceTerrains[i, j].Row);
                    riceTerrains[i, j].TerrainState = worldTerrainData.RiceTerrains[i, j].TerrainState;
                    if (worldTerrainData.RiceTerrains[i, j].WeedData.Type != TypeWeed.NONE)
                    {
                        riceTerrains[i, j].changeWeedState(worldTerrainData.RiceTerrains[i, j].WeedData.Type, worldTerrainData.RiceTerrains[i, j].WeedData.Day,
                                                           worldTerrainData.RiceTerrains[i, j].WeedData.PenalizationDay);
                    }
                    riceTerrains[i, j].updateTerrainRepresentation();
                    riceTerrains [i, j].InstantiateImages();
                }
                else
                {
                    worldTerrainData.RiceTerrains[i, j] = null;
                }
            }
        }
        chunkTilesPos = worldTerrainData.ChunkTilesPos;
        vegetation    = new Dictionary <uintPair, Vegetation>(); //construir
        foreach (KeyValuePair <uintPair, VegID> veggie in worldTerrainData.Vegetation)
        {
            vegetation.Add(veggie.Key, new Vegetation(veggie.Key.First, veggie.Key.Second, veggie.Value));
        }
        canalManager = new CanalManager();
        _weedFactory = new WeedFactory(this, RICE_CHUNK_W * RICE_CHUNK_H);
        chunkNextID  = worldTerrainData.ChunkNextID;

        initWorldRepresentation();
    }