private static void LoadUserPermissions() { if (!File.Exists(_filePathUserPermissions)) { return; } try { var doc = XDocument.Load(_filePathUserPermissions); foreach (var element in doc.Elements("Permissions").Elements()) { string userName = element.Attribute("name").Value; string roleName = element.Attribute("role").Value; Role role = Settings.Roles[roleName] ?? Role.Default; var player = PlayerDescriptor.Load(userName); if (player != null) { player.Role = role; player.Save(Constants.FILEPATH_ACCOUNTS + player.Name + ".acc"); } } } catch (Exception ex) { Console.WriteLine("Error loading user permissions!"); } }
public void TestNewPlayer() { PlayerDescriptor descriptor = new PlayerDescriptor("test", "test"); Player player = new Player(descriptor, new TestPlayerConnection()); Assert.IsTrue(player != null); }
// DELEGATES //========== void OnSeatGranted(PlayerDescriptor playerInfo) { Debug.Log("seat was granted"); // set player name in display field playerNameField.GetComponent <InputField>().text = playerInfo.playerName; // switch to game view GameObject.Find(GlobalObjects.GameViewManagerObject).SendMessage("HideInfoView"); }
private static void ArenaSetup_LoadFromFile(On.ArenaSetup.orig_LoadFromFile orig, ArenaSetup self) { orig(self); try { arenaCharacter[self] = PlayerDescriptor.FromString(File.ReadAllText(arenaSettingsPath)); } catch (Exception e) { Debug.LogException(new FormatException("Invalid arena settings format. This error is not fatal.", e)); arenaCharacter.Unset(self); } }
public void RequestSeat(PlayerDescriptor seatInfo) { Debug.Log("RequestSeat" + seatInfo.ToString()); JSONObject seatRequest = new JSONObject(); seatRequest.AddField("type", "SeatRequested"); seatRequest.AddField("player", seatInfo.playerGuid); // send websocket connection ID // so server can associate the connection ID with the player ID seatRequest.AddField("connection", websocketClient.connectionID); websocketClient.SendToTabletop(seatRequest); }
public PlayerButton(PlayerSelector owner, PlayerDescriptor player, Vector2 pos) : base(owner.menu, owner, pos, new Vector2(height, height)) { this.player = player; back = new RoundedRect(menu, this, new Vector2(), size, true); back.addSize = new Vector2(-2f, -2f); subObjects.Add(back); icon = new CreatureSymbol(MultiplayerUnlocks.SymbolDataForSandboxUnlock(MultiplayerUnlocks.SandboxUnlockID.Slugcat), Container); icon.Show(false); icon.showFlash = 0f; icon.showFlash = 0f; icon.myColor = player.Color; name = new FLabel("font", player.name); name.anchorX = 0f; name.anchorY = 0.5f; Container.AddChild(name); // Don't animate when first showing the screen snap = true; }
void CreateSeatButton(PlayerDescriptor seatInfo, Transform SeatsListPanel, float xOffset, float yOffset) { Debug.Log(string.Format("creating seat: {0} {1} {2}", xOffset, yOffset, seatInfo.playerName)); GameObject availableSeat = Instantiate(availableSeatEntryPrefab) as GameObject; availableSeat.transform.SetParent(SeatsListPanel); availableSeat.transform.GetComponent <RectTransform>().localPosition = new Vector2(xOffset, yOffset); availableSeat.transform.Find(seatNameObject).GetComponent <Text>().text = seatInfo.playerName; availableSeat.transform.Find(seatButtonObject).GetComponent <Button>().onClick.AddListener( () => { HHManager.instance.SendMessage("RequestSeatForPlayer", seatInfo); // hide seat panel list availableSeatsView.SetActive(false); //TODO show request loading // the rest of this UI flow will be resolved once the server responds // with granting or denying seat request } ); }
public override ActionDescriptor Play(bool mustCoup) { var r = new Random(); if (mustCoup || (Coins >= 7 && r.Next(2) == 1)) { var firstOrDefault = _players.Where(x => x.Index != Index) .OrderByDescending(x => x.Coins) .FirstOrDefault(x => x.LostCard1 == Card.None || x.LostCard2 == Card.None); if (firstOrDefault != null) { return(new CoupDEtatDescriptor(firstOrDefault.Index)); } } else { if (Card1 == Card.Duke || Card2 == Card.Duke) { return(new CollectTaxesDescriptor()); } if ((Card1 == Card.Captain || Card2 == Card.Captain) && r.Next(3) > 2) { var firstOrDefault = _players.Where(x => x.Index != Index) .OrderByDescending(x => x.Coins) .FirstOrDefault(x => x.LostCard1 == Card.None || x.LostCard2 == Card.None); if ( firstOrDefault != null) { return(new ExtortionDescriptor(firstOrDefault.Index)); } } else if ((Card1 == Card.Assassin || Card2 == Card.Assassin && Coins >= 3)) { var firstOrDefault = _players.Where(x => x.Index != Index) .OrderByDescending(x => x.Coins) .FirstOrDefault(x => x.LostCard1 == Card.None || x.LostCard2 == Card.None); if (firstOrDefault != null) { return(new AssassinateDescription(firstOrDefault.Index)); } } else if (r.Next(3) == 1) { return(new ForeignAidDescriptor()); } else if (r.Next(5) == 1) { return(new ExchangeDescriptor()); } else if (r.Next(4) == 1) { PlayerDescriptor firstOrDefault = _players.Where(x => x.Index != Index) .OrderByDescending(x => x.Coins) .FirstOrDefault(x => x.LostCard1 == Card.None || x.LostCard2 == Card.None); if (firstOrDefault != null) { return(new InvestigateDescriptor(firstOrDefault.Index)); } } else { return(new IncomeDescriptor()); } } throw new NotImplementedException(); }
public void UpdatePlayerInfo(PlayerDescriptor playerInfo) { playerName.GetComponent <Text>().text = playerInfo.playerName; }