(client) feat:添加游玩时UI相关贴图,添加3d模型场景按钮,添加多级调色进度条,添加SVG图片包,添加事件定义以及管理器,添加音频管理器,定义部分怪物,添加通信协议定义;fix:修复维度切换错误,修复LogUI显示不正确 (#55)

Co-authored-by: m0_75251201 <m0_75251201@noreply.gitcode.com>
Reviewed-on: #55
This commit is contained in:
2025-09-03 19:59:22 +08:00
parent 450b15e4df
commit 78849e0cc5
208 changed files with 16296 additions and 2228 deletions

View File

@ -17,6 +17,8 @@ namespace Map
[SerializeField] public MapGenerator mapGenerator;
public Vector3 cameraPosition;
public Entity.Entity focusEntity;
/// <summary>
/// 获取此维度的唯一标识符。
/// </summary>
@ -42,39 +44,27 @@ namespace Map
private void Awake()
{
// 1. 确保 DimensionId 已初始化,这会触发 DimensionId 属性的 getter 逻辑
var id = DimensionId;
// 2. 创建一个用于存放此维度下所有实体的根GameObject方便管理
var rootObj = new GameObject($"_Entities_{id}");
rootObj.transform.SetParent(this.transform); // 将其作为Dimension对象的子对象
DimensionRoot = rootObj.transform;
// 3. 注册此维度到 Program
if (Program.Instance != null) // 检查单例是否仍然存在
{
Program.Instance.RegisterDimension(this);
}
else
{
Debug.LogError(
"[Dimension] Program.Instance is null during Dimension Awake. Cannot register dimension.", this);
}
Program.Instance.RegisterDimension(this);
mapGenerator.Init();
var size = mapGenerator.baseMap.GetSize();
cameraPosition = new Vector3(size.x / 2f, size.y / 2f, -10)+transform.position;
// 5. 处理 defaultOpen 逻辑设置Program的焦点维度
// 确保在自身注册到 Program 之后再设置焦点,这样 Program 内部才能找到它
if (defaultOpen && Program.Instance != null)
if (defaultOpen)
{
Program.Instance.SetFocusedDimension(_dimensionId);
}
}
private void Start()
{
var size = mapGenerator.baseMap.GetSize();
cameraPosition = new Vector3(size.x / 2f, size.y / 2f, -10) + transform.position;
}
private void OnDestroy()
{

View File

@ -6,8 +6,8 @@ namespace Map
public class MapGenerator : MonoBehaviour
{
public DoubleMap baseMap;
private void Awake()
public void Init()
{
Managers.DefineManager.Instance.Init();
Managers.PackagesImageManager.Instance.Init();
@ -26,8 +26,16 @@ namespace Map
}
baseMap.RefreshAllTiles();
CameraControl.CameraControl.Instance.SetPosition(new Vector3(size * 0.5f, size * 0.5f, -10));
}
public Vector2Int GetSize()
{
return baseMap.GetSize();
}
public Vector2Int GetWorldCoordinates(Vector2Int mapCoordinates)
{
return new Vector2Int((int)transform.position.x, (int)transform.position.y) + mapCoordinates;
}
}
}