void SelectAlgo(LOSAlgo los) { switch (los) { case LOSAlgo.ShadowCastRecursive: m_algoDel = ShadowCastRecursive.Calculate; break; case LOSAlgo.ShadowCastRecursiveStrict: m_algoDel = ShadowCastRecursiveStrict.Calculate; break; case LOSAlgo.RayCastBresenhams: m_algoDel = RayCastBresenhams.Calculate; break; case LOSAlgo.RayCastLerp: m_algoDel = RayCastLerp.Calculate; break; default: m_algoDel = null; break; } }