コード例 #1
0
        public void StatsUpdateTestSerializeJson()
        {
            DateTime now  = DateTime.Now;
            DateTime then = DateTime.Now;

            then.AddMinutes(10);
            TimeSpan span = then - now;

            // serialize stats update
            StatsUpdate stat = new StatsUpdate(1, "Player 1", span, 11, 111);
            string      json = JsonUtility.ToJson(stat);

            // string json = JsonConvert.SerializeObject(stat, Formatting.Indented);

            Assert.IsTrue(json.Length > 0);
            StatsUpdate statNew = JsonUtility.FromJson <StatsUpdate>(json);

            // StatsUpdate statNew = JsonConvert.DeserializeObject<StatsUpdate>(json);
            if (stat != statNew)
            {
                Console.WriteLine("Old stats:\n" + stat.ConvertToDisplayString(false) +
                                  "\n not equal to \nNew stats:\n" + statNew.ConvertToDisplayString(false) +
                                  "\nJson:\n" + json);
                Assert.Fail();
            }

            // Serialize stats update list
            StatsUpdateList statsList = new StatsUpdateList();

            statsList.Add(stat);
            statsList.Add(new StatsUpdate(2, "Player 2", span, 12, 112));
            statsList.Add(new StatsUpdate(3, "Player 3", span, 13, 113));
            statsList.Add(new StatsUpdate(4, "Player 4", span, 14, 114));

            json = JsonUtility.ToJson(statsList);
            // json = JsonConvert.SerializeObject(statsList, Formatting.Indented);

            Assert.IsTrue(json.Length > 0);
            StatsUpdateList statsListNew = JsonUtility.FromJson <StatsUpdateList>(json);

            //StatsUpdateList statsListNew = JsonConvert.DeserializeObject<StatsUpdateList>(json);

            if (!statsList.Equals(statsListNew))
            {
                Console.WriteLine("Old stats:\n" + statsList.BuildUpdateStringOneLine() +
                                  "\n not equal to \nNew stats:\n" + statsListNew.BuildUpdateStringOneLine() +
                                  " Json:" + json);
                Assert.Fail();
            }
        }
コード例 #2
0
    private void TargetReceiveUpdate(NetworkConnection target, string updateJson)
    {
        if (NetworkServer.active)
        {
            return;
        }

        StatsUpdateList statsList = JsonUtility.FromJson <StatsUpdateList>(updateJson);

        // StatsUpdateList statsList = JsonConvert.DeserializeObject<StatsUpdateList>(updateJson);
        updateListCache.Clear();

        LogHelper.Log(LogTarget.Networking, "Received StatsUpdateList from server: " + statsList.BuildUpdateStringOneLine());
        LogHelper.Log(LogTarget.Networking, "Update json from server: " + updateJson);
        foreach (StatsUpdate update in statsList.statsUpdateList)
        {
            updateListCache.Add(update);
        }
    }