Esempio n. 1
0
        public IScenarioNode Build(IEnumerator <parser.token.ITokenable> tokens, IScenarioNode now, ScenarioData scenarioData)
        {
            var result = new ScenarioElement();

            while (tokens.Current.GetType() != parser.token.TokenType.Slash)
            {
                var attribute = new Attribute();
                result.AddAttribute(attribute.Build(tokens, result, scenarioData));
            }


            //  とりあえずtype = charactersのみ対応しとこ
            //  href要素を探す
            if (result.GetAttribute("type").Value != "characters")
            {
                throw new NotSupportedException();
            }
            var href = result.GetAttribute("href");

            var linkData = loadLinkData(href.Value);

            //  んーどこでやるか悩むけどここでキャラ構築やっちゃうか
            for (var character = linkData.ScenarioRoot.Next; character != null;)
            {
                var scenarioCharacter = new ScenarioCharacter(character.GetAttribute("id").Value, character.GetAttribute("name").Value);

                //foreach (var image in character.GetChildren())
                {
                    //scenarioCharacter.AddImage(image.GetAttribute("type").Value, image.GetAttribute("src").Value);
                }

                scenarioData.Characters.Add(scenarioCharacter);
                character = character.Next;
            }

            return(result);
        }
Esempio n. 2
0
 public In(String id, String image)
 {
     isPlayed  = false;
     character = new ScenarioCharacter(id, image);
 }