public void Enable(UnitDisplay selectedUnit) { this.Enable(); this.selectedUnit = selectedUnit; selectedUnit.CardDisplay.Select(); selectedUnit.ShowAbilities(); this.boardCreator.ShowPathReach(selectedUnit); this.ShowRangeAttackReach(selectedUnit); Unibus.Dispatch(CardManager.CARD_SELECTED, selectedUnit.CardDisplay); Unibus.Subscribe <UnitDisplay>(BoardCreator.UNIT_CLICKED_ON_BOARD, OnUnitSelectedOnBoard); Unibus.Subscribe <Point>(BoardCreator.CLICKED_ON_VOID_TILE, OnClickedOnVoidTile); Unibus.Subscribe <AbilityActivated>(UnitDisplay.ABILITY_ACTIVATED, OnAbilityActivated); Unibus.Subscribe <UnitDisplay>(BoardCreator.UNIT_MOUSE_ENTER_ON_BOARD, OnUnitMouseEnterOnBoard); Unibus.Subscribe <UnitDisplay>(BoardCreator.UNIT_MOUSE_EXIT_ON_BOARD, OnUnitMouseExitOnBoard); Unibus.Subscribe <TileDisplay>(BoardCreator.TILE_WITHOUT_UNIT_MOUSE_ENTER_ON_BOARD, OnTileMouseEnterOnBoard); Unibus.Subscribe <TileDisplay>(BoardCreator.TILE_WITHOUT_UNIT_MOUSE_EXIT_ON_BOARD, OnTileMouseExitOnBoard); Unibus.Subscribe <CardDisplay>(CardDisplay.CARD_CLICKED, OnCardClicked); Unibus.Subscribe <CardDisplay>(CardManager.CARD_MOVED, OnCardMoved); }