milimoe 6325e9a956
行动顺序表兼容单位设计 (#147)
* 初步添加单位判断

* 完成单位的特殊处理;新增技能释放前的询问钩子
2026-01-14 19:03:52 +08:00

42 lines
1.2 KiB
C#

namespace Milimoe.FunGame.Core.Entity
{
public class Team(string name, IEnumerable<Character> charaters)
{
public Guid Id { get; set; } = Guid.Empty;
public string Name { get; set; } = name;
public List<Character> Members { get; } = [.. charaters];
public int Score { get; set; } = 0;
public bool IsWinner { get; set; } = false;
public int Count => Members.Count;
public List<Character> GetActiveCharacters()
{
return [.. Members.Where(c => c.HP > 0)];
}
public List<Character> GetTeammates(Character character)
{
return [.. Members.Where(c => c != character)];
}
public List<Character> GetActiveTeammates(Character character)
{
return [.. Members.Where(c => c.HP > 0 && c != character)];
}
public bool IsOnThisTeam(Character character)
{
if (character.Master != null)
{
character = character.Master;
}
return Members.Contains(character);
}
public override string ToString()
{
return Name;
}
}
}