static Vector3 From(Ruling.Position pos) { return(new Vector3( (pos.X - 3) * 1.5f, 0f, -pos.Y * 1.5f + 15f )); }
void OnMove(Ruling.Virus.Id id, Ruling.Position from, Ruling.Position to) { var v = viruses[id]; foreach (var found in board.VirusFromId(id)) { var dst = From(to); if (to.IsHand) { heldId = id; dst = new Vector3(positioner.CurrentPos(), 0, 1); } v.Apply(dst, found.isCracked); } }