Pull down popup from common.

This commit is contained in:
2022-11-15 17:17:30 +08:00
parent cb3e3e5f28
commit 3a54d2023f
10 changed files with 47 additions and 47 deletions

View File

@@ -121,7 +121,7 @@ namespace Cryville.Crtr.Browsing {
resources = converter.ConvertFrom(file);
}
catch (Exception ex) {
CallHelper.ShowMessageBox(ex.Message);
Popup.Create(ex.Message);
return false;
}
foreach (var res in resources) {

View File

@@ -59,11 +59,11 @@ namespace Cryville.Crtr.Browsing {
private void OnAddDialogClosed() {
if (_dialog.FileName == null) return;
if (ResourceManager.ImportItemFrom(_dialog.FileName)) {
CallHelper.ShowMessageBox("Import succeeded");
Popup.Create("Import succeeded");
OnPathClicked(ResourceManager.CurrentDirectory.Length - 1);
}
else {
CallHelper.ShowMessageBox("Import failed");
Popup.Create("Import failed");
}
}
}

View File

@@ -142,6 +142,7 @@ namespace Cryville.Crtr {
}
catch (Exception ex) {
Game.LogException("Game", "An error occured while playing", ex);
Popup.CreateException(ex);
Stop();
}
}
@@ -396,6 +397,7 @@ namespace Cryville.Crtr {
}
catch (Exception ex) {
Game.LogException("Load/Prehandle", "An error occured while prehandling the data", ex);
Popup.CreateException(ex);
Stop();
}
}
@@ -417,6 +419,7 @@ namespace Cryville.Crtr {
catch (Exception ex) {
if (!logEnabled) ToggleLogs();
Game.LogException("Game", "An error occured while stopping", ex);
Popup.CreateException(ex);
}
finally {
if (started) {

View File

@@ -0,0 +1,39 @@
using System;
using UnityEditor.VersionControl;
using UnityEngine;
using UnityEngine.UI;
namespace Cryville.Crtr {
public class Popup : MonoBehaviour {
public string Message = "";
CanvasGroup group;
float timer = 0;
const float DURATION = 5.0f;
const float DURIN = 0.4f;
const float DUROUT = 0.4f;
void Start() {
group = GetComponent<CanvasGroup>();
group.alpha = 0;
GetComponentInChildren<Text>().text = Message;
transform.SetParent(GameObject.Find("PopupList").transform);
}
void Update() {
if (timer <= DURIN) group.alpha = timer / DURIN;
else if (timer >= DURATION) GameObject.Destroy(gameObject);
else if (timer >= DURATION - DUROUT) group.alpha = (DURATION - timer) / DUROUT;
timer += Time.deltaTime;
}
public static void CreateException(Exception ex) {
Create(ex.Message);
}
public static void Create(string msg) {
Instantiate(Resources.Load<GameObject>("Common/Popup")).GetComponent<Popup>().Message = msg;
}
}
}

View File

@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 7b4b06c6db17f5a498bf12bb00aa07cf
timeCreated: 1608801352
licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: