122 lines
4.1 KiB
C#
122 lines
4.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using UnityEngine;
|
|
|
|
public class ChangeObjMat : MonoBehaviour
|
|
{
|
|
public Material m_TM;
|
|
public List<MeshRenderer> m_RendererList;
|
|
private List<List<Material>> m_RecordRendererList = new List<List<Material>>();
|
|
/// <summary>
|
|
/// ³µÁ¾ÎïÌå
|
|
/// </summary>
|
|
public GameObject m_Obj;
|
|
/// <summary>
|
|
/// ³µÁ¾Ïß¿ò
|
|
/// </summary>
|
|
public GameObject m_XKObj;
|
|
/// <summary>
|
|
/// ³µÅÆÉ¨Ãè
|
|
/// </summary>
|
|
public GameObject m_CPObj;
|
|
/// <summary>
|
|
/// ³µÉíɨÃè
|
|
/// </summary>
|
|
public GameObject m_CSSMObj;
|
|
void Start()
|
|
{
|
|
m_RendererList = GetComponentsInChildren<MeshRenderer>().ToList();
|
|
m_RecordRendererList.Clear();
|
|
for (int i = 0; i < m_RendererList.Count; i++)
|
|
{
|
|
m_RecordRendererList.Add(m_RendererList[i].materials.ToList());
|
|
}
|
|
Bootstrap.Instance.eventCenter.AddEventListener<bool>(Enum_EventType.ChangeChildrenMat, ChangeChildrenMat);
|
|
Bootstrap.Instance.eventCenter.AddEventListener(Enum_EventType.StepSwitching, StepSwitching);
|
|
ChangeChildrenMat(true);
|
|
}
|
|
public void ChangeChildrenMat(bool Change)
|
|
{
|
|
if (Change)
|
|
{
|
|
for (int i = 0; i < m_RendererList.Count; i++)
|
|
{
|
|
int len = m_RendererList[i].materials.Length;
|
|
Material[] matArr = new Material[len];
|
|
for (int j = 0; j < len; j++)
|
|
{
|
|
matArr[j] = m_TM;
|
|
}
|
|
for (int j = 0; j < len; j++)
|
|
{
|
|
m_RendererList[i].materials = matArr;
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < m_RecordRendererList.Count; i++)
|
|
{
|
|
List<Material> materialList = m_RecordRendererList[i];
|
|
|
|
m_RendererList[i].materials = materialList.ToArray();
|
|
}
|
|
}
|
|
|
|
}
|
|
public async void StepSwitching()
|
|
{
|
|
Debug.Log($"StepSwitching");
|
|
#region ³µÅÆÊ¶±ð
|
|
await Task.Delay(3000);
|
|
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.AudioPlay, $"³µÅÆÊ¶±ð");
|
|
m_XKObj.SetActive(true);
|
|
m_CPObj.SetActive(true);
|
|
m_Obj.SetActive(false);
|
|
await Task.Delay(5000);
|
|
m_CPObj.SetActive(false);
|
|
if (Bootstrap.UIMgr != null) Bootstrap.UIMgr.ShowPanel<UI_MiddleTipPanel>(this, E_UI_Layer.System, (p) =>
|
|
{
|
|
p.Init($"¼ì²âµ½³µÅƺÅΪ"+ GetawayMqttClient.licensePlateData.LicensePlateNumber + "£¡", 5);
|
|
});
|
|
await Task.Delay(5000);
|
|
#endregion
|
|
#region ³µÉíÍâ¹Û¼ì²â
|
|
if (Bootstrap.UIMgr != null) Bootstrap.UIMgr.ShowPanel<UI_MiddleTipPanel>(this, E_UI_Layer.System, (p) =>
|
|
{
|
|
p.Init($"ÏÖÔÚ½øÈë³µÉíÍâ¹Û¼ì²â»·½Ú1.Éî¶È¼ì²âÒÑ¿ªÊ¼£¡", 5);
|
|
});
|
|
await Task.Delay(5000);
|
|
Bootstrap.Instance.eventCenter.EventTrigger(Enum_EventType.AudioPlay, $"³µÉíÍâ¹Û¼ì²â");
|
|
if (Bootstrap.UIMgr != null) Bootstrap.UIMgr.ShowPanel<UI_MiddleTipPanel>(this, E_UI_Layer.System, (p) =>
|
|
{
|
|
p.Init($"2.³µÍâ¹Û¼ì²â¿ªÊ¼£¡", 3);
|
|
});
|
|
await Task.Delay(3000);
|
|
if (Bootstrap.UIMgr != null) Bootstrap.UIMgr.ShowPanel<UI_MiddleTipPanel>(this, E_UI_Layer.System, (p) =>
|
|
{
|
|
p.Init($"3.ÄúµÄ°®³µÕý½øÐгµÍâ¹Û¼ì²â...", 10);
|
|
});
|
|
m_CSSMObj.SetActive(true);
|
|
await Task.Delay(10000);
|
|
m_CSSMObj.SetActive(false);
|
|
if (Bootstrap.UIMgr != null) Bootstrap.UIMgr.ShowPanel<UI_MiddleTipPanel>(this, E_UI_Layer.System, (p) =>
|
|
{
|
|
p.Init($"3.ÄúµÄ°®³µÕý½øÐгµÍâ¹Û¼ì²â...", 5);
|
|
});
|
|
await Task.Delay(5000);
|
|
#endregion
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (Bootstrap.Instance != null)
|
|
{
|
|
Bootstrap.Instance.eventCenter.RemoveEventListener<bool>(Enum_EventType.ChangeChildrenMat, ChangeChildrenMat);
|
|
Bootstrap.Instance.eventCenter.RemoveEventListener(Enum_EventType.StepSwitching, StepSwitching);
|
|
}
|
|
}
|
|
}
|