Exemple #1
0
    /// <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);
    }
Exemple #2
0
    /// <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);
    }
Exemple #5
0
    /// <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);
    }
Exemple #8
0
 /// <summary>
 /// 获取世界数据
 /// </summary>
 /// <returns></returns>
 public ChunkSaveBean GetChunkSaveData(string userId, WorldTypeEnum worldType, Vector3Int position)
 {
     return(controllerForChunkSave.GetChunkSaveData(userId, worldType, position, null));
 }
Exemple #9
0
 /// <summary>
 /// 根据世界类型获取生态数据
 /// </summary>
 /// <param name="worldType"></param>
 /// <returns></returns>
 public virtual Biome[] GetBiomeListByWorldType(WorldTypeEnum worldType)
 {
     lock (lockForBiome)
     {
         //如果已经有了
         if (dicWorldBiome.TryGetValue((int)worldType, out Biome[] arrayBiome))
Exemple #10
0
    /// <summary>
    /// 获取游戏数据
    /// </summary>
    /// <returns></returns>
    public ChunkSaveBean GetChunkSaveData(string userId, WorldTypeEnum worldType, Vector3Int position)
    {
        ChunkSaveBean data = serviceChunkSave.QueryData(userId, worldType, position);

        return(data);
    }
Exemple #11
0
 /// <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();
 }
Exemple #12
0
 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();
 }