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); }
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; }
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); }
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(); }