public void SendAssigningRequest(Building_ReligionBuilding toBuilding, AssigningRequestType requestType) { switch (requestType) { case AssigningRequestType.Add: { if (toBuilding.AssigningRequestAccepted(this, requestType)) { AssignBuilding(toBuilding); Notify_BuildingAssigningChanged(); } return; } case AssigningRequestType.Delete: { if (toBuilding.AssigningRequestAccepted(this, requestType)) { UnassignBuilding(toBuilding); Notify_BuildingAssigningChanged(); } return; } } }
private bool AssigningRequestAccepted(Building_ReligionBuilding fromBuilding, AssigningRequestType requestType) { switch (requestType) { case AssigningRequestType.Add: { if (MayAssignBuilding(fromBuilding) && fromBuilding.MayAssignBuilding(this)) { AssignBuilding(fromBuilding); Notify_BuildingAssigningChanged(); return(true); } return(false); } case AssigningRequestType.Delete: { UnassignBuilding(fromBuilding); Notify_BuildingAssigningChanged(); return(true); } default: return(false); } }