/// <summary> /// 删除数据 /// </summary> public void DeleteData(string userId, WorldTypeEnum worldType, Vector3Int position) { string worldName = saveFileName + "_" + EnumExtension.GetEnumName(worldType); string fileName = "w_" + position.x + "_" + position.z; BaseDeleteFile(userId + "/" + worldName + "/" + fileName); }
/// <summary> /// 查询数据 /// </summary> /// <returns></returns> public ChunkSaveBean QueryData(string userId, WorldTypeEnum worldType, Vector3Int position) { string worldName = saveFileName + "_" + EnumExtension.GetEnumName(worldType); string fileName = "w_" + position.x + "_" + position.z; return(BaseLoadData(userId + "/" + worldName + "/" + fileName)); }
/// <summary> /// 设置远景模糊 /// </summary> /// <param name="worldType"></param> public void SetDepthOfField(WorldTypeEnum worldType) { if (worldType == WorldTypeEnum.Launch) { manager.SetDepthOfField(2, 3, 10, 20); } else { manager.SetDepthOfField(1f, 4f, 60, 80); } }
/// <summary> /// 获取数据 /// </summary> /// <param name="action"></param> /// <returns></returns> public ChunkSaveBean GetChunkSaveData(string userId, WorldTypeEnum worldType, Vector3Int position, Action <ChunkSaveBean> action) { ChunkSaveBean data = GetModel().GetChunkSaveData(userId, worldType, position); if (data == null) { GetView().GetChunkSaveFail("没有数据", null); return(null); } GetView().GetChunkSaveSuccess(data, action); return(data); }
/// <summary> /// 更新数据 /// </summary> /// <param name="gameConfig"></param> public void UpdateData(ChunkSaveBean data) { WorldTypeEnum worldType = data.GetWorkType(); string worldName = saveFileName + "_" + EnumExtension.GetEnumName(worldType); string fileName = "w_" + data.position.x + "_" + data.position.z; FileUtil.CreateDirectory(dataStoragePath + "/" + data.userId); FileUtil.CreateDirectory(dataStoragePath + "/" + data.userId + "/" + worldName); if (data.userId != null) { BaseSaveData(data.userId + "/" + worldName + "/" + fileName, data); } }
/// <summary> /// 根据世界类型获取天气类型 /// </summary> /// <param name="worldType"></param> public List <WeatherTypeEnum> GetWeatherTypeListByWorldType(WorldTypeEnum worldType) { List <WeatherTypeEnum> listWeatherType = new List <WeatherTypeEnum>(); switch (worldType) { case WorldTypeEnum.Main: if (listWeatherForMain.IsNull()) { listWeatherForMain.Add(WeatherTypeEnum.Sunny); listWeatherForMain.Add(WeatherTypeEnum.Cloudy); listWeatherForMain.Add(WeatherTypeEnum.Rain); } listWeatherType = listWeatherForMain; break; } return(listWeatherType); }
public BiomeMapData[,] GetBiomeMapData(Chunk chunk) { WorldTypeEnum worldType = WorldCreateHandler.Instance.manager.worldType; //获取该世界的所有生态 Biome[] listBiome = manager.GetBiomeListByWorldType(worldType); //获取一定范围内的生态点 Vector3Int[] listBiomeCenter = GetBiomeCenterPosition(chunk, 5, 10); //添加新的数据 BiomeMapData[,] mapData = new BiomeMapData[chunk.chunkData.chunkWidth, chunk.chunkData.chunkHeight]; for (int x = 0; x < chunk.chunkData.chunkWidth; x++) { for (int z = 0; z < chunk.chunkData.chunkWidth; z++) { BiomeMapData biomeMap = new BiomeMapData(); biomeMap.InitData(new Vector3Int(x + chunk.chunkData.positionForWorld.x, chunk.chunkData.positionForWorld.y, chunk.chunkData.positionForWorld.z + z), listBiomeCenter, listBiome); mapData[x, z] = biomeMap; } } return(mapData); }
/// <summary> /// 获取世界数据 /// </summary> /// <returns></returns> public ChunkSaveBean GetChunkSaveData(string userId, WorldTypeEnum worldType, Vector3Int position) { return(controllerForChunkSave.GetChunkSaveData(userId, worldType, position, null)); }
/// <summary> /// 根据世界类型获取生态数据 /// </summary> /// <param name="worldType"></param> /// <returns></returns> public virtual Biome[] GetBiomeListByWorldType(WorldTypeEnum worldType) { lock (lockForBiome) { //如果已经有了 if (dicWorldBiome.TryGetValue((int)worldType, out Biome[] arrayBiome))
/// <summary> /// 获取游戏数据 /// </summary> /// <returns></returns> public ChunkSaveBean GetChunkSaveData(string userId, WorldTypeEnum worldType, Vector3Int position) { ChunkSaveBean data = serviceChunkSave.QueryData(userId, worldType, position); return(data); }
/// <summary> /// 获取位置 /// </summary> /// <param name="worldType"></param> /// <param name="position"></param> public void GetWorldPosition(out WorldTypeEnum worldType, out Vector3 position) { worldType = (WorldTypeEnum)this.worldType; position = this.position.GetVector3(); }
public void SetWorldType(WorldTypeEnum worldType) { this.worldType = (int)worldType; }
/// <summary> /// 设置世界类型 /// </summary> /// <param name="worldType"></param> public void SetWorldType(WorldTypeEnum worldType) { manager.worldType = worldType; BiomeHandler.Instance.InitWorldBiomeData(); }