public static void Switch(QRServer server, EndPoint endPoint, byte[] recv) { try { switch (recv[0]) { case QRClient.Avaliable: AvailableCheckHandler.BackendAvaliabilityResponse(server, endPoint, recv); break; // Note: BattleSpy make use of this despite not being used in both OpenSpy and the SDK. // Perhaps it was present on an older version of GameSpy SDK case QRGameServer.Challenge: ChallengeHandler.ServerChallengeResponse(server, endPoint, recv); break; case QRClient.Heartbeat: // HEARTBEAT HeartBeatHandler.HeartbeatResponse(server, endPoint, recv); break; case QRClient.KeepAlive: KeepAliveHandler.KeepAliveResponse(server, endPoint, recv); break; default: server.UnknownDataRecived(recv); break; } } catch (Exception e) { LogWriter.Log.WriteException(e); server.ReceiveAsync(); } }
public MonsterFight(Map Map, WorldClient Player, MonsterGroup Monsters) : base(FightType.TYPE_PVM, Map) { try { Logger.Debug("PVM_FIGHT Launched : Player=" + Player.GetCharacter().Name + " MapId=" + Map.Id); var AttFighter = new CharacterFighter(this, Player); var DefFighter = new MonsterFighter(this, Monsters.Monsters[-1], this.NextActorId, Monsters); this.MonsterGroup = Monsters; Player.AddGameAction(new GameFight(AttFighter, this)); base.InitFight(AttFighter, DefFighter); bool first = true; foreach (var Monster in Monsters.Monsters.Values) { if (!first) { base.JoinFightTeam(new MonsterFighter(this, Monster, this.NextActorId, Monsters), this.myTeam2); } first = false; } bool inDungeon = false; if (this.Map.hasEndFightAction((int)FightType)) { inDungeon = true; } int challengeNumber = (inDungeon ? 2 : 1); int challInitz = 0; while (challInitz != challengeNumber) { var Challenge = ChallengeHandler.GetRandomChallenge(this); while (!Challenge.CanSet() || Challanges.Any(x => x.Id == Challenge.Id)) { Challenge = ChallengeHandler.GetRandomChallenge(this); } this.Challanges.Add(Challenge); this.RegisterFightListener(Challenge); challInitz++; } } catch (Exception ex) { Logger.Error("MonsterFight::MonsterFight() " + ex.ToString()); } }
/// <summary> /// Callback method for when the UDP Query Report socket recieves a connection /// </summary> protected override void ProcessAccept(UDPPacket packet) { IPEndPoint remote = (IPEndPoint)packet.AsyncEventArgs.RemoteEndPoint; // Need at least 5 bytes if (packet.BytesRecieved.Length < 5) { Release(packet.AsyncEventArgs); return; } // If we dont reply, we must manually release the EventArgs back to the pool Replied = false; try { switch (packet.BytesRecieved[0]) { case QRClient.Avaliable: AvaliableCheckHandler.BackendAvaliabilityResponse(this, packet); break; // Note: BattleSpy make use of this despite not being used in both OpenSpy and the SDK. // Perhaps it was present on an older version of GameSpy SDK case QRGameServer.Challenge: ChallengeHandler.ServerChallengeResponse(this, packet); break; case QRClient.Heartbeat: // HEARTBEAT HeartBeatHandler.HeartbeatResponse(this, packet); break; case QRClient.KeepAlive: KeepAliveHandler.KeepAliveResponse(this, packet); break; default: LogWriter.Log.Write("[QR] [Recv] unknown data: ", LogLevel.Error); break; } } catch (Exception e) { LogWriter.Log.WriteException(e); } finally { //if we replied QR data we release packet so that the EventArgs can be used on another connection if (Replied == true) { Release(packet.AsyncEventArgs); } } }
public void Awake() { if (myInstance != null) { ScreenLog.AddMessage("ERROR ONLY ONE " + this.GetType().ToString() + " CAN EXIST", ScreenLogType.Error); DestroyImmediate(gameObject); return; } myInstance = this; RenameToType(); }
public override void Enter() { Debug.Log("Entering Challenge phase. The " + battleManager.playerTurn + " player can be challenged."); // if it's NPC turn then human gets to challenge and vice versa if (battleManager.playerTurn == CurrentPlayer.NPC) { humanChallengerHandler = Object.Instantiate(battleManager.humanChallengerCardPrefab, battleManager.transform); PopulateChallengeDetails(); humanChallengerHandler.onChallengeSubmitted += StoreNPCChallenge; humanChallengerHandler.onChallengePassed += PassChallengingNPC; } else { npcHand.ChallengePlayer(); } timeEnter = Time.timeSinceLevelLoad; base.Enter(); }
public void Setup() { _mockAccountRepository = new Mock <IAccountRepository>(); _mockChallengeService = new Mock <IChallengeService>(); _unit = new ChallengeHandler(_mockAccountRepository.Object, _mockChallengeService.Object); }
private void InitializeIdentityManager() { var challengeHandler = new ChallengeHandler(Challenge); IdentityManager.Current.ChallengeHandler = challengeHandler; }
void OnDestroy() { myInstance = null; }