UI update 02

This commit is contained in:
2026-06-30 21:21:30 +08:00
parent b2a1e307a4
commit f62f643cfc
1666 changed files with 211081 additions and 22799 deletions
@@ -1578,8 +1578,17 @@ public class GameManager : MonoBehaviour
private IEnumerator LoadSceneAsync(string sceneName)
{
if (gTransition.LoadScene(sceneName, LoadSceneMode.Single))
{
while (gTransition.IsBusy)
{
yield return null;
}
yield break;
}
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
while (!asyncLoad.isDone)
while (asyncLoad != null && !asyncLoad.isDone)
{
yield return null;
}
@@ -1588,10 +1597,19 @@ public class GameManager : MonoBehaviour
private IEnumerator FadeToBlackAndLoad(string sceneName, float duration)
{
RecordTotalPlayTime();
if (gTransition.LoadScene(sceneName, LoadSceneMode.Single, duration, duration))
{
while (gTransition.IsBusy)
{
yield return null;
}
yield break;
}
if (blackMaskImage == null)
{
AsyncOperation asyncOp = SceneManager.LoadSceneAsync(sceneName);
while (!asyncOp.isDone) yield return null;
while (asyncOp != null && !asyncOp.isDone) yield return null;
yield break;
}
@@ -1620,7 +1638,7 @@ public class GameManager : MonoBehaviour
// load scene
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
while (!asyncLoad.isDone)
while (asyncLoad != null && !asyncLoad.isDone)
{
yield return null;
}
@@ -3787,7 +3787,10 @@ namespace GameServer.Client
}
Time.timeScale = 1f;
SceneManager.LoadScene(GameplaySceneName, LoadSceneMode.Single);
if (!gTransition.LoadScene(GameplaySceneName, LoadSceneMode.Single))
{
SceneManager.LoadScene(GameplaySceneName, LoadSceneMode.Single);
}
}
private void EnsureRoomAutoPlayDisabled()
@@ -363,6 +363,7 @@ namespace GameServer.Client
[JsonProperty("reward_description")] public string reward_description;
[JsonProperty("reward_key")] public string reward_key;
[JsonProperty("reward_store_item_id")] public int reward_store_item_id;
[JsonProperty("reward_icon_url")] public string reward_icon_url;
}
[Serializable]
@@ -456,4 +457,46 @@ namespace GameServer.Client
[JsonProperty("requests")] public List<SocialFriendRequestEntry> requests;
}
/// <summary>
/// 邮件附件发放参考常量。
/// 服务器配置 rewards 时按此填写 reward_type + reward_key(或 reward_store_item_id)。
/// </summary>
public static class MailRewardKeys
{
// ── reward_type 字符串 ──────────────────────────────────────────────────
public const string TypeCoins = "money";
public const string TypePlayerExp = "exp_user";
public const string TypeMaterial = "metarial";
public const string TypeExpBottle = "exp_bottle";
public const string TypeGrowthMaterial = "growth_material";
public const string TypeEquipConsumable = "equipment_consumable";
public const string TypeStoreItem = "store_item";
// ── 经验瓶 reward_key ─────────────────────────────────────────────────
public const string ExpBottleCommon = "exp_common"; // 凡品经验瓶 (itemID 78001)
public const string ExpBottleMedium = "exp_medium"; // 中品经验瓶 (78002)
public const string ExpBottleSuperior = "exp_superior"; // 上品经验瓶 (78003)
public const string ExpBottleSupreme = "exp_supreme"; // 极品经验瓶 (78004)
public const string ExpBottleExtraordinary = "exp_extraordinary"; // 绝品经验瓶 (78005)
public const string ExpBottleCelestial = "exp_celestial"; // 仙品经验瓶 (78006)
public const string ExpBottleRainAll = "exp_rain_all"; // 雨露均沾 (78011)
public const string ExpBottleRainAllAdv = "exp_rain_all_advanced"; // 高级雨露均沾 (78012)
public const string ExpBottleRainAllSuper = "exp_rain_all_super"; // 超级雨露均沾 (78013)
// ── 突破材料 reward_key ────────────────────────────────────────────────
public const string GrowthMaterial78021 = "dush_78021";
public const string GrowthMaterial78022 = "dush_78022";
public const string GrowthMaterial78023 = "dush_78023";
public const string GrowthMaterial78024 = "dush_78024";
// ── 装备消耗品 reward_key ─────────────────────────────────────────────
public const string EquipUpgrade = "eqc_78101"; // 装备升级材料
public const string EquipBreakthrough = "eqc_78111"; // 装备突破材料
public const string EquipTransfer = "eqc_78121"; // 装备洗炼材料
public const string EquipFinal = "eqc_78131"; // 装备登顶材料
// ── 商店物品:直接用 reward_store_item_id 填 itemID,或 reward_key 填 itemID 字符串 ──
// itemID 77001 = 角色 3020677003 = 歌曲177004 = 歌曲2(见 Resources/so/storeSO/
}
}
@@ -8,6 +8,7 @@ using System.Collections;
using UnityEngine.Audio;
using DG.Tweening;
using GameServer.Client;
using Bansonic;
public class settlementController : MonoBehaviour
{
@@ -1912,8 +1913,17 @@ public class settlementController : MonoBehaviour
private IEnumerator LoadSceneAsync(string sceneName)
{
if (gTransition.LoadScene(sceneName, LoadSceneMode.Single))
{
while (gTransition.IsBusy)
{
yield return null;
}
yield break;
}
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
while (!asyncLoad.isDone)
while (asyncLoad != null && !asyncLoad.isDone)
{
yield return null;
}
@@ -2006,10 +2016,19 @@ public class settlementController : MonoBehaviour
// Coroutine that will be started on the GameManager instance so that the gm's MonoBehaviour runs it
private IEnumerator FadeToBlackAndLoadOnGM(string sceneName, float duration)
{
if (gTransition.LoadScene(sceneName, LoadSceneMode.Single, duration, duration))
{
while (gTransition.IsBusy)
{
yield return null;
}
yield break;
}
if (gm == null || gm.blackMaskImage == null)
{
AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(sceneName);
while (!asyncLoad.isDone) yield return null;
while (asyncLoad != null && !asyncLoad.isDone) yield return null;
yield break;
}
@@ -2040,7 +2059,7 @@ public class settlementController : MonoBehaviour
// load target scene
AsyncOperation asyncOp = SceneManager.LoadSceneAsync(sceneName);
while (!asyncOp.isDone)
while (asyncOp != null && !asyncOp.isDone)
{
yield return null;
}