Files
SVSimServer/SVSim.BattleEngine/Engine/Wizard/MyPageMyPageNotificationDetail.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

59 lines
2.1 KiB
C#

using System;
using LitJson;
using UnityEngine;
namespace Wizard;
public class MyPageMyPageNotificationDetail
{
public RoomRuleInfo RoomRule;
public GatheringMyPageInfo GatheringMyPageInfo;
public GuildNotification GuildNotification { get; set; }
public CampaignBattleWin CampaignBattleWin { get; set; }
public ShopNotification ShopNotification { get; set; }
public StoryNotification StoryNotification { get; private set; }
public QuestOpenInfo QuestOpenInfo { get; set; }
public bool IsPracticePuzzleBadgeEnable { get; set; }
public int ReceiveFriendApplyCount { get; set; }
public bool IsCompetitionBadge { get; set; }
public bool IsInviteGathering { get; set; }
public bool IsColosseumFreeEntry { get; set; }
public MyPageMyPageNotificationDetail()
{
GuildNotification = new GuildNotification();
CampaignBattleWin = new CampaignBattleWin();
RoomRule = new RoomRuleInfo();
ShopNotification = new ShopNotification();
StoryNotification = new StoryNotification();
QuestOpenInfo = new QuestOpenInfo();
GatheringMyPageInfo = new GatheringMyPageInfo();
}
public void SetIsCompetitionBadge(JsonData json)
{
if (json["data"]["competition_info"]["is_competition_period"].ToBoolean())
{
bool flag = json["data"]["competition_info"]["is_received_featured_entry_reward"].ToBoolean();
ArenaCompetition.EntryStatusType entryStatusType = (ArenaCompetition.EntryStatusType)json["data"]["competition_info"]["entry_status"].ToInt();
double num = ConvertTime.DateTimeToUnixTime(DateTime.Parse(json["data"]["competition_info"]["entry_end_time"].ToString()));
float realtimeSinceStartup = Time.realtimeSinceStartup;
double num2 = json["data_headers"]["servertime"].ToDouble() + (double)Time.realtimeSinceStartup - (double)realtimeSinceStartup;
bool flag2 = num - num2 < 0.0;
bool flag3 = json["data"]["competition_info"].GetValueOrDefault("competition_id", 0) <= PlayerPrefsWrapper.GetValue(PlayerPrefsWrapper.COMPETITION_JOIN_BUTTON_LATEST_ID);
IsCompetitionBadge = !flag && entryStatusType == ArenaCompetition.EntryStatusType.NotEntry && !flag2 && !flag3;
}
}
}