地图系统

This commit is contained in:
2026-06-05 18:41:33 +08:00
parent 613f2a4d13
commit fe4fd60083
234 changed files with 33090 additions and 4899 deletions

View File

@@ -1,6 +1,7 @@
using System;
using UnityEngine;
using BaseGames.Core;
using BaseGames.Core.Events;
namespace BaseGames.World.Map
{
@@ -29,6 +30,10 @@ namespace BaseGames.World.Map
"例如:关卡第一个房间的世界左下角在 (-36, -18) 时,此处填 (-36, -18)。")]
[SerializeField] private Vector2 _worldOriginOffset = Vector2.zero;
[Tooltip("玩家进入新房间时广播此频道EVT_RoomEnteredMapManager 据此标记已探索、" +
"RoomStreamingManager 重算流式集、EventChainManager 触发房间条件。留空则不广播。")]
[SerializeField] private StringEventChannelSO _onRoomEntered;
/// <summary>玩家当前所在房间 ID未在任何已知房间内时为 null。</summary>
public string CurrentRoomId { get; private set; }
@@ -101,7 +106,10 @@ namespace BaseGames.World.Map
_currentRoom = _database.GetRoom(newRoomId);
if (newRoomId != prevRoomId)
{
OnRoomChanged?.Invoke(newRoomId);
_onRoomEntered?.Raise(newRoomId); // 生产者:进房广播,驱动地图揭示/流式/事件链
}
}
// 每帧从世界坐标精确计算归一化位置,实现平滑图标跟随