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.
56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using System.Collections.Generic;
|
|
|
|
namespace Wizard;
|
|
|
|
public static class AITribeSimulationUtility
|
|
{
|
|
public static CardBasePrm.TribeType ConvertTokenArgTypeToTribeType(AIScriptTokenArgType tokenArgType)
|
|
{
|
|
return tokenArgType switch
|
|
{
|
|
AIScriptTokenArgType.FOOD => CardBasePrm.TribeType.FOOD,
|
|
AIScriptTokenArgType.MACHINE => CardBasePrm.TribeType.MACHINE,
|
|
AIScriptTokenArgType.NATURE => CardBasePrm.TribeType.NATURE,
|
|
AIScriptTokenArgType.LEGION => CardBasePrm.TribeType.LEGION,
|
|
AIScriptTokenArgType.LORD => CardBasePrm.TribeType.LORD,
|
|
AIScriptTokenArgType.LEVIN => CardBasePrm.TribeType.LEVIN,
|
|
AIScriptTokenArgType.LOOT => CardBasePrm.TribeType.LOOTING,
|
|
AIScriptTokenArgType.WHITE_RITUAL => CardBasePrm.TribeType.WHITE_RITUAL,
|
|
AIScriptTokenArgType.MANARIA => CardBasePrm.TribeType.MANARIA,
|
|
AIScriptTokenArgType.ARTIFACT => CardBasePrm.TribeType.ARTIFACT,
|
|
AIScriptTokenArgType.BANQUET => CardBasePrm.TribeType.BANQUET,
|
|
AIScriptTokenArgType.HERO => CardBasePrm.TribeType.HERO,
|
|
AIScriptTokenArgType.ARMED => CardBasePrm.TribeType.ARMED,
|
|
AIScriptTokenArgType.HELLBOUND => CardBasePrm.TribeType.HELLBOUND,
|
|
AIScriptTokenArgType.SCHOOL => CardBasePrm.TribeType.SCHOOL,
|
|
AIScriptTokenArgType.CHESS => CardBasePrm.TribeType.CHESS,
|
|
_ => CardBasePrm.TribeType.MAX,
|
|
};
|
|
}
|
|
|
|
public static void ChangeTribeAll(List<AIVirtualCard> candidates, CardBasePrm.TribeType tribe)
|
|
{
|
|
if (candidates == null || candidates.Count <= 0)
|
|
{
|
|
return;
|
|
}
|
|
for (int i = 0; i < candidates.Count; i++)
|
|
{
|
|
AIVirtualCard aIVirtualCard = candidates[i];
|
|
if (!aIVirtualCard.IsDead && !aIVirtualCard.IsIndependent)
|
|
{
|
|
aIVirtualCard.ChangeTribe(tribe);
|
|
}
|
|
}
|
|
}
|
|
|
|
public static void ChangeTribeTargetSelect(CardBasePrm.TribeType tribe, AIScriptTokenArgType selectType, AISituationInfo situation)
|
|
{
|
|
AISelectedTargetInfo situationTarget = situation.GetSituationTarget(selectType);
|
|
if (situationTarget != null && situationTarget.HasTarget)
|
|
{
|
|
ChangeTribeAll(situationTarget.Targets, tribe);
|
|
}
|
|
}
|
|
}
|