public PlayerData(PlayerRecords records) { _wins = records._wins; _losses = records._losses; _datesStarted = records._datesStarted; _datesCompleted = records._datesCompleted; }
// Start is called before the first frame update void Start() { string url = "http://localhost:8000/players"; StartCoroutine(ServerController.Get(url, result => { Debug.Log("{ \"players\": " + result + "}"); PlayerRecords playerRecords = new PlayerRecords(); playerRecords = JsonUtility.FromJson <PlayerRecords>("{ \"players\": " + result + "}"); Debug.Log(playerRecords.GetPlayers().Count); for (int i = 0; i < playerRecords.GetPlayers().Count; ++i) { playerRanks[i].transform.Find("Rank").GetComponent <Text>().text = (i + 1).ToString(); playerRanks[i].transform.Find("Name").GetComponent <Text>().text = playerRecords.GetPlayers()[i].GetName(); playerRanks[i].transform.Find("Score").GetComponent <Text>().text = playerRecords.GetPlayers()[i].GetScore().ToString(); } if (playerRecords.GetPlayers().Count < playerRanks.Count) { for (int i = playerRecords.GetPlayers().Count; i < playerRanks.Count; ++i) { playerRanks[i].transform.Find("Rank").GetComponent <Text>().text = "---"; playerRanks[i].transform.Find("Name").GetComponent <Text>().text = "---"; playerRanks[i].transform.Find("Score").GetComponent <Text>().text = "---"; } } } )); }
public void FinishStage() { GameStage++; foreach (var playerRecord in PlayerRecords.Where(p => !p.Folded)) { playerRecord.Polled = false; } }
public static void SaveRecords(PlayerRecords records) { BinaryFormatter formatter = new BinaryFormatter(); string path = Application.persistentDataPath + "/player.txt"; FileStream stream = new FileStream(path, FileMode.Create); PlayerData data = new PlayerData(records); formatter.Serialize(stream, data); stream.Close(); }
/// <summary> /// Test if all players have agreed on current stage /// </summary> /// <returns></returns> public bool StageSettled() { if (PlayerRecords.Any(p => !p.Folded && !p.Polled)) { return(false); } var chipsBet = PlayerRecords.First(p => !p.Folded).ChipsBet; return(PlayerRecords.Where(p => !p.Folded).All(p => p.ChipsBet == chipsBet)); }
private void Start() { GlobalEvents.onShipGetHit += OnShipGetHit; GlobalEvents.onShipKilled += OnShipKilled; PlayerShipUI.current.ToggleStartScreen(true); records = new PlayerRecords(1, 0, 0); LoadGameData(); }
public void UpdatePlayerRecord(int playerRecordId, PlayerRecord data) { var playerRecord = PlayerRecords.Find(playerRecordId); playerRecord.PlayedGames = data.PlayedGames; playerRecord.Won = data.Won; playerRecord.Tied = data.Tied; playerRecord.Lost = data.Lost; playerRecord.Assists = data.Assists; playerRecord.AllowedGoals = data.AllowedGoals; playerRecord.Goals = data.Goals; SaveChanges(); }
void LoadGameData() { //--- records --- if (File.Exists(Application.persistentDataPath + "/records.dat")) { Debug.Log($"Records exists at \n\'{Application.persistentDataPath}/records.dat\'"); BinaryFormatter bf = new BinaryFormatter(); FileStream file = File.OpenRead(Application.persistentDataPath + "/records.dat"); records = (PlayerRecords)bf.Deserialize(file); file.Close(); } }
public PlayerRecords ReadPlayerRecords() { // This should never be used in production. It is primarily for // the client to work. byte recordType = ReadByte(); uint count = ReadUnsignedVarInt(); PlayerRecords records = null; switch (recordType) { case 0: records = new PlayerAddRecords(); for (int i = 0; i < count; i++) { var player = new Player(null, null); try { player.ClientUuid = ReadUUID(); player.EntityId = ReadSignedVarLong(); player.DisplayName = ReadString(); player.Skin = ReadSkin(); records.Add(player); Log.Error($"Reading {player.ClientUuid}, {player.EntityId}, '{player.DisplayName}'"); } catch (Exception e) { Log.Error("Player List", e); } } break; case 1: records = new PlayerRemoveRecords(); for (int i = 0; i < count; i++) { var player = new Player(null, null); player.ClientUuid = ReadUUID(); records.Add(player); } break; } return(records); }
// Use this for initialization void Start() { VideoController vc = GameObject.Find("Video").GetComponent <VideoController>(); vc.PauseVideo(); int roundNumber = vc.GetRoundNumber(); gameDataFileName = Application.dataPath + "/StreamingAssets/Video" + roundNumber + ".json"; questions = LoadGameData(); // correct = new List<Question>(); // incorrect = new List<Question>(); // questionCount = 0; questionTracker = new QuestionTracker(); playerRecords = new PlayerRecords(); if (unanswered == null || unanswered.Count == 0) { unanswered = questions.ToList <Question>(); } GetQuestion(); }
public void Write(PlayerRecords records) { if (records is PlayerAddRecords) { Write((byte)0); Write(records.Count); foreach (var record in records) { Write(record.ClientUuid); Write(record.EntityId); Write(record.Username); Write(record.Skin); } } else if (records is PlayerRemoveRecords) { Write((byte)1); Write(records.Count); foreach (var record in records) { Write(record.ClientUuid); } } }
public void Write(PlayerRecords records) { if (records is PlayerAddRecords) { Write((byte)0); WriteUnsignedVarInt((uint)records.Count); foreach (var record in records) { Write(record.ClientUuid); WriteVarLong(record.EntityId); Write(record.DisplayName ?? record.Username); Write(record.Skin); } } else if (records is PlayerRemoveRecords) { Write((byte)1); WriteUnsignedVarInt((uint)records.Count); foreach (var record in records) { Write(record.ClientUuid); } } }
private byte[] OnGetAccountInfo(GameSession session, byte[] body) { GetAccountInfo request = new GetAccountInfo(); using(Stream stream = new MemoryStream(body)) { request.Deserialize(stream); } Debug.WriteLine("LOG " + request.Request_); if(request.Request_ == GetAccountInfo.Request.CAMPAIGN_INFO) { ProfileProgress response = new ProfileProgress() { Progress = 6, BestForge = 0 }; return response.EncodeResponse(233); } if(request.Request_ == GetAccountInfo.Request.BOOSTERS) { BoosterList response = new BoosterList(); response.List.Add(new BoosterInfo() { Type = (int)BoosterType.Classic, Count = 10 }); response.List.Add(new BoosterInfo() { Type = (int)BoosterType.GvG, Count = 10 }); response.List.Add(new BoosterInfo() { Type = (int)BoosterType.TGT, Count = 10 }); return response.EncodeResponse(224); } if(request.Request_ == GetAccountInfo.Request.FEATURES) { GuardianVars response = new GuardianVars() { ShowUserUI = 1 }; return response.EncodeResponse(264); } if(request.Request_ == GetAccountInfo.Request.MEDAL_INFO) { MedalInfo response = new MedalInfo() { SeasonWins = 0, Stars = 0, Streak = 0, StarLevel = 1, LevelStart = 1, LevelEnd = 3, CanLose = false }; return response.EncodeResponse(232); } if(request.Request_ == GetAccountInfo.Request.NOTICES) { ProfileNotices response = new ProfileNotices(); return response.EncodeResponse(212); } if(request.Request_ == GetAccountInfo.Request.DECK_LIST) { DeckList response = new DeckList(); foreach(Deck deck in session.Server.Database.Table<Deck>().Where(d => d.DeckType == DeckType.PRECON_DECK)) { response.Decks.Add(deck.ToDeckInfo()); } foreach(Deck deck in session.Server.Database.Table<Deck>().Where(d => d.DeckType == DeckType.NORMAL_DECK && d.AccountID == session.Account.ID)) { response.Decks.Add(deck.ToDeckInfo()); } return response.EncodeResponse(202); } if(request.Request_ == GetAccountInfo.Request.COLLECTION) { Collection response = new Collection(); foreach(DbfCard card in session.Server.Database.Table<DbfCard>().Where(c => c.Collectible)) { response.Stacks.Add(new CardStack() { LatestInsertDate = DateTime.Now.ToPegasusDate(), NumSeen = 2, Count = 2, CardDef = new PegasusShared.CardDef() { Asset = card.ID, Premium = 0 } }); } return response.EncodeResponse(207); } if(request.Request_ == GetAccountInfo.Request.DECK_LIMIT) { ProfileDeckLimit response = new ProfileDeckLimit() { DeckLimit = 9 }; return response.EncodeResponse(231); } if(request.Request_ == GetAccountInfo.Request.CARD_VALUES) { CardValues response = new CardValues() { CardNerfIndex = 0 }; return response.EncodeResponse(260); } if(request.Request_ == GetAccountInfo.Request.ARCANE_DUST_BALANCE) { ArcaneDustBalance response = new ArcaneDustBalance() { Balance = 10000 }; return response.EncodeResponse(262); } if(request.Request_ == GetAccountInfo.Request.NOT_SO_MASSIVE_LOGIN) { NotSoMassiveLoginReply response = new NotSoMassiveLoginReply(); return response.EncodeResponse(300); } if(request.Request_ == GetAccountInfo.Request.REWARD_PROGRESS) { RewardProgress response = new RewardProgress() { SeasonEnd = new DateTime(DateTime.UtcNow.AddMonths(1).Year, DateTime.UtcNow.AddMonths(1).Month, 1, 7, 0, 0).ToPegasusDate(), WinsPerGold = 3, GoldPerReward = 10, MaxGoldPerDay = 100, SeasonNumber = 1, XpSoloLimit = 60, MaxHeroLevel = 60, NextQuestCancel = DateTime.UtcNow.ToPegasusDate(), EventTimingMod = 0.291667f }; return response.EncodeResponse(271); } if(request.Request_ == GetAccountInfo.Request.GOLD_BALANCE) { GoldBalance response = new GoldBalance() { Cap = 999999, CapWarning = 2000, CappedBalance = 9999, BonusBalance = 0 }; return response.EncodeResponse(278); } if(request.Request_ == GetAccountInfo.Request.HERO_XP) { HeroXP response = new HeroXP(); for(int i = 2; i < 11; i++) { response.XpInfos.Add(new HeroXPInfo() { ClassId = i, Level = 30, CurrXp = 420, MaxXp = 840 }); } return response.EncodeResponse(283); } if(request.Request_ == GetAccountInfo.Request.PLAYER_RECORD) { PlayerRecords response = new PlayerRecords(); return response.EncodeResponse(270); } if(request.Request_ == GetAccountInfo.Request.CARD_BACKS) { CardBacks response = new CardBacks() { DefaultCardBack = 0 }; foreach(DbfCardBack cardBack in session.Server.Database.Table<DbfCardBack>()) { response.CardBacks_.Add(cardBack.ID); } return response.EncodeResponse(236); } if(request.Request_ == GetAccountInfo.Request.FAVORITE_HEROES) { FavoriteHeroesResponse response = new FavoriteHeroesResponse(); foreach(FavoriteHero hero in session.Server.Database.Table<FavoriteHero>().Where(h => h.AccountID == session.Account.ID)) { response.FavoriteHeroes.Add(new PegasusShared.FavoriteHero() { ClassId = hero.ClassID, Hero = new PegasusShared.CardDef() { Asset = hero.CardID, Premium = hero.Premium, } }); } return response.EncodeResponse(318); } if(request.Request_ == GetAccountInfo.Request.ACCOUNT_LICENSES) { AccountLicensesInfoResponse response = new AccountLicensesInfoResponse(); return response.EncodeResponse(325); } if(request.Request_ == GetAccountInfo.Request.BOOSTER_TALLY) { BoosterTallyList response = new BoosterTallyList(); return response.EncodeResponse(313); } if(request.Request_ == GetAccountInfo.Request.MEDAL_HISTORY) { MedalHistory response = new MedalHistory(); response.Medals.Add(new MedalHistoryInfo() { LegendRank = 1, LevelEnd = 0, LevelStart = 0, Season = 1, StarLevel = 0, Stars = 0, When = new DateTime(DateTime.UtcNow.AddMonths(-1).Year, DateTime.UtcNow.AddMonths(-1).Month, 1, 7, 0, 0).ToPegasusDate() }); return response.EncodeResponse(234); } if(request.Request_ == GetAccountInfo.Request.PVP_QUEUE) { PlayQueue response = new PlayQueue() { Queue = new PlayQueueInfo() { GameType = BnetGameType.BGT_NORMAL } }; return response.EncodeResponse(286); } Debug.WriteLine("ERR AccountHandler.OnGetAccountInfo missing " + request.Request_); return null; }
public PlayerRecord GetPlayerRecordById(int id) { return(PlayerRecords.Find(id)); }
public double CalculatePerformance(int seasonId = 0) { return(Utils.CalculatePerformance(seasonId <= 0 ? PlayerRecords : PlayerRecords.Where(x => x.Matchday.Season.Id == seasonId))); }
public void RemovePlayerRecord(PlayerRecord playerRecord) { PlayerRecords.Remove(playerRecord); SaveChanges(); }
public PlayerRecord FindPlayerRecord(string playerName) { return(PlayerRecords.First(p => string.Equals(playerName, p.Name))); }
public void AddPlayer(string playerName) { PlayerRecords.Add(new PlayerRecord(playerName)); }
//file organization private void Awake() { instance = this; LoadData(); }
public void CreatePlayerRecord(PlayerRecord playerRecord) { PlayerRecords.Add(playerRecord); SaveChanges(); }