(client)chore:将维度区分独立,将加载页面独立,降低代码耦合,写了更好看的注释
This commit is contained in:
@ -60,25 +60,13 @@ namespace Map
|
||||
Debug.LogError(
|
||||
"[Dimension] Program.Instance is null during Dimension Awake. Cannot register dimension.", this);
|
||||
}
|
||||
|
||||
// 4. 注册此维度到 EntityManage
|
||||
if (EntityManage.Instance != null)
|
||||
{
|
||||
EntityManage.Instance.RegisterDimension(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError(
|
||||
"[Dimension] EntityManage.Instance is null during Dimension Awake. Cannot register dimension.",
|
||||
this);
|
||||
}
|
||||
|
||||
|
||||
// 5. 处理 defaultOpen 逻辑,设置Program的焦点维度
|
||||
// 确保在自身注册到 Program 之后再设置焦点,这样 Program 内部才能找到它
|
||||
if (defaultOpen && Program.Instance != null)
|
||||
{
|
||||
Program.Instance.SetFocusedDimension(_dimensionId);
|
||||
// Program 现在会通过 SetFocusedDimension (string) 方法将 FocusedDimension 属性设置为这个 Dimension 实例。
|
||||
}
|
||||
}
|
||||
|
||||
@ -96,18 +84,7 @@ namespace Map
|
||||
"[Dimension] Program.Instance is null during OnDestroy. Skipping unregister for Dimension: " +
|
||||
DimensionId, this);
|
||||
}
|
||||
|
||||
if (EntityManage.Instance != null) // 检查单例是否仍然存在
|
||||
{
|
||||
EntityManage.Instance.UnregisterDimension(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
// 同上,但在清理阶段,这个可能也已为null,只打Log
|
||||
Debug.Log(
|
||||
"[Dimension] EntityManage.Instance is null during OnDestroy. Skipping unregister for Dimension: " +
|
||||
DimensionId, this);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user