private void onChallengePlayerJoin(SocketIOEvent e) { Debug.Log("onChallengePlayerJoin"); ChallengePlayer newPlayer = JsonUtility.FromJson <ChallengePlayer> (e.data.GetField("player").ToString()); chalPlayers.Add(newPlayer.id, newPlayer); // refresh display; }
private void onChallengeReady(SocketIOEvent e) { Debug.Log("onChallengeReady"); string playerID = ""; bool is_ready = false; int track_id = 0; e.data.GetField(ref playerID, "player_id"); e.data.GetField(ref is_ready, "is_ready"); e.data.GetField(ref track_id, "track_id"); ChallengePlayer currPlayer = chalPlayers [playerID]; currPlayer.is_ready = is_ready; currPlayer.track_id = track_id; }
void HandleChallengePlayerMessage(ChallengePlayer message) { ServerPlayer challenger = GetPlayerBySecret(message.Secret); ServerPlayer challenged = GetPlayerById(message.ChallengedId); if (challenger == challenged) { return; } foreach (Challenge chal in _challenges) { if (chal.Challenger == challenger || chal.Challenged == challenged || chal.Challenger == challenged || chal.Challenged == challenger) { return; } } var challenge = new Challenge(challenger, challenged); _challenges.Add(challenge); BaseServer.SendTo(challenged.NetPlayer, new Messages.Challenge(challenger.Id, challenged.Id)); }
public ActionResult CreateChallenge_Update([DataSourceRequest]DataSourceRequest request, LadderPlayersViewModel model, int ladderId) { // create challenge with another player if (model != null && ModelState.IsValid) { string userID = User.Identity.GetUserId(); int id = System.Convert.ToInt32(userID); Users.User user = Users.User.Load(id); // create user as a challenge player ChallengePlayer userPlayer = new ChallengePlayer() { PlayerId = user.Id }; userPlayer.Save(); // create opponent as a challenge player ChallengePlayer opponentPlayer = new ChallengePlayer() { PlayerId = LadderPlayer.LoadById(model.LadderPlayerId).PlayerId }; opponentPlayer.Save(); // create challenge // update challenge fields and players within challenge Challenge challenge = new Challenge() { MatchTypeId = Ladder.LoadById(ladderId).MatchTypeId, MatchFormat = MatchFormat.LoadById(model.MatchFormatId), Facility = Facility.LoadById(model.FacilityId), Court = Court.LoadById(model.CourtId), Status = ChallengeStatusCollection.LoadAll().Where(p => p.Status == "pending").First(), LadderId = ladderId, Players = { userPlayer, opponentPlayer } }; challenge.Save(); // assign players ChallengeId to the new challenge's Id userPlayer.ChallengeId = challenge.Id; opponentPlayer.ChallengeId = challenge.Id; opponentPlayer.Save(); userPlayer.Save(); // create challenge schedule and update SuggestDateTime ChallengeSchedule schedule = new ChallengeSchedule() { ChallengeId = challenge.Id, PlayerId = user.Id, SuggestedDateTime = model.SuggestDateTime }; schedule.Save(); } RedirectToAction("Challenges", "Player"); return Json(new[] { model }.ToDataSourceResult(request, ModelState)); }