Merge branch 'bugfix/showobj加上时间控制' into 'develop'

fix: 修正场景加载参数并添加展示隐藏时间控制

See merge request aibis-dream/aibis-dream!715
This commit is contained in:
2026-06-29 11:32:32 +00:00
2 changed files with 23 additions and 18 deletions
+10 -10
View File
@@ -26,14 +26,14 @@ namespace AibisDream
}
[YarnCommand("load_scene")]
public static IEnumerator LoadScene(string sceneName, float duration = 1)
public static IEnumerator LoadScene(string sceneName)
{
HideDialog();
yield return SceneLoader.Instance.LoadSceneAsync(sceneName);
}
[YarnCommand("unload_scene")]
public static IEnumerator UnloadScene(string sceneName)
public static IEnumerator UnloadScene()
{
yield return SceneLoader.Instance.UnloadSceneAsync();
}
@@ -73,17 +73,17 @@ namespace AibisDream
}
[YarnCommand("show_obj")]
public static IEnumerator ShowObj(string picName)
public static IEnumerator ShowObj(string picName, float duration = 1)
{
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
return panel.ShowObj(picName);
return panel.ShowObj(picName, duration);
}
[YarnCommand("hide_obj")]
public static IEnumerator HideObj()
public static IEnumerator HideObj(float duration = 1)
{
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
return panel.HideObj();
return panel.HideObj(duration);
}
[YarnCommand("show_sprite")]
@@ -141,17 +141,17 @@ namespace AibisDream
}
[YarnCommand("show_full_screen")]
public static IEnumerator ShowFullScreen(string picName)
public static IEnumerator ShowFullScreen(string picName, float duration = 1)
{
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
return panel.ShowFullScreen(picName);
return panel.ShowFullScreen(picName, duration);
}
[YarnCommand("hide_full_screen")]
public static IEnumerator HideFullScreen()
public static IEnumerator HideFullScreen(float duration = 1)
{
var panel = UIManager.Instance.GetPanel<PlayToolPanel>();
return panel.HideFullScreen();
return panel.HideFullScreen(duration);
}
[YarnCommand("open_progress_window")]
+13 -8
View File
@@ -120,8 +120,9 @@ namespace AibisDream.UI
/// 显示物体
/// </summary>
/// <returns>协程</returns>
public IEnumerator ShowObj(string picName)
public IEnumerator ShowObj(string picName, float duration = 1)
{
_showObjImage.color = Color.clear;
_showObjPanel.gameObject.SetActive(true);
var key = string.Format(ObjSpritePath, NormalizeObjPicName(picName));
@@ -151,17 +152,20 @@ namespace AibisDream.UI
// 淡入
_showObjImage.sprite = newSprite;
yield return _showObjImage.FadeInAsync(1);
yield return _showObjImage.FadeInAsync(duration);
}
public IEnumerator HideObj()
public IEnumerator HideObj(float duration = 1)
{
yield return _showObjImage.FadeOutAsync(1);
yield return _showObjImage.FadeOutAsync(duration);
_showObjPanel.SetActive(false);
}
public IEnumerator ShowFullScreen(string picName)
public IEnumerator ShowFullScreen(string picName, float duration = 1)
{
_fullScreenImage.color = Color.clear;
_fullScreenImage.gameObject.SetActive(true);
var key = string.Format(ObjSpritePath, NormalizeObjPicName(picName));
var handle = ResourceSystem.LoadAsync<Sprite>(key);
yield return handle;
@@ -174,12 +178,13 @@ namespace AibisDream.UI
_fullScreenImage.sprite = handle.Result;
// 淡入
yield return _fullScreenImage.FadeInAsync(1);
yield return _fullScreenImage.FadeInAsync(duration);
}
public IEnumerator HideFullScreen()
public IEnumerator HideFullScreen(float duration = 1)
{
return _fullScreenImage.FadeOutAsync(1);
yield return _fullScreenImage.FadeOutAsync(duration);
_fullScreenImage.gameObject.SetActive(false);
}
public IEnumerator OpenProgressWindow(string title, string description, float duration)