JinChanChan/Assets/Scripts/Game/CombatSystem/CombatSystem.cs

66 lines
1.4 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
namespace Game.CombatSystem
{
public interface ICombatSystem
{
void CombatStart(List<Hero> characters1, List<Hero> characters2);
void CombatEnd();
}
public class CombatSystem : ICombatSystem
{
private List<Hero> characters1;
private List<Hero> characters2;
public void CombatStart(List<Hero> characters1, List<Hero> characters2)
{
this.characters1 = characters1;
this.characters2 = characters2;
Update().Wait();
}
async Task Update()
{
while (true)
{
await Task.Delay(100);
// 执行战斗逻辑
if (CheckIsDeath(characters1)) break;
if (CheckIsDeath(characters2)) break;
}
// 结束战斗逻辑
// 结束战斗
CombatEnd();
}
bool CheckIsDeath(List<Hero> characters)
{
foreach (var character in characters)
{
if (!character.IsDeath)
{
return false;
}
}
return true;
}
void Attack()
{
foreach (var character in characters1)
{
}
}
public void CombatEnd()
{
}
}
}