void OnSelectObject(object sender, SelectableObject obj) { ChangeSelection <Wall>(obj, ref wall); ChangeSelection <Product>(obj, ref product); if (wall != null && product != null) { StateManagerUI.ChangeState(StateUI.Reselection); } }
void ChangeSelection <T>(SelectableObject inputObject, ref T selectedObject) where T : SelectableObject { var input = inputObject as T; if (input != null) { if (selectedObject != null) { selectedObject.IsSelected = false; } selectedObject = input; selectedObject.IsSelected = true; } }