Files
Fishing2/Assets/Scripts/Fishing2/Map/Map.cs
2025-09-03 00:15:43 +08:00

77 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using NBC;
using NBC.Entitas;
namespace NBF.Fishing2
{
public class Map : Entity
{
public int MapId;
/// <summary>
/// 好友房地图
/// </summary>
public bool IsRoomMap;
/// <summary>
/// 地图中的单位
/// </summary>
public Dictionary<long, MapUnit> Units = new Dictionary<long, MapUnit>();
/// <summary>
/// 创建地图单位
/// </summary>
/// <param name="map"></param>
public void CreteSelfMapUnit()
{
//创建自己
var role = Scene.GetComponent<Role>();
var mapUnitInfo = role.GetMapUnitInfo();
CreteMapUnit(mapUnitInfo);
}
public void CreteMapUnit(MapUnitInfo unitInfo)
{
var mapUnit = Entity.Create<MapUnit>(Scene, unitInfo.RoleInfo.RoleId, true, true);
Add(mapUnit);
}
/// <summary>
/// 获取一个单位
/// </summary>
/// <param name="self"></param>
/// <param name="id"></param>
/// <returns></returns>
public MapUnit GetUnit(long id)
{
return Units.GetValueOrDefault(id);
}
/// <summary>
/// 进入地图
/// </summary>
/// <param name="map"></param>
/// <param name="unit"></param>
/// <returns></returns>
public bool Add(MapUnit unit)
{
Units.Add(unit.Id, unit);
return true;
}
/// <summary>
/// 离开地图
/// </summary>
/// <param name="self"></param>
/// <param name="id"></param>
/// <returns></returns>
public bool Remove(long id)
{
return Units.Remove(id);
}
}
}