private void Awake() { if (_instance != null && _instance != this) { Destroy(this.gameObject); return; } else { _instance = this; } string levelDataPath = Path.Combine(Application.streamingAssetsPath, "level-list.json"); string loadedJson; TextAsset file = Resources.Load("level-list") as TextAsset; loadedJson = file.ToString(); SeasonsData jsonData = JsonUtility.FromJson <SeasonsData>(loadedJson); loadedSeasonsData = jsonData; resetSelectedLevel(); DontDestroyOnLoad(this.gameObject); }
/// <summary> /// /// </summary> /// <param name="jsText"></param> /// <returns></returns> public static SeasonsData GetSeasons(string jsText) { var jObject = JObject.Parse(jsText); var htmlEpisodes = jObject["episodes"].ToString(); var htmlEpisodesDoc = new HtmlDocument(); htmlEpisodesDoc.LoadHtml(htmlEpisodes); var episodesList = htmlEpisodesDoc.DocumentNode.SelectNodes("//ul/li"); var seasons = new Dictionary <int, List <int> >(); var seasonsData = new SeasonsData(); foreach (var item in episodesList) { var seasonId = Convert.ToInt32(item.Attributes.Single(x => x.Name == "data-season_id").Value); var episodeId = Convert.ToInt32(item.Attributes.Single(x => x.Name == "data-episode_id").Value); var cdnUrl = item.Attributes.Single(x => x.Name == "data-cdn_url").Value; if (!string.IsNullOrEmpty(cdnUrl) && cdnUrl != "null") { seasonsData.CDNStreams = GetCDNStreamsFromDataAttribute(item); seasonsData.CurrentSeason = seasonId; seasonsData.CurrentEpisode = episodeId; } if (!seasons.ContainsKey(seasonId)) { seasons.Add(seasonId, new List <int>() { episodeId }); } else { seasons[seasonId].Add(episodeId); } } seasonsData.Seasons = seasons.Select(x => new Season { Id = x.Key, Episodes = x.Value.ToArray() }).ToArray(); return(seasonsData); }
// Use this for initialization void Start() { loadedSeasonsData = GameManager.Instance.getSeasonData(); seasonSelectController = SeasonSelectContainer.GetComponent <SeasonSelectController>(); ShowMainMenu(); }