Esempio n. 1
0
 public PlayerData(PlayerRecords records)
 {
     _wins           = records._wins;
     _losses         = records._losses;
     _datesStarted   = records._datesStarted;
     _datesCompleted = records._datesCompleted;
 }
Esempio n. 2
0
    // 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 = "---";
                }
            }
        }
                                            ));
    }
Esempio n. 3
0
 public void FinishStage()
 {
     GameStage++;
     foreach (var playerRecord in PlayerRecords.Where(p => !p.Folded))
     {
         playerRecord.Polled = false;
     }
 }
Esempio n. 4
0
    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();
    }
Esempio n. 5
0
        /// <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));
        }
Esempio n. 6
0
    private void Start()
    {
        GlobalEvents.onShipGetHit += OnShipGetHit;
        GlobalEvents.onShipKilled += OnShipKilled;

        PlayerShipUI.current.ToggleStartScreen(true);

        records = new PlayerRecords(1, 0, 0);

        LoadGameData();
    }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
    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();
        }
    }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
    // 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();
    }
Esempio n. 11
0
 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);
         }
     }
 }
Esempio n. 12
0
 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);
         }
     }
 }
Esempio n. 13
0
        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;
        }
Esempio n. 14
0
 public PlayerRecord GetPlayerRecordById(int id)
 {
     return(PlayerRecords.Find(id));
 }
Esempio n. 15
0
 public double CalculatePerformance(int seasonId = 0)
 {
     return(Utils.CalculatePerformance(seasonId <= 0 ? PlayerRecords : PlayerRecords.Where(x => x.Matchday.Season.Id == seasonId)));
 }
Esempio n. 16
0
 public void RemovePlayerRecord(PlayerRecord playerRecord)
 {
     PlayerRecords.Remove(playerRecord);
     SaveChanges();
 }
Esempio n. 17
0
 public PlayerRecord FindPlayerRecord(string playerName)
 {
     return(PlayerRecords.First(p => string.Equals(playerName, p.Name)));
 }
Esempio n. 18
0
 public void AddPlayer(string playerName)
 {
     PlayerRecords.Add(new PlayerRecord(playerName));
 }
Esempio n. 19
0
 //file organization
 private void Awake()
 {
     instance = this;
     LoadData();
 }
Esempio n. 20
0
 public void CreatePlayerRecord(PlayerRecord playerRecord)
 {
     PlayerRecords.Add(playerRecord);
     SaveChanges();
 }