Cute_demon_attacks/meng_yao/Assets/script/A_Fight/Manager.cs
2024-12-17 18:03:58 +08:00

54 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DG.Tweening;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class Manager : MonoBehaviour
{
public static Manager instance;
public Canvas _Canvas;
public List<GameObject> panelsPrefab = new List<GameObject>();
// 使用Dictionary来管理已实例化的面板键为预制体的索引值为实例化的面板
private Dictionary<int, GameObject> panels = new Dictionary<int, GameObject>();
void Awake()
{
instance = this;
}
public GameObject ShowPanel(int index)
{
if (index < 0 || index >= panelsPrefab.Count)
{
Debug.LogError("ShowPanel: Index 超出范围");
return null;
}
if (panels.ContainsKey(index))
{
ShowPanel(panels[index]);
return panels[index];
}
else
{
ShowPanel(panels[index]);
return GameObject.Instantiate(panelsPrefab[index], _Canvas.transform);
}
return null;
}
public virtual void ShowPanel(GameObject _panel)
{
_panel.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
_panel.transform.DOScale(1f, 0.5f);
}
public virtual void hidePanel(GameObject _panel)
{
_panel.SetActive(false);
}
}