protected override void OnStop()
        {
            try
            {
                #region depreciated
                //CardManger?.Dispose();
                //CardManger = null;
                #endregion
                NFCReader?.Dispose();
                NFCReader = null;
            }
            catch { }

            if (GameRunning)
            {
                GameStarter.KillGame();
            }
            if (MenuRunning)
            {
                GameMenu.KillMenu();
            }

            Logger.WriteLog("'Arcade Game Start And Stop Service' has stopped.");
        }
 /// <summary>
 /// Creates a card that you can then use
 /// </summary>
 /// <param name="Owner"></param>
 /// <param name="CardHandle"></param>
 /// <param name="CardInfo"></param>
 internal ISO1443A_MifareClassic_NFCCard(RL8000_NFC Owner, UIntPtr CardHandle, NFCCardInfo CardInfo)
 {
     this.Owner      = Owner;
     this.CardHandle = CardHandle;
     this.CardInfo   = CardInfo;
 }
        protected override void OnStart(string[] args)
        {
            #region depreciated
            //if (MainConfig.CardModeMode != CardModeMode.NoCardNeededDemoMode)
            //{
            //    //while (CardManger == null || CardManger?.IsDisposed == true)
            //    //{
            //    //    try
            //    //    {
            //    //        List<string> Readers = ACR122UManager.GetACR122UReaders();
            //    //        CardManger = new ACR122UManager(Readers[0]);
            //    //    }
            //    //    catch
            //    //    {
            //    //        Logger.WriteLog("Error no card reader detected...Please Replugin a compatable cardreader", LoggerWarringLevel.Danger);
            //    //        MessageBox.Show("Error no card reader detected...\nPlease Replugin a compatable cardreader and click ok.");
            //    //    }
            //    //}


            //    //CardManger.CheckCard = true;

            //    //CardManger.CardDetected += CardDectected;
            //    //CardManger.CardRemoved += CardRemoved;
            //    //CardManger.AcceptedCardScaned += AcceptedCard;
            //    //CardManger.RejectedCardScaned += RejectedCard;
            //    //CardManger.CardStateChanged += CardStateChanged;

            //}
            #endregion

            if (MainConfig.ServerMode != ServerMode.NoServerDemoMode)
            {
                while (!TheServerClient.Connected)
                {
                    try
                    {
                        TheServerClient.Connect();
                        ResponseInfo <GetMachineGamesReturn, ResponseStatus> Return = TheServerClient.GetMachineGames(MainConfig.MachineGUID);
                        GameConfig = new ServiceJSONGamesConfig(Return.Data);
                    }
                    catch (Exception e)
                    {
                        if (e.Message == "Please provide valid credentials,either user name is invalid or password is invalid")
                        {
                            Logger.WriteLog("Access denied due to incorrect password.", LoggerWarringLevel.Danger);
                            MessageBox.Show("Access denied due to incorrect password. Please correct the password now.");
                            EditServerCredential_Click(this, new EventArgs());
                        }
                        else
                        {
                            Logger.WriteLog("Error - Server is not responding. Will try again in 20000ms.", LoggerWarringLevel.Danger);
                            Thread.Sleep(20000);
                        }
                    }
                }
            }
            else
            {
                GameConfig = new ServiceJSONGamesConfig();
            }



            GameStarter = new GameInstancer(GameConfig);

            if (MainConfig.StarterMode == GameStartMode.SingleGameStarter == !MenuRunning)
            {
                GameMenu.StartMenu();
            }

            GameStarter.GameIsStartingEvent += GameInstancerStartingGame;
            GameStarter.GameHasStartedEvent += GameInstancerGameHasStarted;
            GameStarter.GameHasEndedEvent   += GameInstancerGameHasEnded;

            if (MainConfig.CardModeMode != CardModeMode.NoCardNeededDemoMode)
            {
                try
                {
                    NFCReader = new RL8000_NFC();
                    NFCReader.MifareClassicISO1443ACardDetectedEvent += CardDetected;
                }
                catch
                {
                    const string Error = "\nError - Cannot find card reader.\nPlease replug in the card reader.\nWill try again in 20000ms.\n";
                    Logger.WriteLog(Error, LoggerWarringLevel.Danger);
#if !DEBUG
                    DialogResult Result = MessageBox.Show(Error, "Error", MessageBoxButtons.RetryCancel);
                    if (Result == DialogResult.Cancel)
                    {
                        Application.Exit();
                    }
#endif
                    Thread.Sleep(20000);
                }
            }
            else
            {
                try
                {
                    NFCReader = new RL8000_NFC();
                    NFCReader.MifareClassicISO1443ACardDetectedEvent += CardDetected;
                }
                catch
                {}
            }

            if (MainConfig.StarterMode == GameStartMode.MultiSocketStarterMaster)
            {
                while (MasterServer == null)
                {
                    try
                    {
                        MasterServer = new MasterServer(MainConfig.PortNumber);
                        MasterServer.ShowConsole();
                    }
                    catch
                    {
                        const string Error = "\nError - Master Server can not open port.\nPlease Check for Port usage or your config file.\nWill try again in 20000ms.";
                        Logger.WriteLog(Error, LoggerWarringLevel.Danger);
#if !DEBUG
                        DialogResult Result = MessageBox.Show(Error, "Error", MessageBoxButtons.RetryCancel);
                        if (Result == DialogResult.Cancel)
                        {
                            Application.Exit();
                        }
#endif
                        Thread.Sleep(20000);
                    }
                }
            }

            if (MainConfig.StarterMode == GameStartMode.MultiSocketStarterSlave)
            {
                while (SlaveClient == null)
                {
                    try
                    {
                        SlaveClient = new SlaveClient(MainConfig.MasterStarterMasterLoc, MainConfig.PortNumber);
                    }
                    catch
                    {
                        const string Error = "\nError - Slaves Master Server is not responding.\nPlease Check the server, its endpoint, or your config file.\nWill try again in 20000ms.\n";
                        Logger.WriteLog(Error, LoggerWarringLevel.Danger);
#if !DEBUG
                        DialogResult Result = MessageBox.Show(Error, "Error", MessageBoxButtons.RetryCancel);
                        if (Result == DialogResult.Cancel)
                        {
                            Application.Exit();
                        }
#endif
                        Thread.Sleep(20000);
                    }
                }
            }

            NoIc_GameStarterStopper.ContextMenuStrip = BuildMenu();
            NoIc_GameStarterStopper.Visible          = true;

            Logger.WriteLog($"'Arcade Game Start And Stop Service' has Started with the following parameters:\n\tCardModeMode:{MainConfig.CardModeMode}\n\tServerMode:{MainConfig.ServerMode}\n");
        }
Example #4
0
 internal MifareClassicISO1443ACardDetectedEventArg(RL8000_NFC Reader, UInt32 aip_id, UInt32 tag_id, UInt32 ant_id, Byte dsfid, Byte uidlen, Byte[] uid)
 {
     this.Reader = Reader;
     CardInfo    = new NFCCardInfo(aip_id, tag_id, ant_id, dsfid, uidlen, uid);
 }