Files
SVSimServer/SVSim.BattleEngine/Engine/AchievedInfo.cs
gamer147 0d9d8acae0 feat(battle-engine): M1 auto-copy closure (782 battle-logic files)
Compile-driven bulk-copy loop (tools/engine-port/m1_copy_loop.py) pulled the precise reference closure of the battle-core roots, stopping at the classify god-object/View-VFX-UI boundary. 782 files; no re-explosion (M0 had estimated ~order 1000). Residual frontier = 52 shim-classified + 80 external (Unity/BCL) types to author next.
2026-06-05 16:57:20 -04:00

167 lines
4.4 KiB
C#

using System.Collections.Generic;
using LitJson;
using Wizard;
using Wizard.Lottery;
public class AchievedInfo
{
private const string ACHIEVEMENT = "achieved_achievement_list";
private const string MISSION = "achieved_mission_list";
private const string REWARD = "achieved_mission_reward_list";
private const string VICTORY_REWARD = "win_reward_list";
private const string GRAND_MASTER_REWARD = "grand_master_reward_list";
private const string MISSION_START = "mission_start_data";
private const string BEGINNER_MISSION_REWARD = "achieved_beginner_mission_reward_list";
private const string BEGINNER_MISSION_REWARD_MESSAGE = "achieved_beginner_mission_list";
private const string BATTLE_PASS_REWARD_LIST = "battle_pass_reward_list";
private const string BATTLE_PASS_MESSAGE_LIST = "battle_pass_message_list";
private const long DONT_NOTIFY_IF_SMALLER_THAN_SECONDS = 10L;
public List<UserMission> _missions;
public List<UserAchievement> _achievements;
public List<ReceivedReward> _rewards;
public List<ReceivedReward> _victoryRewards;
public LotteryApplyData _lotteryData = LotteryApplyData.EmptyData();
public AchievedInfo()
{
_missions = new List<UserMission>();
_achievements = new List<UserAchievement>();
_rewards = new List<ReceivedReward>();
_victoryRewards = new List<ReceivedReward>();
}
public AchievedInfo(JsonData data)
: this()
{
Read(data);
}
public void Read(JsonData data)
{
if (data.Count == 0)
{
return;
}
if (data.Keys.Contains("achieved_mission_list"))
{
JsonData jsonData = data["achieved_mission_list"];
if (jsonData != null)
{
for (int i = 0; i < jsonData.Count; i++)
{
_missions.Add(UserMission.CreateAchievedMission(jsonData[i]));
}
}
}
if (data.Keys.Contains("achieved_achievement_list"))
{
JsonData jsonData2 = data["achieved_achievement_list"];
if (jsonData2 != null)
{
for (int j = 0; j < jsonData2.Count; j++)
{
UserAchievement userAchievement = UserAchievement.CreateCompletedAchievement(jsonData2[j]);
if (!string.IsNullOrEmpty(userAchievement.OsId))
{
AchievementImpl.instance.ReleaseAchievement(userAchievement.OsId);
}
_achievements.Add(userAchievement);
}
}
}
if (data.Keys.Contains("grand_master_reward_list"))
{
JsonData jsonData3 = data["grand_master_reward_list"];
if (jsonData3 != null)
{
for (int k = 0; k < jsonData3.Count; k++)
{
_rewards.Add(ReceivedReward.CreateFromBattleResultGrandMaster(jsonData3[k]));
}
}
}
if (data.Keys.Contains("achieved_mission_reward_list"))
{
JsonData jsonData4 = data["achieved_mission_reward_list"];
if (jsonData4 != null)
{
for (int l = 0; l < jsonData4.Count; l++)
{
_rewards.Add(ReceivedReward.CreateFromBattleResult(jsonData4[l]));
}
}
}
if (data.Keys.Contains("win_reward_list"))
{
JsonData jsonData5 = data["win_reward_list"];
if (jsonData5 != null)
{
for (int m = 0; m < jsonData5.Count; m++)
{
_victoryRewards.Add(ReceivedReward.CreateVictoryReward(jsonData5[m]));
}
}
}
if (data.Keys.Contains("achieved_beginner_mission_reward_list"))
{
JsonData jsonData6 = data["achieved_beginner_mission_reward_list"];
if (jsonData6 != null)
{
for (int n = 0; n < jsonData6.Count; n++)
{
_rewards.Add(ReceivedReward.CreateFromBeginnerMissionReward(jsonData6[n]));
}
}
}
if (data.Keys.Contains("achieved_beginner_mission_list"))
{
JsonData jsonData7 = data["achieved_beginner_mission_list"];
if (jsonData7 != null)
{
for (int num = 0; num < jsonData7.Count; num++)
{
_missions.Add(UserMission.CreateAchievedMission(jsonData7[num]));
}
}
}
if (data.Keys.Contains("battle_pass_reward_list"))
{
JsonData jsonData8 = data["battle_pass_reward_list"];
if (jsonData8 != null)
{
for (int num2 = 0; num2 < jsonData8.Count; num2++)
{
_rewards.Add(ReceivedReward.CreateFromBattlePassReward(jsonData8[num2]));
}
}
}
if (data.Keys.Contains("battle_pass_message_list"))
{
JsonData jsonData9 = data["battle_pass_message_list"];
if (jsonData9 != null)
{
for (int num3 = 0; num3 < jsonData9.Count; num3++)
{
_missions.Add(UserMission.CreateAchievedMission(jsonData9[num3]));
}
}
}
_lotteryData = LotteryApplyData.Parse(data);
}
}