卡牌更新
This commit is contained in:
@@ -61,8 +61,8 @@ namespace Continentis.MainGame.Card
|
||||
public void SetVariableAttribute(string attributeName, int baseOffset, bool additive = false,
|
||||
int originalValue = 0)
|
||||
{
|
||||
var baseName = "Base" + attributeName;
|
||||
var baseOffsetName = baseName + "Offset";
|
||||
var baseName = "Base_" + attributeName;
|
||||
var baseOffsetName = "Base_" + attributeName + "_Offset";
|
||||
|
||||
if (!additive) originalValue = GetAttribute(baseName);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
/// 基于 EditorBaseCollection 自动生成的卡牌属性常量字典。
|
||||
/// 包含所有配置的 Key,以防止手写出现 Typo。
|
||||
/// </summary>
|
||||
[GameAttributeCollection]
|
||||
public static class CardAttributes
|
||||
{
|
||||
/// <summary> 体力值消耗 </summary>
|
||||
|
||||
@@ -17,16 +17,19 @@
|
||||
|
||||
/// <summary> 可选目标为全体角色 </summary>
|
||||
public const string TargetAll = "TargetAll";
|
||||
|
||||
/// <summary> 多目标选择时允许复选 </summary>
|
||||
public const string AllowDuplicateTargets = "AllowDuplicateTargets";
|
||||
|
||||
/// <summary> 物理 </summary>
|
||||
public const string Physics = "Physics";
|
||||
/// <summary> 多目标选择时允许复选 </summary>
|
||||
public const string AllowDuplicateTargets = "AllowDuplicateTargets";
|
||||
|
||||
/// <summary> 随机目标 </summary>
|
||||
public const string RandomTarget = "RandomTarget";
|
||||
|
||||
/// <summary> 魔法 </summary>
|
||||
public const string Magic = "Magic";
|
||||
|
||||
/// <summary> 物理 </summary>
|
||||
public const string Physics = "Physics";
|
||||
|
||||
/// <summary> 风 </summary>
|
||||
public const string Wind = "Wind";
|
||||
|
||||
@@ -48,29 +51,11 @@
|
||||
/// <summary> 暗 </summary>
|
||||
public const string Darkness = "Darkness";
|
||||
|
||||
/// <summary> 打击(力量) </summary>
|
||||
public const string Strike = "Strike";
|
||||
/// <summary> 毒 </summary>
|
||||
public const string Poison = "Poison";
|
||||
|
||||
/// <summary> 突刺(敏捷) </summary>
|
||||
public const string Prick = "Prick";
|
||||
|
||||
/// <summary> 斩击(力量&敏捷) </summary>
|
||||
public const string Slash = "Slash";
|
||||
|
||||
/// <summary> 奥术(智力) </summary>
|
||||
public const string Arcane = "Arcane";
|
||||
|
||||
/// <summary> 邪术(魅力) </summary>
|
||||
public const string Sorcery = "Sorcery";
|
||||
|
||||
/// <summary> 迅捷(敏捷) </summary>
|
||||
public const string Swiftness = "Swiftness";
|
||||
|
||||
/// <summary> 坚韧(体质) </summary>
|
||||
public const string Fortitude = "Fortitude";
|
||||
|
||||
/// <summary> 预判(感知) </summary>
|
||||
public const string Prediction = "Prediction";
|
||||
/// <summary> 灵能 </summary>
|
||||
public const string Psionics = "Psionics";
|
||||
|
||||
/// <summary> 消耗(打出后移至消耗堆) </summary>
|
||||
public const string Exhaust = "Exhaust";
|
||||
@@ -101,5 +86,17 @@
|
||||
|
||||
/// <summary> 先决(在手牌中时,必须先打出此牌) </summary>
|
||||
public const string Prerequisite = "Prerequisite";
|
||||
|
||||
/// <summary> 弱驱散 </summary>
|
||||
public const string BasicDispel = "BasicDispel";
|
||||
|
||||
/// <summary> 强驱散 </summary>
|
||||
public const string StrongDispel = "StrongDispel";
|
||||
|
||||
/// <summary> 穿透(无视格挡) </summary>
|
||||
public const string Penetration = "Penetration";
|
||||
|
||||
/// <summary> 必中(无视闪避) </summary>
|
||||
public const string GuaranteedHit = "GuaranteedHit";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,16 +30,16 @@ namespace Continentis.MainGame.Card
|
||||
|
||||
foreach (KeyValuePair<string, float> attribute in cardData.variableAttributes)
|
||||
{
|
||||
string baseName = "Base" + attribute.Key;
|
||||
string baseName = "Base_" + attribute.Key;
|
||||
originalAttributes.Add(baseName, attribute.Value);
|
||||
|
||||
string mainName = attribute.Key;
|
||||
endowingAttributes.Add(mainName, baseName);
|
||||
|
||||
string baseOffset = "Base" + attribute.Key + "Offset";
|
||||
string baseOffset = "Base_" + attribute.Key + "_Offset";
|
||||
endowingAttributes.Add(baseOffset, "0");
|
||||
|
||||
string displayName = "Display" + attribute.Key;
|
||||
string displayName = "Display_" + attribute.Key;
|
||||
endowingAttributes.Add(displayName, baseName);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Continentis.MainGame.Card
|
||||
float final_pAccumulation = cha_pAccumulation + card_pAccumulation;
|
||||
float final_pMultiplication = cha_pMultiplication * card_pMultiplication;
|
||||
attributeGroup.ModifyAttribute(attributeName, final_numeric, final_pAccumulation, final_pMultiplication);
|
||||
string displayAttributeName = "Display" + attributeName;
|
||||
string displayAttributeName = "Display_" + attributeName;
|
||||
if(attributeGroup.current.ContainsKey(displayAttributeName))
|
||||
{
|
||||
attributeGroup.SetAttribute(displayAttributeName, attributeGroup.current[attributeName]);
|
||||
@@ -87,7 +87,7 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
owner.combatBuffSubmodule.GetAttributeChange(attributeName, out float numeric, out float pAccumulation, out float pMultiplication);
|
||||
attributeGroup.ModifyAttribute(attributeName, numeric, pAccumulation, pMultiplication);
|
||||
string displayAttributeName = "Display" + attributeName;
|
||||
string displayAttributeName = "Display_" + attributeName;
|
||||
if(attributeGroup.current.ContainsKey(displayAttributeName))
|
||||
{
|
||||
attributeGroup.SetAttribute(displayAttributeName, attributeGroup.current[attributeName]);
|
||||
|
||||
@@ -107,9 +107,9 @@ namespace Continentis.MainGame.Card
|
||||
|
||||
int targetCount = card.attributeSubmodule.targetCount;
|
||||
|
||||
if (targetCount > 1)
|
||||
if (targetCount > 1 && !card.HasKeyword(CardKeywords.RandomTarget))
|
||||
{
|
||||
// 多目标模式:先执行通用的可打出校验
|
||||
// 多目标手动选择模式:先执行通用的可打出校验
|
||||
if (!CheckCanStartPlay())
|
||||
{
|
||||
ResetSelectionState();
|
||||
@@ -255,7 +255,8 @@ namespace Continentis.MainGame.Card
|
||||
CombatUIManager.Instance.arrowsPage.otherPointerArrows.ForEach(arrow => { arrow.gameObject.SetActive(false); });
|
||||
}
|
||||
}
|
||||
else if (card.attributeSubmodule.targetCount == 0)
|
||||
else if (card.attributeSubmodule.targetCount == 0
|
||||
|| card.HasKeyword(CardKeywords.RandomTarget))
|
||||
{
|
||||
Vector3 cardPosition = SpaceConverter.ScreenPointToUIPoint(arrowCanvasRect, eventData.position, uiCamera);
|
||||
cardTransform.position = cardPosition;
|
||||
@@ -289,7 +290,7 @@ namespace Continentis.MainGame.Card
|
||||
|
||||
if (!CheckCanStartPlay()) return;
|
||||
|
||||
if (!card.HasKeyword("TargetSelf"))
|
||||
if (!card.HasKeyword("TargetSelf") && !card.HasKeyword(CardKeywords.RandomTarget))
|
||||
{
|
||||
if (!validTargets.Contains(hoveringCharacter))
|
||||
{
|
||||
@@ -320,6 +321,10 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
targetList.AddRange(validTargets);
|
||||
}
|
||||
else if (card.HasKeyword(CardKeywords.RandomTarget))
|
||||
{
|
||||
targetList.AddRange(card.SetRandomTargets(validTargets));
|
||||
}
|
||||
else if (card.HasKeyword("TargetSelf") && card.attributeSubmodule.targetCount == 0)
|
||||
{
|
||||
targetList.Add(card.user);
|
||||
|
||||
@@ -205,6 +205,54 @@ namespace Continentis.MainGame.Card
|
||||
}
|
||||
|
||||
|
||||
[BoxGroup("Fundamental")]
|
||||
[PropertyOrder(6)]
|
||||
[Button("📄 打开逻辑脚本", ButtonSizes.Medium)]
|
||||
[GUIColor(1f, 0.92f, 0.6f)]
|
||||
[ShowIf("@!string.IsNullOrEmpty(className)")]
|
||||
private void OpenCardLogicScript()
|
||||
{
|
||||
if (string.IsNullOrEmpty(className))
|
||||
{
|
||||
Debug.LogWarning("[CardData] 尚未选择逻辑类,无法打开对应脚本。");
|
||||
return;
|
||||
}
|
||||
|
||||
// 根据 modName / categoryName / className 拼接可能的文件路径
|
||||
// 路径格式: Assets/Mods/{modName}/Cards/Scripts/{categoryName}/{className}.cs
|
||||
// | Assets/Mods/{modName}/Cards/Scripts/{className}.cs (无分类时)
|
||||
var candidatePaths = new List<string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(categoryName))
|
||||
candidatePaths.Add($"Assets/Mods/{modName}/Cards/Scripts/{categoryName}/{className}.cs");
|
||||
|
||||
candidatePaths.Add($"Assets/Mods/{modName}/Cards/Scripts/{className}.cs");
|
||||
|
||||
// 在全项目中也搜一遍(应对目录结构不规范的情况)
|
||||
string[] guids = AssetDatabase.FindAssets($"{className} t:MonoScript");
|
||||
foreach (string guid in guids)
|
||||
{
|
||||
string p = AssetDatabase.GUIDToAssetPath(guid);
|
||||
if (Path.GetFileNameWithoutExtension(p) == className)
|
||||
candidatePaths.Add(p);
|
||||
}
|
||||
|
||||
foreach (string path in candidatePaths)
|
||||
{
|
||||
var script = AssetDatabase.LoadAssetAtPath<UnityEditor.MonoScript>(path);
|
||||
if (script != null)
|
||||
{
|
||||
AssetDatabase.OpenAsset(script);
|
||||
EditorGUIUtility.PingObject(script);
|
||||
Debug.Log($"[CardData] 已打开逻辑脚本:{path}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Debug.LogError($"[CardData] 未找到逻辑类 '{className}' 对应的脚本文件。\n" +
|
||||
$"已搜索路径:\n{string.Join("\n", candidatePaths)}");
|
||||
}
|
||||
|
||||
[BoxGroup("Display")]
|
||||
[PropertyOrder(11)]
|
||||
[Button("✨ 预览卡牌效果", ButtonSizes.Medium)]
|
||||
|
||||
@@ -9,12 +9,12 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
protected override void TargetingEffect(CharacterBase target)
|
||||
{
|
||||
card.SetAttribute("DisplayDamage", mainLogic.GetTargetedFinalDamage(target));
|
||||
card.SetAttribute("Display_Damage", mainLogic.GetTargetedFinalDamage(target));
|
||||
}
|
||||
|
||||
protected override void UntargetingEffect()
|
||||
{
|
||||
card.SetAttribute("DisplayDamage", mainLogic.GetNoTargetFinalDamage());
|
||||
card.SetAttribute("Display_Damage", mainLogic.GetNoTargetFinalDamage());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -38,48 +38,20 @@ namespace Continentis.MainGame.Card
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 斩击伤害计算,伤害=基础伤害+(力量加成+敏捷加成)/2
|
||||
/// 物理伤害计算,伤害=基础伤害+物理伤害加成
|
||||
/// </summary>
|
||||
public void SetDamage_Slash(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
public void SetDamage_Physics(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
{
|
||||
float rawDamageOffsetFromStrength = user.GetRawAttribute("OffsetFromStrength");
|
||||
float rawDamageOffsetFromAgility = user.GetRawAttribute("OffsetFromAgility");
|
||||
SetDamage(Mathf.RoundToInt((rawDamageOffsetFromStrength + rawDamageOffsetFromAgility) / 2f), damageAttributeName, additive, originalDamage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 打击伤害计算,伤害=基础伤害+力量加成
|
||||
/// </summary>
|
||||
public void SetDamage_Strike(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
{
|
||||
int damageOffset = user.GetAttribute("OffsetFromStrength");
|
||||
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 突刺伤害计算,伤害=基础伤害+敏捷加成
|
||||
/// </summary>
|
||||
public void SetDamage_Prick(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
{
|
||||
int damageOffset = user.GetAttribute("OffsetFromAgility");
|
||||
int damageOffset = user.GetAttribute("PhysicsDamageDealtOffset");
|
||||
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 奥术伤害计算,伤害=基础伤害+智力加成
|
||||
/// 魔法伤害计算,伤害=基础伤害+魔法伤害加成
|
||||
/// </summary>
|
||||
public void SetDamage_Arcane(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
public void SetDamage_Magic(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
{
|
||||
int damageOffset = user.GetAttribute("OffsetFromIntelligence");
|
||||
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 契术伤害计算,伤害=基础伤害+魅力加成
|
||||
/// </summary>
|
||||
public void SetDamage_Sorcery(string damageAttributeName = "Damage", bool additive = false, int originalDamage = 0)
|
||||
{
|
||||
int damageOffset = user.GetAttribute("OffsetFromCharisma");
|
||||
int damageOffset = user.GetAttribute("MagicDamageDealtOffset");
|
||||
SetDamage(damageOffset, damageAttributeName, additive, originalDamage);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,15 +10,15 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
if (card.HasAttribute("Block"))
|
||||
{
|
||||
card.SetAttribute("DisplayBlock", card.GetAttribute("Block"));
|
||||
card.SetAttribute("Display_Block", card.GetAttribute("Block"));
|
||||
}
|
||||
else if(card.HasAttribute("Dodge"))
|
||||
{
|
||||
card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge"));
|
||||
card.SetAttribute("Display_Dodge", card.GetAttribute("Dodge"));
|
||||
}
|
||||
else if(card.HasAttribute("TemporaryHealth"))
|
||||
{
|
||||
card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth"));
|
||||
card.SetAttribute("Display_TemporaryHealth", card.GetAttribute("TemporaryHealth"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,79 +26,34 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
if (card.HasAttribute("Block"))
|
||||
{
|
||||
card.SetAttribute("DisplayBlock", card.GetAttribute("Block"));
|
||||
card.SetAttribute("Display_Block", card.GetAttribute("Block"));
|
||||
}
|
||||
else if(card.HasAttribute("Dodge"))
|
||||
{
|
||||
card.SetAttribute("DisplayDodge", card.GetAttribute("Dodge"));
|
||||
card.SetAttribute("Display_Dodge", card.GetAttribute("Dodge"));
|
||||
}
|
||||
else if(card.HasAttribute("TemporaryHealth"))
|
||||
{
|
||||
card.SetAttribute("DisplayTemporaryHealth", card.GetAttribute("TemporaryHealth"));
|
||||
card.SetAttribute("Display_TemporaryHealth", card.GetAttribute("TemporaryHealth"));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置格挡值,默认由体质加成
|
||||
/// 设置格挡值,加成来自 BlockGainOffset
|
||||
/// </summary>
|
||||
public void SetBlock_Fortitude(bool additive = false, int originalBlock = 0)
|
||||
public void SetBlock(bool additive = false, int originalBlock = 0)
|
||||
{
|
||||
int blockOffsetFromPhysique = user.GetAttribute("OffsetFromPhysique");
|
||||
card.SetVariableAttribute("Block", blockOffsetFromPhysique, additive, originalBlock);
|
||||
int blockOffset = user.GetAttribute("BlockGainOffset");
|
||||
card.SetVariableAttribute("Block", blockOffset, additive, originalBlock);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置格挡值,由智力加成
|
||||
/// 设置闪避值,加成来自 DodgeGainOffset
|
||||
/// </summary>
|
||||
public void SetBlock_Arcane(bool additive = false, int originalBlock = 0)
|
||||
public void SetDodge(bool additive = false, int originalDodge = 0)
|
||||
{
|
||||
int blockOffsetFromIntelligence = user.GetAttribute("OffsetFromIntelligence");
|
||||
card.SetVariableAttribute("Block", blockOffsetFromIntelligence, additive, originalBlock);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置格挡值,由魅力加成
|
||||
/// </summary>
|
||||
public void SetBlock_Sorcery(bool additive = false, int originalBlock = 0)
|
||||
{
|
||||
int blockOffsetFromCharisma = user.GetAttribute("OffsetFromCharisma");
|
||||
card.SetVariableAttribute("Block", blockOffsetFromCharisma, additive, originalBlock);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置闪避值,由敏捷加成
|
||||
/// </summary>
|
||||
public void SetDodge_Swiftness(bool additive = false, int originalDodge = 0)
|
||||
{
|
||||
int dodgeOffsetFromAgility = user.GetAttribute("OffsetFromAgility");
|
||||
card.SetVariableAttribute("Dodge", dodgeOffsetFromAgility, additive, originalDodge);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置闪避值,由智力加成
|
||||
/// </summary>
|
||||
public void SetDodge_Arcane(bool additive = false, int originalDodge = 0)
|
||||
{
|
||||
int dodgeOffsetFromIntelligence = user.GetAttribute("OffsetFromIntelligence");
|
||||
card.SetVariableAttribute("Dodge", dodgeOffsetFromIntelligence, additive, originalDodge);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置闪避值,由魅力加成
|
||||
/// </summary>
|
||||
public void SetDodge_Sorcery(bool additive = false, int originalDodge = 0)
|
||||
{
|
||||
int dodgeOffsetFromCharisma = user.GetAttribute("OffsetFromCharisma");
|
||||
card.SetVariableAttribute("Dodge", dodgeOffsetFromCharisma, additive, originalDodge);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置闪避值,由感知加成
|
||||
/// </summary>
|
||||
public void SetDodge_Prediction(bool additive = false, int originalDodge = 0)
|
||||
{
|
||||
int dodgeOffsetFromPrediction = user.GetAttribute("OffsetFromPerception");
|
||||
card.SetVariableAttribute("Dodge", dodgeOffsetFromPrediction, additive, originalDodge);
|
||||
int dodgeOffset = user.GetAttribute("DodgeGainOffset");
|
||||
card.SetVariableAttribute("Dodge", dodgeOffset, additive, originalDodge);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -7,12 +7,12 @@ namespace Continentis.MainGame.Card
|
||||
{
|
||||
protected override void TargetingEffect(CharacterBase target)
|
||||
{
|
||||
card.SetAttribute("DisplayLifeStealPercent", GetLifeStealPercent());
|
||||
card.SetAttribute("Display_LifeStealPercent", GetLifeStealPercent());
|
||||
}
|
||||
|
||||
protected override void UntargetingEffect()
|
||||
{
|
||||
card.SetAttribute("DisplayLifeStealPercent", card.GetRawAttribute("LifeStealPercent"));
|
||||
card.SetAttribute("Display_LifeStealPercent", card.GetRawAttribute("LifeStealPercent"));
|
||||
}
|
||||
|
||||
public float GetLifeStealPercent()
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Continentis.MainGame.Commands;
|
||||
@@ -10,6 +11,7 @@ namespace Continentis.MainGame.Card
|
||||
public class CardLogicComponent_SelectCustomCards : CardLogicComponentBase
|
||||
{
|
||||
public List<CardInstance> selectedCards;
|
||||
public Action<CardInstance> selectEffect;
|
||||
|
||||
/// <summary>
|
||||
/// 添加选择手牌的指令
|
||||
@@ -24,24 +26,16 @@ namespace Continentis.MainGame.Card
|
||||
selectedCards = new List<CardInstance>();
|
||||
CustomCardSelectionInterface customCardSelector = CombatUIManager.Instance.combatMainPage.customCardSelector;
|
||||
|
||||
commandGroup.AddCommand(new Cmd_Function(() =>
|
||||
commandGroup.AddCommand(Cmd.Do(() =>
|
||||
{
|
||||
customCardSelector.Setup(title, mainLogic.card, cardsToSelect, maxSelection, forceMax);
|
||||
}));
|
||||
commandGroup.AddCommand(new Cmd_WaitForUI(customCardSelector));
|
||||
commandGroup.AddCommand(new Cmd_Function(() =>
|
||||
commandGroup.AddCommand(Cmd.Do(() =>
|
||||
{
|
||||
selectedCards = customCardSelector.selectedCards.ToList();
|
||||
selectedCards.ForEach(SelectEffect);
|
||||
selectedCards.ForEach(selectEffect);
|
||||
}));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 卡牌被选择后的效果
|
||||
/// </summary>
|
||||
public void SelectEffect(CardInstance card)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,7 @@ namespace Continentis.MainGame.Card
|
||||
selectedCards = new List<CardInstance>();
|
||||
HandCardSelectionInterface handCardSelector = CombatUIManager.Instance.combatMainPage.handCardSelector;
|
||||
|
||||
commandGroup.AddCommand(new Cmd_Function(() =>
|
||||
commandGroup.AddCommand(Cmd.Do(() =>
|
||||
{
|
||||
handCardSelector.Setup(title, mainLogic.card, maxSelection, selectCondition, forceMax);
|
||||
if (!includeTeam)
|
||||
@@ -51,7 +51,7 @@ namespace Continentis.MainGame.Card
|
||||
}
|
||||
}));
|
||||
commandGroup.AddCommand(new Cmd_WaitForUI(handCardSelector));
|
||||
commandGroup.AddCommand(new Cmd_Function(() =>
|
||||
commandGroup.AddCommand(Cmd.Do(() =>
|
||||
{
|
||||
selectedCards = handCardSelector.selectedCards.ToList();
|
||||
selectedCards.ForEach(selectEffect);
|
||||
|
||||
Reference in New Issue
Block a user