cull(engine-cleanup): pass-8 phase-2 cascade round 1

[trim] fully-unreachable files deleted: 6
[trim] files edited: 55, files deleted: 0, nodes removed: 244
[type-trim] files edited: 1, types removed: 1

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
gamer147
2026-07-03 21:18:18 -04:00
parent 3fb37f0249
commit c9628dee01
61 changed files with 4 additions and 1109 deletions

View File

@@ -49,21 +49,6 @@ public class AIDataLibrary
setupInfoBuf = new AISetUpData(classID, logicLv, deckName, styleName, emoteName, useEmote, useInnerEmote, enemyAiID, specialAbilityList);
}
public AIStyleData CreateStyle(int enemyClassID, AIStyleData deckStyle)
{
AIStyleData aIStyleData = new AIStyleData(new List<AICategory>
{
AICategory.ALL,
AIPolicyData.ConvertClassIDToCategory(enemyClassID)
});
aIStyleData.MixInStyle(_commonStyle);
if (deckStyle != null)
{
aIStyleData.MixInStyle(deckStyle);
}
return aIStyleData;
}
public void RegisterBasicData(AICardDataAsset asset)
{
_basicDic.RegisterCardData(asset);

View File

@@ -1,232 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Cute;
using UnityEngine;
using Wizard.Battle.View;
using Wizard.RoomMatch;
namespace Wizard;
public class AvatarAbilityDetailDialog : MonoBehaviour
{
[SerializeField]
private UITexture _characterTexture;
[SerializeField]
private UILabel _characterName;
[SerializeField]
private UILabel _characterHBP;
[SerializeField]
private UISprite _classIcon;
[SerializeField]
private GameObject _itemRoot;
[SerializeField]
private UILabel _passiveAbilityDescLabel;
[SerializeField]
private List<UILabel> _abilityDescLabel = new List<UILabel>();
[SerializeField]
private GameObject _passiveKeyWordCollider;
[SerializeField]
private List<GameObject> _keyWordCollider = new List<GameObject>();
[SerializeField]
private List<UIWidget> _abilityItemRoot = new List<UIWidget>();
[SerializeField]
private UIWidget _passiveAbilityRoot;
[SerializeField]
private GameObject _thirdUnderLine;
[SerializeField]
private List<UILabel> _costLabel = new List<UILabel>();
[SerializeField]
private List<UILabel> _signLabel = new List<UILabel>();
[SerializeField]
private UIScrollView _scrollView;
private DeckData _deckData;
private AvatarBattleInfo _avatarBattleInfo;
private static DialogBase _avatarAbilityDialog;
private static DialogBase _keywordDialog;
private List<string> _loadList = new List<string>();
public static void Create(AvatarBattleInfo avatarBattleInfo, DeckData deck)
{
GameObject gameObject = UnityEngine.Object.Instantiate(Resources.Load("UI/layoutParts/AvatarAbilityDetailDialog")) as GameObject;
string titleLabel = Data.SystemText.Get("HeroesBattle_0006");
_avatarAbilityDialog = UIManager.GetInstance().CreateDialogClose();
_avatarAbilityDialog.SetTitleLabel(titleLabel);
_avatarAbilityDialog.SetSize(DialogBase.Size.L);
_avatarAbilityDialog.SetButtonLayout(DialogBase.ButtonLayout.CloseBtn);
_avatarAbilityDialog.SetObj(gameObject);
gameObject.GetComponent<AvatarAbilityDetailDialog>().Initialize(avatarBattleInfo, deck);
}
private void Initialize(AvatarBattleInfo avatarBattleInfo, DeckData deck)
{
_deckData = deck;
_avatarBattleInfo = avatarBattleInfo;
_itemRoot.SetActive(value: false);
RoomBase.StartDialogLoading();
UIManager.GetInstance().createInSceneCenterLoading();
StartCoroutine(LoadResources(deck.GetSkinId(), delegate
{
StartCoroutine(SetResources());
}));
}
private IEnumerator SetResources()
{
ClassCharacterMasterData charaPrmByCharaId = null; // Pre-Phase-5b: no chara master headless
InitializeClassCharacter(_deckData.GetSkinId());
InitializeDescLabel(_avatarBattleInfo);
_characterName.text = charaPrmByCharaId.chara_name;
_characterHBP.text = _avatarBattleInfo.Bonus.BattleStartFirstPlayerTurnBp.ToString();
ClassCharaPrm.SetClassLabelSetting(_characterName, charaPrmByCharaId.clan);
_classIcon.spriteName = ClassCharaPrm.GetIconSpriteName(charaPrmByCharaId.clan);
_itemRoot.SetActive(value: true);
yield return null;
_scrollView.GetComponent<FlexibleGrid>().Reposition();
_scrollView.ResetPosition();
UIManager.GetInstance().closeInSceneCenterLoading();
RoomBase.FinishDiloagLoading();
}
private void InitializeDescLabel(AvatarBattleInfo avatarBattleInfo)
{
string allAbilityText = avatarBattleInfo.Bonus.PassiveAbilityDesc;
string[] abilityDesc = avatarBattleInfo.Bonus.AbilityDesc;
foreach (string text in abilityDesc)
{
allAbilityText += text;
}
if (avatarBattleInfo.Bonus.PassiveAbilityDesc == string.Empty)
{
_passiveAbilityRoot.gameObject.SetActive(value: false);
_passiveAbilityRoot.transform.localPosition = new Vector3(0f, 140f, 0f);
}
else
{
_passiveAbilityDescLabel.SetWrapText(BattleCardBase.ConvertSkillDescriptionText(avatarBattleInfo.Bonus.PassiveAbilityDesc));
UIEventListener.Get(_passiveAbilityDescLabel.gameObject).onClick = delegate
{
OnClickDescLabel(allAbilityText, _passiveAbilityDescLabel);
};
UIEventListener.Get(_passiveKeyWordCollider).onPress = delegate(GameObject g, bool b)
{
BattlePlayerView.PressKeyWordColorChange(_passiveAbilityDescLabel, b);
};
UIEventListener.Get(_passiveKeyWordCollider).onDragStart = delegate
{
BattlePlayerView.SetKeyWordLabelColor(_passiveAbilityDescLabel);
};
_passiveAbilityRoot.height = _passiveAbilityDescLabel.height;
_passiveAbilityDescLabel.GetComponent<BoxCollider>().size = new Vector3(_passiveAbilityRoot.localSize.x, _passiveAbilityRoot.localSize.y + 22f, 0f);
}
if (avatarBattleInfo.Bonus.AbilityCosts.Length < 3 || avatarBattleInfo.Bonus.AbilityDesc.Length < 3)
{
_abilityItemRoot[2].gameObject.SetActive(value: false);
_thirdUnderLine.SetActive(value: false);
}
for (int num = 0; num < avatarBattleInfo.Bonus.AbilityDesc.Length; num++)
{
int textNum = num;
_abilityDescLabel[textNum].SetWrapText(BattleCardBase.ConvertSkillDescriptionText(avatarBattleInfo.Bonus.AbilityDesc[textNum]));
UIEventListener.Get(_abilityDescLabel[textNum].gameObject).onClick = delegate
{
OnClickDescLabel(allAbilityText, _abilityDescLabel[textNum]);
};
UIEventListener.Get(_keyWordCollider[textNum]).onPress = delegate(GameObject g, bool b)
{
BattlePlayerView.PressKeyWordColorChange(_abilityDescLabel[textNum], b);
};
UIEventListener.Get(_keyWordCollider[textNum]).onDragStart = delegate
{
BattlePlayerView.SetKeyWordLabelColor(_abilityDescLabel[textNum]);
};
_abilityItemRoot[textNum].height = 60;
if (_abilityItemRoot[textNum].height < _abilityDescLabel[textNum].height)
{
_abilityItemRoot[textNum].height = _abilityDescLabel[textNum].height;
}
_abilityDescLabel[textNum].GetComponent<BoxCollider>().size = new Vector3(_abilityItemRoot[textNum].localSize.x, _abilityItemRoot[textNum].localSize.y + 22f, 0f);
_abilityDescLabel[textNum].GetComponent<BoxCollider>().center = new Vector3(-22f, 0f, 0f);
if (!int.TryParse(avatarBattleInfo.Bonus.AbilityCosts[textNum], out var result))
{
_signLabel[textNum].text = "-";
_costLabel[textNum].text = "X";
}
else if (result != 0)
{
_signLabel[textNum].text = ((result < 0) ? "-" : "+");
_costLabel[textNum].text = Mathf.Abs(result).ToString();
}
else
{
_signLabel[textNum].text = string.Empty;
_costLabel[textNum].text = "0";
_costLabel[textNum].transform.localPosition = new Vector3(0f, 2f, 0f);
}
}
}
private void OnClickDescLabel(string abilityText, UILabel textLabel)
{
if (HasKeyword(abilityText))
{
IList<string> keywords = BattleKeywordInfoListMgr.GetKeywords(abilityText);
_keywordDialog = BattlePlayerView.CreateKeyPanel(textLabel, keywords, CardMaster.CardMasterId.Default);
_keywordDialog.SetPanelDepth(20, isSetBackViewDepthImmediately: true);
_keywordDialog.GetComponentInChildren<BattleKeywordInfoListMgr>().SetPanelDepth(25);
}
}
private bool HasKeyword(string skillText)
{
IList<string> keywords = BattleKeywordInfoListMgr.GetKeywords(skillText);
bool result = false;
foreach (string item in keywords)
{
if (Data.Master.BattleKeyWordDic.ContainsKey(item))
{
result = true;
break;
}
}
return result;
}
private IEnumerator LoadResources(int skinId, Action callBack)
{
_loadList.Add(GetCharacterTexturePath(skinId, isFetch: false));
yield return StartCoroutine(Toolbox.ResourcesManager.LoadAssetGroupAsync(_loadList, null));
callBack.Call();
}
private string GetCharacterTexturePath(int skinId, bool isFetch)
{
return Toolbox.ResourcesManager.GetAssetTypePath(skinId.ToString("00"), ResourcesManager.AssetLoadPathType.ClassCharaSkinThumbnail, isFetch);
}
private void InitializeClassCharacter(int skinId)
{
_characterTexture.mainTexture = Toolbox.ResourcesManager.LoadObject(GetCharacterTexturePath(skinId, isFetch: true)) as Texture;
}
}

View File

@@ -15,13 +15,6 @@ public class CardCreateTask : BaseTask
base.type = ApiType.Type.CardCreate;
}
public void SetParameter(IDictionary<string, string> card_id_number_dict)
{
CardCreateTaskParam cardCreateTaskParam = new CardCreateTaskParam();
cardCreateTaskParam.card_id_number_array = JsonMapper.ToJson(card_id_number_dict);
base.Params = cardCreateTaskParam;
}
protected override int Parse()
{
int num = base.Parse();

View File

@@ -15,13 +15,6 @@ public class CardDestructTask : BaseTask
base.type = ApiType.Type.CardDestruct;
}
public void SetParameter(IDictionary<string, string> card_id_number_dict)
{
CardDestructTaskParam cardDestructTaskParam = new CardDestructTaskParam();
cardDestructTaskParam.card_id_number_array = JsonMapper.ToJson(card_id_number_dict);
base.Params = cardDestructTaskParam;
}
protected override int Parse()
{
int num = base.Parse();

View File

@@ -97,15 +97,6 @@ public class ClassCharacterMasterData
return Data.Master.GetClassCharaText(id);
}
public void Acquired()
{
if (!IsAcquired)
{
IsAcquired = true;
IsNew = true;
}
}
public void UnsetNew()
{
IsNew = false;

View File

@@ -1,9 +0,0 @@
namespace Wizard;
public class GenerateDeckImageMaintenanceTask : BaseTask
{
public GenerateDeckImageMaintenanceTask()
{
base.type = ApiType.Type.GenerateDeckImageMaintenance;
}
}

View File

@@ -1,100 +0,0 @@
using System;
using System.Text;
using Cute;
using UnityEngine;
using UnityEngine.Networking;
namespace Wizard;
public class GenerateDeckImageTask : BaseTask
{
public class GenerateDeckCodeTaskParam : BaseParam
{
public int clan;
public int deck_format;
public int[] cardID;
public int[] phantomCardID;
public string rotation_id;
}
public class GenerateDeckCodeTaskUseSubClassParam : BaseParam
{
public int clan;
public int sub_clan;
public int deck_format;
public int[] cardID;
public int[] phantomCardID;
}
public override string Url
{
get
{
string arg = Data.SystemText.Get("System_0045");
string arg2 = string.Format(ApiType.ApiList[base.type], arg);
return $"{CustomPreference.GetDeckBuilderServerURL()}{arg2}";
}
}
public byte[] ImageBytes { get; private set; }
public string TwitterMessage { get; private set; }
public GenerateDeckImageTask()
{
base.type = ApiType.Type.GenerateDeckImage;
base.CallbackOnUnityWebRequestDone = HandleResponseData;
}
public void SetParameter(int clan_id, GenerateDeckCodeTask.SubmitDeckType type, int[] card_id_array, string rotationId, int[] phantomCardIdList = null)
{
GenerateDeckCodeTaskParam generateDeckCodeTaskParam = new GenerateDeckCodeTaskParam();
generateDeckCodeTaskParam.clan = clan_id;
generateDeckCodeTaskParam.deck_format = (int)type;
generateDeckCodeTaskParam.cardID = card_id_array;
generateDeckCodeTaskParam.phantomCardID = phantomCardIdList;
generateDeckCodeTaskParam.rotation_id = rotationId;
base.Params = generateDeckCodeTaskParam;
}
public void SetParameter(int mainClassId, int subClassId, GenerateDeckCodeTask.SubmitDeckType type, int[] card_id_array, int[] phantomCardIdList = null)
{
GenerateDeckCodeTaskUseSubClassParam generateDeckCodeTaskUseSubClassParam = new GenerateDeckCodeTaskUseSubClassParam();
generateDeckCodeTaskUseSubClassParam.clan = mainClassId;
generateDeckCodeTaskUseSubClassParam.sub_clan = subClassId;
generateDeckCodeTaskUseSubClassParam.deck_format = (int)type;
generateDeckCodeTaskUseSubClassParam.cardID = card_id_array;
generateDeckCodeTaskUseSubClassParam.phantomCardID = phantomCardIdList;
base.Params = generateDeckCodeTaskUseSubClassParam;
}
private void HandleResponseData(UnityWebRequest www)
{
if (www.GetResponseHeaders().TryGetValue("X-TWITTER-MESSAGE", out var value))
{
byte[] bytes = Convert.FromBase64String(value);
TwitterMessage = Encoding.UTF8.GetString(bytes);
}
SaveImageToBytes(www);
if (base.CallbackOnSuccess != null)
{
base.CallbackOnSuccess(ResultCode.Success);
}
}
private void SaveImageToBytes(UnityWebRequest www)
{
Texture2D texture2D = new Texture2D(1, 1);
texture2D.LoadImage(www.downloadHandler.data);
ImageBytes = texture2D.EncodeToPNG();
UnityEngine.Object.Destroy(texture2D);
}
}

View File

@@ -92,8 +92,6 @@ public class Master
public Dictionary<string, Dictionary<ClassCharaPrm.EmotionType, Emotion>> _emotionDic { get; set; }
public PracticeAISettingDataSet PracticeAISettingList { get; set; }
public StoryAISettingDataSet QuestAISettingList { get; set; }
public List<string> AICommonFileNameList { get; set; }
@@ -499,21 +497,6 @@ public class Master
}
}
public void LoadAICsv(AICsvLoadingInfo info, Action callBack)
{
List<string> aiPaths = new List<string>();
RegisterAICommonCsvPath(aiPaths);
RegisterAIIndividualCsvPath(aiPaths, info);
Toolbox.ResourcesManager.StartCoroutine_LoadAssetGroupSync(aiPaths, delegate
{
StartLoadAIBasicAndCommonData();
StartLoadAIIndividualData(info);
/* Pre-Phase-5b: RegisterAllAIData dropped */
Toolbox.ResourcesManager.RemoveAssetGroup(aiPaths);
callBack.Call();
});
}
private void RegisterAICommonCsvPath(List<string> aiPaths)
{
aiPaths.Add(Toolbox.ResourcesManager.GetAssetTypePath("ai_basic", ResourcesManager.AssetLoadPathType.Master));

View File

@@ -12,11 +12,6 @@ public class MissionInfoTask : BaseTask
public long RequestTime { get; private set; }
public long NowUnixTime()
{
return ServerTime - RequestTime + (long)Time.realtimeSinceStartup;
}
public MissionInfoTask()
{
base.type = ApiType.Type.MissionInfo;

View File

@@ -245,8 +245,6 @@ public class PlayerStaticData : MonoBehaviour
public static TimeData UserTime = new TimeData();
public static int UserViewerID => 0; // Pre-Phase-5 chunk 39: aliased Certification.ViewerId — client-only UI accessor, dead headless
public static string UserRegionCode => PlayerPrefsWrapper.GetValue(PlayerPrefsWrapper.CURRENT_REGION_CODE);
public static AgreementState KorAuthorityAgreementState { get; set; } = AgreementState.NotAgree;
@@ -417,13 +415,6 @@ public class PlayerStaticData : MonoBehaviour
return Data.Load.data._userRank[(int)inFormat].rank;
}
public static int UserRankHighAllFormat()
{
int val = UserRank(Format.Rotation);
int val2 = UserRank(Format.Unlimited);
return Math.Max(val, val2);
}
public static void LoadUserRankTexture(Format inFormat)
{
UserRankTexture.Format = inFormat;

View File

@@ -11,9 +11,4 @@ public class PracticeAISettingDataSet
{
_dataTable = new List<PracticeAISettingData>();
}
public PracticeAISettingData GetSettingData(int classId, int difficulty)
{
return _dataTable.First((PracticeAISettingData d) => d.ClassId == classId && d.Difficulty == difficulty);
}
}

View File

@@ -1,24 +0,0 @@
namespace Wizard;
public class PracticeStartTask : BaseTask
{
public PracticeStartTask()
{
base.type = ApiType.Type.PracticeStart;
}
protected override int Parse()
{
DataMgr dataMgr = null; // Pre-Phase-5b: headless has no DataMgr
int num = base.Parse();
if (num != 1)
{
return num;
}
if (base.ResponseData["data"].Keys.Contains("mission_parameter"))
{
dataMgr.SetMissionNecessaryInformation(base.ResponseData["data"]["mission_parameter"]);
}
return num;
}
}

View File

@@ -125,16 +125,6 @@ public class QuestLastUsedDeckSaveDataManager
}
}
public void SaveDeck(int stage, DeckData deckData)
{
ExtractedDeckData extractedDeckData = new ExtractedDeckData(deckData);
if (!_saveData.StageDeckTable.TryGetValue(stage, out var value) || !(extractedDeckData == value))
{
_saveData.StageDeckTable[stage] = extractedDeckData;
Save();
}
}
private static SaveData DeserializeSaveData(string serializedData)
{
if (serializedData == string.Empty)

View File

@@ -12,9 +12,7 @@ public class QuestSelectionPage : UIBase
{
public enum FirstSelectType
{
NONE,
PUZZLE,
BOSS_RUSH }
NONE}
[SerializeField]
private UISpriteAtlasOverwriter _spriteAtlasOverwriter;

View File

@@ -21,14 +21,6 @@ public class QuestStartTask : BaseTask
base.type = (isPuzzle ? ApiType.Type.QuestPuzzleStart : ApiType.Type.QuestStart);
}
public void SetParameter(int questStageId, int extraDeckScheduleId)
{
QuestStartTaskParam questStartTaskParam = new QuestStartTaskParam();
questStartTaskParam.quest_stage_id = questStageId;
questStartTaskParam.extra_deck_schedule_id = extraDeckScheduleId;
base.Params = questStartTaskParam;
}
public void SetParameterForPuzzle(int puzzleId)
{
base.Params = new QuestStartTaskParamForPuzzle

View File

@@ -26,8 +26,6 @@ public class SealedData
public List<int> SortedOwnSealedCardList => _sortedSealedCardInfoList.SelectMany((SealedCardInfo x) => Enumerable.Repeat(x.SealedCardId, x.OwnNum)).ToList();
public List<int> SortedDeckOriginalCardList => _sortedSealedCardInfoList.SelectMany((SealedCardInfo x) => Enumerable.Repeat(x.OriginalCardId, x.DeckUsingNum)).ToList();
private List<int> SortedDeckSealedCardList => _sortedSealedCardInfoList.SelectMany((SealedCardInfo x) => Enumerable.Repeat(x.SealedCardId, x.DeckUsingNum)).ToList();
public int[] DeckOriginalExcludedPhantomCardList => _sortedSealedCardInfoList.Where((SealedCardInfo x) => !x.IsPhantom).SelectMany((SealedCardInfo x) => Enumerable.Repeat(x.OriginalCardId, x.DeckUsingNum)).ToArray();

View File

@@ -15,8 +15,6 @@ public class ShopDrumrollScrollItem : MonoBehaviour
[SerializeField]
private GameObject _objBadge;
private List<string> _assetPathList = new List<string>();
private void Awake()
{
_ = _objNewMark != null;

View File

@@ -7,11 +7,6 @@ public class SpotCardData
{
private Dictionary<int, int> _spotCardDict = new Dictionary<int, int>();
public bool ExistsSpotCard()
{
return _spotCardDict.Count > 0;
}
public bool ExistsSpotCard(int cardId)
{
return _spotCardDict.ContainsKey(cardId);
@@ -24,12 +19,6 @@ public class SpotCardData
return value;
}
public void SetSpotCardNum(int cardId, int num)
{
_spotCardDict[cardId] = num;
/* Pre-Phase-5b: SetDirtyPossessionCardDict dropped */
}
public Dictionary<int, int> CreateDictionaryIncludingSpotCard(IDictionary<int, int> srcDict)
{
Dictionary<int, int> dictionary = new Dictionary<int, int>(srcDict);

View File

@@ -6,27 +6,10 @@ public static class ToolboxGame
{
public static UIManager UIManager = null;
public static RealTimeNetworkAgent RealTimeNetworkAgent
{
// Instance-backed via BattleManagerBase.InstanceNetworkAgent (Phase 5, chunk 40 — ambient
// fallback dropped after chunk 38 converted all 60 consumers to per-mgr reads).
get => BattleManagerBase.GetIns()?.InstanceNetworkAgent;
}
public static void SetRealTimeNetworkBattle(RealTimeNetworkAgent agent)
{
var mgr = BattleManagerBase.GetIns()
?? throw new System.InvalidOperationException("SetRealTimeNetworkBattle called with no attached mgr.");
mgr.InstanceNetworkAgent = agent;
}
public static void DestroyNetworkAgent()
{
var mgr = BattleManagerBase.GetIns();
if (mgr?.InstanceNetworkAgent is { } m)
{
Object.DestroyImmediate(m.gameObject);
mgr.InstanceNetworkAgent = null;
}
}
}