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