/* * FUNCKJE PRYWATNE DO OBSŁUGI POZIOMU ZE ZGADYWANIEM POSTACI. */ private void PrepareGuessCharacter() { // Wylosuj element do zgadnięcia GuessCharacter = (from character in Character.CharacterList where character.IsActive orderby Guid.NewGuid() select character).FirstOrDefault(); // Ustaw element jako nieaktywny, aby nie pojawił się w kolejnych planszach GuessCharacter.IsActive = false; // Uzupełnij zdjęcie i nazwę zgadywanego elementu na planszy guessImage.Source = new BitmapImage(new Uri(GuessCharacter.Image, UriKind.Relative)); guessTitle.Text = GuessCharacter.Name; // Generate random slots with correct & wrong components var slots = GetRandomSlots(); List<Skill> slotItems = GuessCharacter.Components(); slotItems.AddRange( (from skill in Skill.SkillList where !slotItems.Contains(skill) orderby Guid.NewGuid() select skill).Take(slots.Count() - slotItems.Count) ); slotItems = slotItems.OrderBy(x => Guid.NewGuid()).ToList(); int counter = 0; foreach (Border slot in slots) { Skill slotObject = slotItems[counter]; Image image = new Image(); image.Source = new BitmapImage(new Uri(slotObject.Image, UriKind.Relative)); image.Tap += CharacterTap; slot.Child = image; GuessCharacterDict.Add(image, slotObject); counter++; } }
private void LoadData() { // Load items System.IO.Stream dataStream = Application.GetResourceStream(new Uri(@"/QuizLeague;component/Assets/Initial/Data/items.json", UriKind.Relative)).Stream; using (StreamReader reader = new StreamReader(dataStream)) { JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(reader)); foreach (KeyValuePair<string, JToken> x in o) { Item item = new Item(Convert.ToInt32(x.Key.ToString()), x.Value["name"].ToString(), x.Value["description"].ToString()); item.Image = "Assets/Initial/Images/Items/" + x.Value["image"].ToString(); foreach (string itemId in x.Value["into"].ToObject<List<string>>()) item.UsedTo.Add(Convert.ToInt16(itemId)); foreach (string itemId in x.Value["from"].ToObject<List<string>>()) item.CreatedFrom.Add(Convert.ToInt16(itemId)); } } // Load characters & skills dataStream = Application.GetResourceStream(new Uri(@"/QuizLeague;component/Assets/Initial/Data/characters.json", UriKind.Relative)).Stream; using (StreamReader reader = new StreamReader(dataStream)) { JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(reader)); foreach (KeyValuePair<string, JToken> x in o) { Character character = new Character(x.Key.ToString(), x.Value["name"].ToString(), x.Value["description"].ToString()); character.Image = "Assets/Initial/" + x.Value["image"].ToString(); foreach (Skill characterSkill in x.Value["skills"].ToObject<List<Skill>>()) { characterSkill.Image = "Assets/Initial/" + characterSkill.Image; characterSkill.Character = character; character.SkillList.Add(characterSkill); Skill.SkillList.Add(characterSkill); } } } // Load countries dataStream = Application.GetResourceStream(new Uri(@"/QuizLeague;component/Assets/Initial/Data/countries.json", UriKind.Relative)).Stream; using (StreamReader reader = new StreamReader(dataStream)) { JObject o = (JObject)JToken.ReadFrom(new JsonTextReader(reader)); foreach (KeyValuePair<string, JToken> x in o) { Country country = new Country(); country.Iso = x.Key.ToString(); country.Name = x.Value.ToString(); Country.CountryList.Add(country); } } }