public void SelectCard(GUICard guiCard) { if(selectedGUICard != null) { selectedGUICard.Deselect(); DeselectCard(); } if(guiCard.Card.Cost <= ManaLeft()) { guiCard.Select(); selectedGUICard = guiCard; selectedCard = guiCard.Card; SetTargetsForCard(guiCard.Card); if(selectedCard.IsTargetless) { // TODO Do this properly. This should be centralized. if(GameControl.IsMulti) { gameControl.NetworkControl.PlayNetworkCardOn(selectedCard, Base.Hex); } else { gameControl.PlayCardOnHex(selectedCard, Base.Hex, System.Guid.NewGuid().ToString()); } DeselectCard(); } gameControl.MouseControl.PlayModeOn = false; targets.ForEach(h => h.renderer.material.color = Settings.MovableTileColour); } else { gameControl.AudioControl.PlayErrorSound(); gameControl.GuiControl.ShowSmallSplashText(Dictionary.NotEnoughMana); } }