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:
117
SVSim.BattleEngine/Engine/Wizard.Bingo/BingoDrawTask.cs
Normal file
117
SVSim.BattleEngine/Engine/Wizard.Bingo/BingoDrawTask.cs
Normal file
@@ -0,0 +1,117 @@
|
||||
using System.Collections.Generic;
|
||||
using LitJson;
|
||||
|
||||
namespace Wizard.Bingo;
|
||||
|
||||
public class BingoDrawTask : BaseTask
|
||||
{
|
||||
public class BingoDrawTaskParam : BaseParam
|
||||
{
|
||||
public int draw_count;
|
||||
}
|
||||
|
||||
public class BingoDrawTaskData
|
||||
{
|
||||
public bool IsSheetCompleted { get; private set; }
|
||||
|
||||
public bool IsSwitchNextSheet { get; private set; }
|
||||
|
||||
public List<int> HitSquareIdList { get; private set; }
|
||||
|
||||
public List<ReceivedReward> TreasureBoxReawrdList { get; private set; }
|
||||
|
||||
public List<ReceivedReward> LineRewardData { get; private set; }
|
||||
|
||||
public List<List<int>> CompletedLineConditionList { get; private set; }
|
||||
|
||||
public bool IsBingoLoginBonus { get; private set; }
|
||||
|
||||
public bool IsDisplayTweetDialog { get; private set; }
|
||||
|
||||
public BingoDrawTaskData(bool isSheetCompleted, bool isSwitchNextSheet, List<int> hitSquareIdList, List<ReceivedReward> treasureBoxReawrdList, List<ReceivedReward> lineRewardData, List<List<int>> completedLineConditionList, bool isBingoLoginBonus, bool isDisplayTweetDialog)
|
||||
{
|
||||
IsSheetCompleted = isSheetCompleted;
|
||||
IsSwitchNextSheet = isSwitchNextSheet;
|
||||
HitSquareIdList = hitSquareIdList;
|
||||
TreasureBoxReawrdList = treasureBoxReawrdList;
|
||||
LineRewardData = lineRewardData;
|
||||
CompletedLineConditionList = completedLineConditionList;
|
||||
IsBingoLoginBonus = isBingoLoginBonus;
|
||||
IsDisplayTweetDialog = isDisplayTweetDialog;
|
||||
}
|
||||
}
|
||||
|
||||
public BingoDrawTaskData Result { get; private set; }
|
||||
|
||||
private static List<int> CompletedLine(JsonData squareJsonData)
|
||||
{
|
||||
List<int> list = new List<int>();
|
||||
for (int i = 0; i < squareJsonData.Count; i++)
|
||||
{
|
||||
list.Add(squareJsonData[i].ToInt());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public BingoDrawTask()
|
||||
{
|
||||
base.type = ApiType.Type.BingoDraw;
|
||||
}
|
||||
|
||||
public void SetParameter(int buyNum, int viewerId)
|
||||
{
|
||||
BingoDrawTaskParam bingoDrawTaskParam = new BingoDrawTaskParam();
|
||||
bingoDrawTaskParam.viewer_id = viewerId.ToString();
|
||||
bingoDrawTaskParam.draw_count = buyNum;
|
||||
base.Params = bingoDrawTaskParam;
|
||||
}
|
||||
|
||||
protected override int Parse()
|
||||
{
|
||||
int num = base.Parse();
|
||||
if (num != 1)
|
||||
{
|
||||
return num;
|
||||
}
|
||||
JsonData response = base.ResponseData["data"];
|
||||
Result = ParseBingoDrawResult(response);
|
||||
PlayerStaticData.UpdateHaveUserGoodsNumByJsonData(base.ResponseData["data"]["reward_list"]);
|
||||
return num;
|
||||
}
|
||||
|
||||
public static BingoDrawTaskData ParseBingoDrawResult(JsonData response, bool isBingoLoginBonus = false)
|
||||
{
|
||||
bool isSheetCompleted = response["is_sheet_completed"].ToInt() == 1;
|
||||
bool isSwitchNextSheet = response["is_switch_next_sheet"].ToInt() == 1;
|
||||
JsonData jsonData = response["hit_square_id_list"];
|
||||
List<int> list = new List<int>();
|
||||
for (int i = 0; i < jsonData.Count; i++)
|
||||
{
|
||||
int item = jsonData[i].ToInt();
|
||||
list.Add(item);
|
||||
}
|
||||
JsonData jsonData2 = response["treasure_box_reward_list"];
|
||||
List<ReceivedReward> list2 = new List<ReceivedReward>();
|
||||
for (int j = 1; j < jsonData2.Count; j++)
|
||||
{
|
||||
ReceivedReward item2 = ReceivedReward.CreateFromBingoTreasureBoxReward(jsonData2[j]);
|
||||
list2.Add(item2);
|
||||
}
|
||||
JsonData jsonData3 = response["line_reward_list"];
|
||||
List<ReceivedReward> list3 = new List<ReceivedReward>();
|
||||
for (int k = 1; k < jsonData3.Count; k++)
|
||||
{
|
||||
ReceivedReward item3 = ReceivedReward.CreateFromBingoLineReward(jsonData3[k]);
|
||||
list3.Add(item3);
|
||||
}
|
||||
JsonData jsonData4 = response["completed_line_condition_list"];
|
||||
List<List<int>> list4 = new List<List<int>>();
|
||||
for (int l = 0; l < jsonData4.Count; l++)
|
||||
{
|
||||
List<int> item4 = CompletedLine(jsonData4[l]);
|
||||
list4.Add(item4);
|
||||
}
|
||||
bool isDisplayTweetDialog = response["is_display_tweet_dialog"].ToBoolean();
|
||||
return new BingoDrawTaskData(isSheetCompleted, isSwitchNextSheet, list, list2, list3, list4, isBingoLoginBonus, isDisplayTweetDialog);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user