Beispiel #1
0
        private void UpdateArenaGames(ArenaGameCollection games, dynamic newArenaElement)
        {
            var gamesArray = new JArray();

            foreach (var game in games)
            {
                dynamic gameElement = new JObject();

                gameElement.arenaType            = newArenaElement.type;
                gameElement.arenaTextName        = "";
                gameElement.gametype             = game.GameType;
                gameElement.isGameHasImageStates = false;
                gameElement.displayMode          = 3;
                gameElement.templateId           = JsonValues.btnArenaTexedTemplate;
                gameElement.rectId = ArenaGame.GameTypeToRect(game.GameType);

                gamesArray.Add((JObject)gameElement);
            }

            newArenaElement.games = gamesArray;
        }
Beispiel #2
0
        private void UpdateArenaGames(XElement existingArenaXmlElement, XElement newArenaXmlElement, ArenaGameCollection games)
        {
            var existingGamesXmlElements = new Dictionary <string, XElement>();

            if (existingArenaXmlElement != null)
            {
                foreach (var gameXmlElement in existingArenaXmlElement.Elements(XmlNames.game))
                {
                    var gameType = gameXmlElement.GetAttributeValue(XmlNames.gameType);
                    if (!existingGamesXmlElements.ContainsKey(gameType))
                    {
                        existingGamesXmlElements.Add(gameType, gameXmlElement);
                    }
                    else
                    {
                        System.Diagnostics.Debug.WriteLine("Duplicated game " + gameType);
                    }
                }
            }


            foreach (var game in games)
            {
                XElement newGameXmlElement = null;
                if (existingGamesXmlElements.ContainsKey(game.GameType.ToString()))
                {
                    newGameXmlElement = existingGamesXmlElements[game.GameType.ToString()];
                }
                else
                {
                    newGameXmlElement = new XElement(XmlNames.game);
                    newGameXmlElement.AddOrUpdateAttributeValue(XmlNames.gameType, game.GameType);
                    newGameXmlElement.AddOrUpdateAttributeValue(XmlNames.templateId, XmlValues.btnArenaTexedTemplate);
                    newGameXmlElement.AddOrUpdateAttributeValue(XmlNames.rect, ArenaGame.GameTypeToRect(game.GameType));
                }

                RemovePlaceHolderAttribute(newGameXmlElement);


                AddOrRemoveNewGameAttribute(game, newGameXmlElement);

                if (game.UserMode != UserModes.Both)
                {
                    newGameXmlElement.AddOrUpdateAttributeValue(XmlNames.userMode, game.UserMode);
                }

                newArenaXmlElement.Add(new XComment(game.Name));
                newArenaXmlElement.Add(newGameXmlElement);
            }
        }