先修复一下,错误的场景 删除不必要的钓场资产 修复into场景 update:更新meta文件,修复报错 update:修复资源 修复第一章节建造 修复建造第三章 update:删除多余内容 update:更新README.md update:还原图标 update:更新README update:更新配置
93 lines
2.4 KiB
C#
93 lines
2.4 KiB
C#
using asap.core;
|
|
using cfg;
|
|
using System;
|
|
using UnityEngine;
|
|
using UniRx;
|
|
|
|
public class ReportPanel : MonoBehaviour
|
|
{
|
|
PhotoReport photoReport;
|
|
EventReport eventReport;
|
|
Tables tables;
|
|
IReportService reportService;
|
|
IDisposable disposable;
|
|
bool isEnable = true;
|
|
private void Awake()
|
|
{
|
|
reportService = GContext.container.Resolve<IReportService>();
|
|
tables = GContext.container.Resolve<Tables>();
|
|
photoReport = transform.Find("photo_report").GetComponent<PhotoReport>();
|
|
eventReport = transform.Find("Event_report").GetComponent<EventReport>();
|
|
}
|
|
private void OnEnable()
|
|
{
|
|
disposable = GContext.OnEvent<ReportData>().Subscribe(OnReportEvent);
|
|
//NextReport();
|
|
}
|
|
private void OnDisable()
|
|
{
|
|
disposable?.Dispose();
|
|
disposable = null;
|
|
}
|
|
void OnReportEvent(ReportData reportEvent)
|
|
{
|
|
switch (reportEvent.type)
|
|
{
|
|
case ReportDataType.Picture:
|
|
//PlayPhotoReport(reportEvent);
|
|
break;
|
|
case ReportDataType.Bomb:
|
|
case ReportDataType.Heist:
|
|
case ReportDataType.Aquarium:
|
|
PlayEventReport(reportEvent);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
async void PlayPhotoReport(ReportData reportEvent)
|
|
{
|
|
Picture _data = tables.TbPicture.GetOrDefault(reportEvent.id);
|
|
if (_data != null)
|
|
{
|
|
photoReport.gameObject.SetActive(true);
|
|
photoReport.SetData(_data, reportEvent.playFabId);
|
|
await Awaiters.Seconds(4f);
|
|
if (!isEnable)
|
|
{
|
|
return;
|
|
}
|
|
photoReport.gameObject.SetActive(false);
|
|
}
|
|
NextReport();
|
|
}
|
|
async void PlayEventReport(ReportData reportEvent)
|
|
{
|
|
eventReport.gameObject.SetActive(true);
|
|
eventReport.SetData(reportEvent.playFabId, reportEvent.content, reportEvent.type);
|
|
await Awaiters.Seconds(4f);
|
|
if (!isEnable)
|
|
{
|
|
return;
|
|
}
|
|
eventReport.gameObject.SetActive(false);
|
|
NextReport();
|
|
}
|
|
void NextReport()
|
|
{
|
|
if (this == null || enabled == false)
|
|
{
|
|
return;
|
|
}
|
|
var data = reportService.GetReportData();
|
|
if (data != null)
|
|
{
|
|
OnReportEvent(data);
|
|
}
|
|
}
|
|
private void OnDestroy()
|
|
{
|
|
isEnable = false;
|
|
}
|
|
}
|