Exemplo n.º 1
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var entity = value as Network.Entity;

            if (!string.IsNullOrEmpty(entity.CardID))
            {
                EntityDB.SetName(entity.ID, entity.CardID);
            }
            var ownerId = 0;

            foreach (var tag in entity.Tags)
            {
                if (tag.Name == (int)GAME_TAG.CONTROLLER)
                {
                    ownerId = tag.Value;
                }
            }
            if (ownerId != 0)
            {
                EntityDB.SetOwner(entity.ID, ownerId);
            }
            writer.WriteStartObject();
            writer.WritePropertyName("CardID");
            writer.WriteValue(entity.CardID);
            writer.WritePropertyName("ID");
            writer.WriteValue(entity.ID);
            writer.WritePropertyName("__status");
            writer.WriteValue(EntityDB.GetStatus(entity.ID));
            writer.WritePropertyName("Tags");
            serializer.Serialize(writer, entity.Tags);
            writer.WriteEndObject();
        }
Exemplo n.º 2
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var create = value as Network.HistCreateGame;

            EntityDB.Reset();
            foreach (var playerData in create.Players)
            {
                var player       = playerData.Player;
                var heroId       = 0;
                var controllerId = 0;
                foreach (var tag in player.Tags)
                {
                    if (tag.Name == (int)GAME_TAG.HERO_ENTITY)
                    {
                        heroId = tag.Value;
                    }
                    if (tag.Name == (int)GAME_TAG.CONTROLLER)
                    {
                        controllerId = tag.Value;
                    }
                }
                if (heroId != 0 && controllerId != 0)
                {
                    EntityDB.SetHero(controllerId, heroId);
                }
            }
            writer.WriteStartObject();
            writer.WritePropertyName("Game");
            serializer.Serialize(writer, create.Game);
            writer.WritePropertyName("Players");
            serializer.Serialize(writer, create.Players);
            writer.WritePropertyName("Type");
            writer.WriteValue(Enum.GetName(typeof(Network.PowerType), create.Type));
            writer.WriteEndObject();
        }
Exemplo n.º 3
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var hist = value as Network.HistTagChange;

            writer.WriteStartObject();
            writer.WritePropertyName("Entity");
            writer.WriteValue(hist.Entity);
            writer.WritePropertyName("__status");
            writer.WriteValue(EntityDB.GetStatus(hist.Entity));
            writer.WritePropertyName("Change");
            writer.WriteStartObject();
            writer.WritePropertyName(Enum.GetName(typeof(GAME_TAG), hist.Tag));
            var stringVal = TagFormat.GetValue(hist.Tag, hist.Value);

            if (stringVal == null)
            {
                writer.WriteValue(hist.Value);
            }
            else
            {
                writer.WriteValue(stringVal);
            }
            writer.WriteEndObject();
            writer.WritePropertyName("Type");
            writer.WriteValue(Enum.GetName(typeof(Network.PowerType), hist.Type));
            writer.WriteEndObject();
        }