97 lines
2.8 KiB
C#
97 lines
2.8 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
using Thousandto.Core.Base;
|
|||
|
using SceneEditor.Proxy.Plugin;
|
|||
|
|
|||
|
namespace Thousandto.Code.Logic
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 世界地图数据管理器
|
|||
|
/// </summary>
|
|||
|
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);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|