using System; using System.Collections.Generic; using System.Text; using Thousandto.Core.Base; using SceneEditor.Proxy.Plugin; namespace Thousandto.Code.Logic { /// /// 世界地图数据管理器 /// public class WorldMapInfoManager { //世界地图数据 private WorldMapInfoData _data = null; //世界地图数据 public WorldMapInfoData Data { get { return _data; } } //世界地图数据文件路径 public string WorldMapDataFilePath { get { return FileUtils.MapInfoDirPath + "/Minimap/" + MapInfoConstDefine.WorldMapDataFileName; } } //获取MiniMap数据信息 public MiniMapInfoData GetMiniMapInfo(string mapName) { if (Data.MiniMapDict.ContainsKey(mapName)) { return Data.MiniMapDict[mapName]; } return null; } public void Initialize() { WorldMapDataSerializer.ReadWorldMap(WorldMapDataFilePath,x=> { _data = x; }); } //设置World地图信息数据 public void SetWorldMapInfo(float mapSizeX, float mapSizeZ, float scale, float tempdata) { if (Data != null) { Data.Size = new UnityEngine.Vector2(mapSizeX, mapSizeZ); Data.WorldMapScale = scale; Data.TempData = tempdata; Save(); } } //设置Mini地图数据学习你 public void SetMiniMapInfo(string mapName, float mapSizeX,float mapSizeZ,float mapCameraPosX,float mapCameraPosZ) { if (Data != null) { if (Data.MiniMapDict.ContainsKey(mapName)) { Data.MiniMapDict[mapName].Size = new UnityEngine.Vector2(mapSizeX, mapSizeZ); Data.MiniMapDict[mapName].CameraPosition = new UnityEngine.Vector2(mapCameraPosX, mapCameraPosZ); } else { Data.MiniMapDict[mapName] = new MiniMapInfoData() { MapName = mapName, Size = new UnityEngine.Vector2(mapSizeX, mapSizeZ), CameraPosition = new UnityEngine.Vector2(mapCameraPosX, mapCameraPosZ) }; } Save(); } } //保存 private void Save() { if (_data != null) { WorldMapDataSerializer.WriteWorldMap(WorldMapDataFilePath, _data); } } } }