public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser) { if (laser.Strength >= spawn.Toughness) { players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength -= spawn.Toughness; if (players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength < 1) { players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1; } if (spawn.subordinates != null) { players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += spawn.subordinates.Count; } spawnManager.DestroySpawn(spawn.Id); laserManager.DestroyLaser(laser.Id); players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += spawn.Toughness; } else { players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1; spawn.Toughness -= 1; laserManager.DestroyLaser(laser.Id); players.ToList().FirstOrDefault(p => p.Name == laser.Player).Score += 1; } return(0); }
public override int HandleState(List <GamePlayer> players, SpawnManager spawnManager, LaserManager laserManager, Spawn spawn, Laser laser) { players.ToList().FirstOrDefault(p => p.Name == laser.Player).LaserStrength = 1; spawnManager.DestroySpawn(spawn.Id); laserManager.DestroyLaser(laser.Id); return(-1); }