除了充盈都做完了
This commit is contained in:
@@ -169,4 +169,49 @@ namespace Continentis.MainGame.Combat
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public partial class CombatCharacterController
|
||||
{
|
||||
public List<CharacterBase> GetAllAllies(CharacterBase character, bool includeSelf = false)
|
||||
{
|
||||
if (character.fraction is Fraction.Player or Fraction.Ally)
|
||||
{
|
||||
List<CharacterBase> alliesList = new List<CharacterBase>(playerHeroes);
|
||||
alliesList.AddRange(npcs[Fraction.Ally]);
|
||||
|
||||
if (!includeSelf)
|
||||
{
|
||||
alliesList.Remove(character);
|
||||
}
|
||||
|
||||
return alliesList;
|
||||
}
|
||||
else
|
||||
{
|
||||
return npcs[character.fraction].Cast<CharacterBase>().ToList();
|
||||
}
|
||||
}
|
||||
|
||||
public List<CharacterBase> GetAllEnemies(CharacterBase character)
|
||||
{
|
||||
if (character.fraction is Fraction.Player or Fraction.Ally)
|
||||
{
|
||||
return npcs[Fraction.Enemy].Cast<CharacterBase>().ToList();
|
||||
}
|
||||
else if (character.fraction is Fraction.Enemy)
|
||||
{
|
||||
List<CharacterBase> enemiesList = new List<CharacterBase>(playerHeroes);
|
||||
enemiesList.AddRange(npcs[Fraction.Ally]);
|
||||
return enemiesList;
|
||||
}
|
||||
else // Neutral
|
||||
{
|
||||
List<CharacterBase> enemiesList = new List<CharacterBase>();
|
||||
enemiesList.AddRange(npcs[Fraction.Player]);
|
||||
enemiesList.AddRange(npcs[Fraction.Ally]);
|
||||
enemiesList.AddRange(npcs[Fraction.Enemy]);
|
||||
return enemiesList;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,29 +11,29 @@ namespace Continentis.MainGame.Combat
|
||||
/// <summary>
|
||||
/// 战斗开始
|
||||
/// </summary>
|
||||
public OrderedDictionary<string, EventUnit> onCombatStart;
|
||||
public OrderedDictionary<string, PrioritizedAction> onCombatStart;
|
||||
|
||||
/// <summary>
|
||||
/// 战斗结束
|
||||
/// </summary>
|
||||
public OrderedDictionary<string, EventUnit> onCombatEnd;
|
||||
public OrderedDictionary<string, PrioritizedAction> onCombatEnd;
|
||||
|
||||
/// <summary>
|
||||
/// 回合开始
|
||||
/// </summary>
|
||||
public OrderedDictionary<string, EventUnit> onRoundStart;
|
||||
public OrderedDictionary<string, PrioritizedAction> onRoundStart;
|
||||
|
||||
/// <summary>
|
||||
/// 回合结束
|
||||
/// </summary>
|
||||
public OrderedDictionary<string, EventUnit> onRoundEnd;
|
||||
public OrderedDictionary<string, PrioritizedAction> onRoundEnd;
|
||||
|
||||
public CombatEventCollection()
|
||||
{
|
||||
onCombatStart = new OrderedDictionary<string, EventUnit>();
|
||||
onCombatEnd = new OrderedDictionary<string, EventUnit>();
|
||||
onRoundStart = new OrderedDictionary<string, EventUnit>();
|
||||
onRoundEnd = new OrderedDictionary<string, EventUnit>();
|
||||
onCombatStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onCombatEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onRoundStart = new OrderedDictionary<string, PrioritizedAction>();
|
||||
onRoundEnd = new OrderedDictionary<string, PrioritizedAction>();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -220,7 +220,7 @@ namespace Continentis.MainGame.Combat
|
||||
List<CardInstance> cardToExhaust = handPile.Where(card => card.cardLogic.HasKeyword("Ethereal")).ToList(); //含有“虚无”关键词的卡牌
|
||||
List<CardInstance> cardsToDiscard = handPile.Except(cardToRetain).Except(cardToExhaust).ToList(); //其他卡牌,默认丢弃
|
||||
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.ExhaustCards(cardToExhaust));
|
||||
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCards(cardsToDiscard));
|
||||
CommandQueueManager.Instance.AddCommand(playerHero.deckSubmodule.DiscardCards(cardsToDiscard, false));
|
||||
}
|
||||
|
||||
characterController.actionOrderList.Remove(currentCharacter);
|
||||
|
||||
Reference in New Issue
Block a user