Example #1
0
 public void initWorld()
 {
     RiceTerrainTile.initResources(); // gestiona los recursos de forma eficiente
     initResources();                 // gestiona los recursos de forma eficiente
     initWorldData();
     initWorldRepresentation();
 }
Example #2
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();
    }