Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/RewardConfirmView.cs
gamer147 957af3d1ec feat(battle-engine): full Unity/VFX/god-object shims + expanded copy closure (2570 files)
Authored Unity primitive/object-model shim, VFX layer (control-flow-preserving, InstantVfx never invokes its action -- headless suppression), god-object stubs (GameMgr/EffectMgr/UIManager with faithfully-extracted nested enums), View/UI/Touch tree, LitJson+BetterList+Tuple copied, third-party stubs. Discovered Roslyn header-error masking: fixing class-header type errors unmasks body references, so the true copy closure is ~2570 files (was 782 under masking). Errors: masked-25720 -> 268; our shim files compile clean. Remaining: ~50 residual shim/external types, 24 NGUI UI-base overrides, static-type fixes, plus likely 1-2 more unmask waves.
2026-06-05 17:22:20 -04:00

116 lines
4.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using Cute;
using UnityEngine;
using Wizard.Scripts.Network.Data.TaskData.Arena;
namespace Wizard;
public class RewardConfirmView : MonoBehaviour
{
[SerializeField]
private UIGrid _gridRewardViewFor4;
[SerializeField]
private RewardConfirmViewItem _itemOriginal;
private List<string> _loadedResourceList;
public static bool IsSpecialEmblemLayout(List<Wizard.Scripts.Network.Data.TaskData.Arena.Reward> rewardList)
{
if (rewardList.Count() == 5)
{
return rewardList.Count((Wizard.Scripts.Network.Data.TaskData.Arena.Reward n) => n.UserGoodsData.GoodsType == UserGoods.Type.Emblem) == 2;
}
return false;
}
public void Initialize(List<Wizard.Scripts.Network.Data.TaskData.Arena.Reward> rewardList)
{
_gridRewardViewFor4.gameObject.SetActive(value: true);
UIManager.GetInstance().createInSceneCenterLoading();
LoadResources(rewardList, delegate
{
UIManager.GetInstance().closeInSceneCenterLoading();
if (IsSpecialEmblemLayout(rewardList))
{
List<Wizard.Scripts.Network.Data.TaskData.Arena.Reward> list = new List<Wizard.Scripts.Network.Data.TaskData.Arena.Reward>();
foreach (Wizard.Scripts.Network.Data.TaskData.Arena.Reward reward in rewardList)
{
if (reward.UserGoodsData.GoodsType == UserGoods.Type.Emblem)
{
list.Add(reward);
if (list.Count() == 2)
{
NGUITools.AddChild(_gridRewardViewFor4.gameObject, _itemOriginal.gameObject).GetComponent<RewardConfirmViewItem>().InitializeForTwoEmblem(list[0], list[1]);
}
}
else
{
NGUITools.AddChild(_gridRewardViewFor4.gameObject, _itemOriginal.gameObject).GetComponent<RewardConfirmViewItem>().Initialize(reward.UserGoodsData, reward.num);
}
}
}
else
{
foreach (Wizard.Scripts.Network.Data.TaskData.Arena.Reward reward2 in rewardList)
{
NGUITools.AddChild(_gridRewardViewFor4.gameObject, _itemOriginal.gameObject).GetComponent<RewardConfirmViewItem>().Initialize(reward2.UserGoodsData, reward2.num);
}
}
_itemOriginal.gameObject.SetActive(value: false);
_gridRewardViewFor4.repositionNow = true;
});
}
private void LoadResources(List<Wizard.Scripts.Network.Data.TaskData.Arena.Reward> rewardList, Action onFinish)
{
List<string> rewardPathList = new List<string>();
foreach (Wizard.Scripts.Network.Data.TaskData.Arena.Reward reward in rewardList)
{
UserGoods userGoodsData = reward.UserGoodsData;
switch (userGoodsData.GoodsType)
{
case UserGoods.Type.Sleeve:
{
long existingSleeveId = Toolbox.ResourcesManager.GetExistingSleeveId(userGoodsData.Id);
rewardPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(existingSleeveId.ToString(), ResourcesManager.AssetLoadPathType.SleeveTexture));
Sleeve sleeve = Data.Master.SleeveMgr.Get(existingSleeveId);
if (sleeve.IsPremiumSleeve)
{
UIManager.GetInstance().getUIBase_CardManager().AddPremireSleevePath(ref rewardPathList, sleeve);
}
break;
}
case UserGoods.Type.Emblem:
rewardPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(userGoodsData.Id.ToString(), ResourcesManager.AssetLoadPathType.Emblem_M));
break;
case UserGoods.Type.Skin:
rewardPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(userGoodsData.Id.ToString(), ResourcesManager.AssetLoadPathType.ClassCharaSkinThumbnail));
break;
case UserGoods.Type.Degree:
rewardPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath(userGoodsData.Thumbnail, ResourcesManager.AssetLoadPathType.Item));
break;
case UserGoods.Type.MyPageBG:
rewardPathList.Add(Toolbox.ResourcesManager.GetAssetTypePath("thumbnail_mypage_custom_bg", ResourcesManager.AssetLoadPathType.Item));
break;
}
}
rewardPathList.Distinct();
UIManager.GetInstance().StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(rewardPathList, delegate
{
_loadedResourceList = rewardPathList;
onFinish.Call();
}));
}
private void OnDestroy()
{
if (_loadedResourceList != null && _loadedResourceList.Count > 0)
{
Toolbox.ResourcesManager.RemoveAssetGroup(_loadedResourceList);
}
}
}