```csharp
-- C# UIManager.cs
// UI管理器,负责UI的创建、显示、隐藏等
using UnityEngine;
using System.Collections.Generic;
using XLua;
public class UIManager : MonoSingleton
{
private Dictionary uiPanels = new Dictionary();
private Transform canvas;
private Transform uiRoot;
// Toast相关
private GameObject toastPrefab;
private Transform toastContainer;
protected override void Awake()
{
base.Awake();
InitializeUI();
}
private void InitializeUI()
{
// 获取Canvas
canvas = GameObject.Find("Canvas")?.transform;
if (canvas == null)
{
GameObject canvasObj = new GameObject("Canvas");
canvas = canvasObj.transform;
Canvas canvasComp = canvasObj.AddComponent