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.
This commit is contained in:
115
SVSim.BattleEngine/Engine/Wizard/RewardConfirmView.cs
Normal file
115
SVSim.BattleEngine/Engine/Wizard/RewardConfirmView.cs
Normal file
@@ -0,0 +1,115 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user