private void CommunicateWithZombie(Zombie zombie) { if (!HasWork) { return; } if (CurrentWork is IHordeAbleWork) { IHordeAbleWork hordeAbleWork = CurrentWork as IHordeAbleWork; if (!hordeAbleWork.Compare(zombie.CurrentWork)) { zombie.AssignWork(CurrentWork); } } }