public async Task <ActionResult <Game_Player> > GetGamePlayer(string id1, string id2) { Game g = _context.Game.SingleOrDefault(item => item.name == id1); Player p = _context.Player.SingleOrDefault(item => item.username == id2); if (g == null || p == null) { return(NotFound()); } //TODO: Verify that player is requesting their own Game_Player gp = await _context.Game_Player.SingleOrDefaultAsync(item => item.GameID == g.GameID && item.PlayerID == p.PlayerID); if (gp == null) //TODO: Authenticate player { gp = new Game_Player { GameID = g.GameID, PlayerID = p.PlayerID, active = true, money = 4 }; _context.Game_Player.Add(gp); _context.SaveChanges(); } gp.RedCards = _context.Player_Hand.Where(item => item.Game_PlayerID == gp.Game_PlayerID).OrderBy(item => item.IssueID).ToList(); if (gp.RedCards.Count < g.hand_size) { Random rng = new Random(); while (gp.RedCards.Count < g.hand_size) { Player_Hand ph = new Player_Hand { Game_PlayerID = gp.Game_PlayerID, //ph.GamePlayer = gp; IssueID = rng.Next(g.deck_size) + 1, score = rng.Next(2) * 2 - 1 }; if (!gp.RedCards.Any(item => item.IssueID == ph.IssueID)) { gp.RedCards.Add(ph); _context.Player_Hand.Add(ph); _context.SaveChanges(); } } } return(gp); }
public async Task <ActionResult <int> > GetGP_GP(string id1, string id2) { Game g = _context.Game.SingleOrDefault(item => item.name == id1); Player p = _context.Player.SingleOrDefault(item => item.username == id2); if (g == null || p == null) { return(NotFound()); } //TODO: Verify that player is requesting their own Game_Player gp = await _context.Game_Player.SingleOrDefaultAsync(item => item.GameID == g.GameID && item.PlayerID == p.PlayerID); //TODO: Authenticate player if (gp == null) { return(NotFound()); } return(gp.money); }
private void Start() { Instance = this; }
public void SetMainPlayer(Game_Player p) { m_mainPlayer = p; }