예제 #1
0
        public HoningNetwork <String> BuildNetwork(String jsonString)
        {
            // Cria rede simples vazia
            HoningNetwork <String> new_network = new HoningNetwork <String>();

            // Ler json com dados da rede
            dynamic stuff = JArray.Parse(jsonString);

            // Popular rede honing
            foreach (dynamic obj in stuff)
            {
                // Persistir carta na rede
                new_network.insert((String)obj.Card_name);

                // Popular microfeatures na rede
                foreach (String mf in obj.Microfeatures)
                {
                    // Cria mf internal node para rede simples
                    new_network.insert(mf.ToLower());

                    // Inserir na rede para manipulacao
                    new_network.setParent((String)obj.Card_name, mf.ToLower());
                }
            }

            // Apenas retorno do objeto
            return(new_network);
        }
예제 #2
0
 public void BuildThirdLevel(ref HoningNetwork <String> net, ref List <CardObject> cardData)
 {
     //config targets
     foreach (CardObject card in cardData)
     {
         foreach (CardAbility ab in card.abilities)
         {
             foreach (String target in ab.target)
             {
                 net.setParent(ab.ability, target);
             }
         }
     }
 }
예제 #3
0
        public void PopulateFromCardData(ref HoningNetwork <String> net, ref List <CardObject> cardData)
        {
            foreach (CardObject card in cardData)
            {
                net.insert(card.name, "terminal");

                net.insert(card.type, "essential");

                net.setParent(card.name, card.type);

                if (card.race != null)
                {
                    net.insert(card.race, "essential");
                    net.setParent(card.name, card.race);
                }

                foreach (CardAbility ab in card.abilities)
                {
                    net.insert(ab.ability, "internal");
                    net.setParent(card.name, ab.ability);
                }
            }
        }