public void OnlineError() { if (FrameworkCore.isTrialMode()) { return; } SysPopup signPrompt = new SysPopup(FrameworkCore.sysMenuManager, Resource.MenuHighScoreSendError); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenu; signPrompt.AddItem(item); FrameworkCore.sysMenuManager.AddMenu(signPrompt); FrameworkCore.PlayCue(sounds.click.error); }
/// <summary> /// Remove the "unlock full game" option if it's still on the screen. /// </summary> private void TrialCheck() { if (!trialMenu) { return; } if (FrameworkCore.isTrialMode()) { return; } for (int x = menuItems.Count - 1; x >= 0; x--) { if (menuItems[x].text == Resource.MenuUnlockFullGame) { menuItems.RemoveAt(x); } } //default the cursor to the first item. selectedItem = menuItems[0]; trialMenu = false; }
private void CheckNewestVersion() { //demo doesn't auto update. if (FrameworkCore.isTrialMode()) { return; } //OPEN THE TXT FILE THAT HAS THE NEWEST FLOTILLA VERSION. string url = "http://www.blendogames.com/flotilla/version.txt"; string result = null; try { WebClient client = new WebClient(); result = client.DownloadString(url); HandlePatchCheck(result); } catch //(Exception ex) { //handle error //Console.WriteLine(ex.Message); } }
private void PopulateEvents() { //register the base events into the pool. eventPool.Add(new evSpaceHulk()); eventPool.Add(new evAurora()); eventPool.Add(new evHitchhikers()); eventPool.Add(new evRuins()); eventPool.Add(new evProfessors()); eventPool.Add(new evMurder()); eventPool.Add(new evKatanaShip()); eventPool.Add(new evCrocodile()); eventPool.Add(new evBandits()); eventPool.Add(new evPigs()); eventPool.Add(new evDeer()); eventPool.Add(new evAssassin()); eventPool.Add(new evKaraoke()); //events reserved for the full game. if (!FrameworkCore.isTrialMode()) { eventPool.Add(new evCasino()); eventPool.Add(new evStowaway()); eventPool.Add(new evAbandoned()); eventPool.Add(new evBabyYetis()); } //eventPool.Add(new evDebug()); }
public void StartLoad() { if (FrameworkCore.isTrialMode() && FrameworkCore.isHardcoreMode) { FrameworkCore.isHardcoreMode = false; } isLoading = true; FrameworkCore.PlayCue(sounds.Music.none); }
private void OnSelectExit(object sender, EventArgs e) { //quit. if (FrameworkCore.isTrialMode()) { Owner.AddMenu(new SellScreen()); } else { FrameworkCore.Game.Exit(); } }
private void ToggleHardcore() { if (FrameworkCore.isTrialMode()) { if (FrameworkCore.isHardcoreMode) { FrameworkCore.isHardcoreMode = false; } FrameworkCore.PlayCue(sounds.click.error); hardcoreHover = false; SysPopup signPrompt = new SysPopup(Owner, Resource.HardcoreTrial); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); return; } if (!FrameworkCore.isHardcoreMode) { FrameworkCore.PlayCue(sounds.Fanfare.ready); } else { FrameworkCore.PlayCue(sounds.click.activate); } FrameworkCore.isHardcoreMode = !FrameworkCore.isHardcoreMode; }
public MainMenu() { canBeExited = false; MenuItem item = new MenuItem(string.Format(Resource.MenuCampaign, FrameworkCore.adventureNumber)); item.Selected += OnSelectCampaign; base.AddItem(item); item = new MenuItem(Resource.MenuHighScoresTitle); item.Selected += OnSelectHighScores; base.AddItem(item); item = new MenuItem(Resource.MenuSkirmish); item.Selected += OnSelectSkirmish; base.AddItem(item); item = new MenuItem(Resource.HelpAndOptions); item.Selected += OnSelectOptions; base.AddItem(item); if (FrameworkCore.isTrialMode()) { trialMenu = true; item = new MenuItem(Resource.MenuUnlockFullGame); item.Selected += OnBuyGame; base.AddItem(item); } #if WINDOWS && !ONLIVE item = new MenuItem(Resource.MenuBugReport); item.Selected += OnBugReport; base.AddItem(item); #endif item = new MenuItem(Resource.MenuQuit); item.Selected += OnSelectExit; base.AddItem(item); UpdateItemPositions(); }
public PauseMenu() { darkenScreen = true; MenuItem item = new MenuItem(Resource.MenuResumeGame); item.Selected += OnSelectReturn; base.AddItem(item); item = new MenuItem(Resource.HelpAndOptions); item.Selected += OnSelectOptions; base.AddItem(item); if (FrameworkCore.isTrialMode()) { item = new MenuItem(Resource.MenuUnlockFullGame); item.Selected += OnBuyGame; base.AddItem(item); trialMenu = true; } #if WINDOWS && !ONLIVE item = new MenuItem(Resource.MenuBugReport); item.Selected += OnBugReport; base.AddItem(item); #endif if (FrameworkCore.isCampaign && DestructAvailable()) { item = new MenuItem(Resource.MenuSelfDestruct); item.Selected += OnSelectSelfDestruct; base.AddItem(item); } item = new MenuItem(Resource.MenuQuit); item.Selected += OnSelectMainMenu; base.AddItem(item); SetupItemPositions(); }
public static void DrawTrialMode(GameTime gameTime) { if (!FrameworkCore.isTrialMode()) { return; } float trialSize = 0.6f; Vector2 trialVec = FrameworkCore.Gothic.MeasureString(Resource.MenuTrialMode); trialVec.X *= trialSize; trialVec.Y *= trialSize; Vector2 trialPos = new Vector2( FrameworkCore.Graphics.GraphicsDevice.Viewport.Width - 140 - trialVec.X / 2, 90 + trialVec.Y); trialSize += Helpers.Pulse(gameTime, 0.02f, 4); Helpers.DrawOutline(FrameworkCore.Gothic, Resource.MenuTrialMode, trialPos, new Color(255, 160, 0), new Color(0, 0, 0, 128), 0.1f, new Vector2(trialVec.X / 2, trialVec.Y), trialSize); }
public override void Draw(GameTime gameTime) { Vector2 screenSize = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width, FrameworkCore.Graphics.GraphicsDevice.Viewport.Height); Vector2 titleVec = FrameworkCore.Gothic.MeasureString(Resource.MenuTitle); titleVec.X /= 2; Vector2 titlePos = new Vector2(screenSize.X / 2, 110 + titleVec.Y); float titleSize = MathHelper.Lerp(1.2f, 1.4f, Transition); Color whiteColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition); Color shadeColor = Color.Lerp(OldXNAColor.TransparentBlack, new Color(0, 0, 0, 128), Transition); Helpers.DrawOutline(FrameworkCore.Gothic, Resource.MenuTitle, titlePos, whiteColor, shadeColor, 0, titleVec, titleSize); float subtitleSize = MathHelper.Lerp(0.8f, 1.1f, Transition); Vector2 subtitleVec = FrameworkCore.Serif.MeasureString(Resource.MenuSubtitle); subtitleVec.X /= 2; subtitleVec.Y = 0; Vector2 subtitlePos = titlePos + new Vector2(0, -15); Helpers.DrawOutline(FrameworkCore.Serif, Resource.MenuSubtitle, subtitlePos, whiteColor, shadeColor, 0, subtitleVec, subtitleSize); if (FrameworkCore.isTrialMode()) { Color trialColor = Color.Lerp(Helpers.transColor(Color.Orange), Color.Orange, Transition); Vector2 trialPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2, subtitlePos.Y + subtitleVec.Y + 64); trialPos.Y += MathHelper.Lerp(-40, 0, Transition); float trialSize = MathHelper.Lerp(0.3f, 0.6f, Transition); Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.Gothic, Resource.MenuTrialMode, trialPos, trialColor, shadeColor, trialSize, 0); } Vector2 startPos = new Vector2(screenSize.X / 2, screenSize.Y - (screenSize.Y * 0.15f)); startPos.Y += Helpers.Pulse(gameTime, 3, 4); startPos.Y += MathHelper.Lerp(90, 0, Transition); float presentsSize = MathHelper.Lerp(1.1f, 1, 0.5f + Helpers.Pulse(gameTime, 0.49f, 4)); if (Helpers.GuideVisible) { return; } string startText = #if XBOX Resource.MenuTitlePressStart; #else Resource.MenuClickToStart; #endif Vector2 startVec = Helpers.stringCenter(FrameworkCore.Serif, startText); Helpers.DrawOutline(FrameworkCore.Serif, startText, startPos, whiteColor, shadeColor, 0, startVec, presentsSize); }
public override void Draw(GameTime gameTime) { Color textColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition); Color bgColor = Color.Lerp(OldXNAColor.TransparentBlack, new Color(0, 0, 0, 64), Transition); Vector2 promptPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2, FrameworkCore.Graphics.GraphicsDevice.Viewport.Height / 2 - LINEHEIGHT / 2); promptPos.Y -= 64 + 8; promptPos.Y += Helpers.PopLerp(Transition, -100, 30, 0); Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.SerifBig, Resource.MenuNamePrompt, promptPos, textColor, bgColor, 1, 0); Vector2 namePos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2, FrameworkCore.Graphics.GraphicsDevice.Viewport.Height / 2 + GOTHICHEIGHT / 2); namePos.Y += Helpers.PopLerp(Transition, 100, -30, 0); namePos.Y -= 64; Color boxColor = Color.Lerp(Helpers.transColor(Faction.Blue.teamColor), Faction.Blue.teamColor, Transition); Rectangle nameBox = new Rectangle( (int)namePos.X - 384, (int)namePos.Y - GOTHICHEIGHT / 2, 768, GOTHICHEIGHT); FrameworkCore.SpriteBatch.Draw(FrameworkCore.hudSheet, nameBox, sprite.vistaBox, boxColor); Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.Gothic, FrameworkCore.players[0].commanderName, namePos, textColor, bgColor, 1, 0); if (!FrameworkCore.isTrialMode()) { Color goldColor = Color.Lerp(Helpers.transColor(Color.Gold), Color.Gold, Transition); Vector2 thankyouPos = new Vector2(promptPos.X, FrameworkCore.Graphics.GraphicsDevice.Viewport.Height * 0.23f); thankyouPos.Y += Helpers.Pulse(gameTime, 5, 4); thankyouPos.Y += Helpers.PopLerp(Transition, -200, 40, 0); Helpers.stringCenterOutline(FrameworkCore.SpriteBatch, FrameworkCore.SerifBig, Resource.ThankYou, thankyouPos, goldColor, bgColor, 1.2f, 0); } if (blinkTimer > 300) { int nameVec = (int)FrameworkCore.Gothic.MeasureString(FrameworkCore.players[0].commanderName).X; Vector2 underScorePos = namePos; underScorePos.X += nameVec / 2; underScorePos.Y -= GOTHICHEIGHT / 2; FrameworkCore.SpriteBatch.DrawString(FrameworkCore.Gothic, "_", underScorePos, textColor); } Helpers.DrawClickMessage(gameTime, Transition); }
private void AddShip(object sender, InputArgs e) { if (sender.GetType() != typeof(MenuItem)) { return; } int index = ((MenuItem)sender).GenericInt1; ShipData ship = ((MenuItem)sender).shipArray[0]; if (FrameworkCore.isTrialMode() && ship != null) { if (Helpers.getShipByType(ship) > 1) { #if WINDOWS string errorString = string.Format(Resource.MenuSkirmishTrialSelection, ship.name); SysPopup signPrompt = new SysPopup(Owner, errorString); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuUnlockFullGame); item.Selected += OnBuyGame; item.GenericInt1 = index; signPrompt.AddItem(item); item = new MenuItem(Resource.MenuDemoPlanetMaybeLater); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); FrameworkCore.PlayCue(sounds.click.error); return; #else SignedInGamer gamer = SignedInGamer.SignedInGamers[(PlayerIndex)index]; //found signed in player. do stuff.. if (gamer != null && gamer.Privileges.AllowPurchaseContent) { string errorString = string.Format(Resource.MenuSkirmishTrialSelection, ship.name); SysPopup signPrompt = new SysPopup(Owner, errorString); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuUnlockFullGame); item.Selected += OnBuyGame; item.GenericInt1 = index; signPrompt.AddItem(item); item = new MenuItem(Resource.MenuDemoPlanetMaybeLater); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); } else { //player has no purchasing privileges string errorString = string.Format(Resource.MenuSkirmishTrialSelectionNoSignin, ship.name); SysPopup signPrompt = new SysPopup(Owner, errorString); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); } FrameworkCore.PlayCue(sounds.click.error); return; #endif } } if (((MenuItem)sender).owner != null) { ((MenuItem)sender).owner.Deactivate(); } int slotNumber = selectedItem.shipArraySelection; if (slotNumber < 0) { return; } selectedItem.shipArray[slotNumber] = ship; }
private void OnSelectStart(object sender, EventArgs e) { bool faction1HasCommander = false; bool faction2HasCommander = false; //check if both sides have at least 1 commander. for (int i = 0; i < menuItems.Count; i++) { if (menuItems[i].commander != null && i <= 1) { faction1HasCommander = true; } else if (menuItems[i].commander != null && (i == 2 || i == 3)) { faction2HasCommander = true; } } if (!faction1HasCommander || !faction2HasCommander) { SysPopup signPrompt = new SysPopup(Owner, Resource.MenuSkirmishMissingPlayer); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); FrameworkCore.PlayCue(sounds.click.error); return; } if (FrameworkCore.isTrialMode()) { bool hasInvalidShip = false; //check if user has any non-trial ships in the ship array. foreach (MenuItem mItem in menuItems) { if (menuItems.IndexOf(mItem) > 3) { continue; } for (int i = 0; i < mItem.shipArray.Length; i++) { if (Helpers.getShipByType(mItem.shipArray[i]) > 1) { hasInvalidShip = true; mItem.shipArray[i] = null; } } } if (hasInvalidShip) { SysPopup signPrompt = new SysPopup(Owner, Resource.MenuSkirmishTrialShipError); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenuStartSkirmish; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); return; } } //check if all slots have at least one ship. bool showNoShipError = false; string missingShipPlayerName = ""; foreach (MenuItem mItem in menuItems) { //only check player slots. if (menuItems.IndexOf(mItem) > 3) { continue; } if (mItem.commander == null) { continue; } bool PlayerHasNoShip = true; for (int i = 0; i < mItem.shipArray.Length; i++) { if (Helpers.getShipByType(mItem.shipArray[i]) >= 0) { PlayerHasNoShip = false; } } if (PlayerHasNoShip) { showNoShipError = true; if (mItem.commander.commanderName != null) { missingShipPlayerName = mItem.commander.commanderName; } break; } } if (showNoShipError) { String errorString = string.Format(Resource.MenuSkirmishNoShips, missingShipPlayerName); SysPopup signPrompt = new SysPopup(Owner, errorString); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += CloseMenu; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); FrameworkCore.PlayCue(sounds.click.error); return; } IsLoading = true; //player wants to start the skirmish. }
public override void Activate() { //save the data. FrameworkCore.adventureNumber++; SaveInfo save = FrameworkCore.storagemanager.GetDefaultSaveData(); FrameworkCore.storagemanager.SaveData(save); finalScore = Helpers.GenerateFinalScore(); //add high score to the high score table. string playerName = ""; if (FrameworkCore.players.Count > 1) { playerName = FrameworkCore.players[0].commanderName + " " + Resource.MenuHighScoresPlus + " " + FrameworkCore.players[1].commanderName; } else { playerName = FrameworkCore.players[0].commanderName; } //disable high score recording in trial mode. if (FrameworkCore.isTrialMode()) { addedIndex = -1; } else { addedIndex = Helpers.AddHighScore(playerName, finalScore, out newGlobalHighScore); } #if WINDOWS Helpers.HighScoreType type = Helpers.HighScoreType.Normal; if (FrameworkCore.isHardcoreMode) { type = Helpers.HighScoreType.Hardcore; } else { type = Helpers.HighScoreType.Normal; } //base.GotoGlobalScores(type); #else //base.GotoLocalScores(); #endif //BC2019 Go to local scoreboard only. base.GotoLocalScores(); onlineButtonText = Resource.MenuHighscoresLocal; base.Activate(); }
public void DrawEntries(GameTime gameTime, Vector2 entryPos, int addedIndex) { Color numberColor = Color.Lerp(Helpers.transColor(Color.Gray), Color.Gray, Transition); Color titleColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition); int nameMargin = (int)FrameworkCore.Serif.MeasureString("000").X; bool drawDownArrow = false; if (menuHighscoreName.Length > 0) { if (menuHighscoreName[0].Length <= 0 || FrameworkCore.isTrialMode()) { string txt = Resource.MenuHighScoresEmpty; if (FrameworkCore.isTrialMode()) { txt = Resource.MenuHighScoresTrial; } DrawErrorMessage(gameTime, txt); } else { Color darkColor = Color.Black; darkColor = Color.Lerp(Helpers.transColor(darkColor), darkColor, Transition); for (int i = 0; i < menuHighscoreName.Length; i++) { if (menuHighscoreName[i].Length <= 0) { continue; } string playerName = Helpers.StripOutAmpersands(FrameworkCore.players[0].commanderName); bool isCurrentPlayer = ((System.String.Compare(menuHighscoreName[i], playerName, true, CultureInfo.InvariantCulture) == 0) && showOnlineScores) || (!showOnlineScores && i == addedIndex); if (isCurrentPlayer) { titleColor = Color.Lerp(Helpers.transColor(Color.Orange), Color.Orange, Transition); DrawBouncyArrow(gameTime, entryPos, titleColor); } #if (WINDOWS && STEAM) else if (showOnlineScores && isSteamFriend[i]) { titleColor = Color.Lerp(Helpers.transColor(Color.Lime), Color.Lime, Transition); DrawBouncyArrow(gameTime, entryPos, titleColor); } #endif else { titleColor = Color.Lerp(OldXNAColor.TransparentWhite, Color.White, Transition); } #if (WINDOWS && STEAM) if (steamFilterFriends) { if (!isSteamFriend[i] && !isCurrentPlayer) { continue; } } #endif FrameworkCore.SpriteBatch.DrawString(FrameworkCore.Serif, (i + 1).ToString(), entryPos + new Vector2(-20, 0), numberColor); Helpers.DrawOutline(FrameworkCore.Serif, menuHighscoreName[i], entryPos + new Vector2(nameMargin, 0), titleColor, darkColor); string scoreString = menuHighscoreScore[i].ToString(); Vector2 scoreVec = FrameworkCore.Serif.MeasureString(scoreString); Vector2 scorePos = entryPos; scorePos.X += WINDOWWIDTH; scorePos.X -= scoreVec.X; Helpers.DrawOutline(FrameworkCore.Serif, scoreString, scorePos, titleColor, darkColor); if (entryPos.Y > FrameworkCore.Graphics.GraphicsDevice.Viewport.Height - 50) { drawDownArrow = true; } entryPos.Y += LINESIZE; } } } else { string txt = Resource.MenuHighScoreOnlineEmpty; if (FrameworkCore.isTrialMode()) { txt = Resource.MenuHighScoresTrial; } DrawErrorMessage(gameTime, txt); } if (drawDownArrow) { Vector2 arrowPos = new Vector2(FrameworkCore.Graphics.GraphicsDevice.Viewport.Width / 2, FrameworkCore.Graphics.GraphicsDevice.Viewport.Height - 96); arrowPos.Y += Helpers.Pulse(gameTime, 7, 5); FrameworkCore.SpriteBatch.Draw(FrameworkCore.hudSheet, arrowPos, sprite.arrow, new Color(255, 255, 255, 64), -1.57f, Helpers.SpriteCenter(sprite.arrow), 1.5f, SpriteEffects.None, 0); } }
private void CommitReport() { if (isSending) { return; } if (descriptionText.Length <= 0) { //error message. SysPopup signPrompt = new SysPopup(Owner, Resource.MenuBugReportEmptyDescription); signPrompt.transitionOnTime = 200; signPrompt.transitionOffTime = 200; signPrompt.darkenScreen = true; signPrompt.hideChildren = false; signPrompt.canBeExited = false; signPrompt.sideIconRect = sprite.windowIcon.error; MenuItem item = new MenuItem(Resource.MenuOK); item.Selected += ClosePopup; signPrompt.AddItem(item); Owner.AddMenu(signPrompt); return; } FrameworkCore.PlayCue(sounds.click.activate); isSending = true; try { System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.From = new System.Net.Mail.MailAddress("*****@*****.**"); message.To.Add(new System.Net.Mail.MailAddress("*****@*****.**")); message.Subject = "[FLOTILLA] " + subjectText; string registered = string.Empty; if (FrameworkCore.isTrialMode()) { registered = "Demo"; } else { registered = "Registered"; } string finalString = registered + " version " + FrameworkCore.VERSION + "\n\n" + descriptionText; message.Body = finalString; System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(); client.Host = "smtp.gmail.com"; //smtp server client.Port = 587; //Port for TLS/STARTTLS client.EnableSsl = true; client.Credentials = new System.Net.NetworkCredential("*****@*****.**", ""); client.SendCompleted += new System.Net.Mail.SendCompletedEventHandler(client_SendCompleted); client.SendAsync(message, null); } catch (Exception ex) { Console.WriteLine(ex.Message); } }