地图系统
This commit is contained in:
@@ -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_RoomEntered):MapManager 据此标记已探索、" +
|
||||
"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); // 生产者:进房广播,驱动地图揭示/流式/事件链
|
||||
}
|
||||
}
|
||||
|
||||
// 每帧从世界坐标精确计算归一化位置,实现平滑图标跟随
|
||||
|
||||
Reference in New Issue
Block a user