public void Invoke(RailRoom room, RailController sender) { Room = room; Sender = sender; if (Validate()) { Execute(room, sender); } }
public void AssignController(RailController controller) { if (Controller != controller) { Controller = controller; ClearCommands(); deferNotifyControllerChanged = true; } }
protected abstract void Execute(RailRoom room, RailController sender);