弹窗管理
This commit is contained in:
parent
4b9f5a5c6e
commit
0a885e2514
53
meng_yao/Assets/script/A_Fight/Manager.cs
Normal file
53
meng_yao/Assets/script/A_Fight/Manager.cs
Normal file
@ -0,0 +1,53 @@
|
||||
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);
|
||||
}
|
||||
}
|
11
meng_yao/Assets/script/A_Fight/Manager.cs.meta
Normal file
11
meng_yao/Assets/script/A_Fight/Manager.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 540b624a12d7f6b41aa484eb3aaf4aea
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Reference in New Issue
Block a user