private List <ChunkFacade> SpawnChunkFacades(SprintRequest sprintRequest) { List <ChunkFacade> chunkFacades = new List <ChunkFacade>(); int chunkNum = sprintRequest.startChunkNum; int endChunkNum = chunkNum - sprintRequest.chunkCount; int offset = sprintRequest.checkpointOverride ? 0 : 1; for (; chunkNum > endChunkNum + offset; --chunkNum) { ChunkRequest chunkRequest = new ChunkRequest() { chunkNum = chunkNum, chunkCount = sprintRequest.totalChunkCount, sprintEndChunkNum = endChunkNum + 1, biome = biomePickingStrategy.Pick(biomes, altitude), }; ChunkFacade chunkFacade = chunkFacadeFactory.Create(chunkRequest); altitude = chunkFacade.Position.y; chunkFacades.Add(chunkFacade); } return(chunkFacades); }
public Checkpoint Create(ChunkRequest chunkRequest, float altitude) { ChunkRequest checkpointRequest = new ChunkRequest() { chunkNum = chunkRequest.chunkNum, chunkCount = chunkRequest.chunkCount, sprintEndChunkNum = chunkRequest.sprintEndChunkNum, biome = biomePickingStrategy.Pick(biomes, altitude), }; ChunkFacade chunkFacade = chunkFacadeFactory.Create(checkpointRequest); Checkpoint checkpoint = container.Instantiate <Checkpoint>(checkpointNum, chunkFacade); checkpointNum++; checkpoint.Initialize(); return(checkpoint); }