// TODO Do a sub loading to generate the images and *THEN* display them public List <GameObject> GenerateSearchMedals(Transform MedalContentHolder, Dictionary <int, Medal.Medal> SearchMedals) { var medals = new List <GameObject>(); foreach (var kv in SearchMedals) { var medal = kv.Value; var medalGameObject = MedalLogicManager.CreateMedal(medal, true); medalGameObject.transform.SetParent(MedalContentHolder, false); medalGameObject.GetComponent <CanvasGroup>().SetCanvasGroupActive(); medals.Add(medalGameObject); } var maxY = (MedalContentHolder.childCount / 2) * (MedalContentHolder.GetComponent <GridLayoutGroup>().cellSize.y + MedalContentHolder.GetComponent <GridLayoutGroup>().spacing.y); // Resize MedalContentHolder.GetComponent <RectTransform>().offsetMin = new Vector2(MedalContentHolder.GetComponent <RectTransform>().offsetMax.x, -maxY); MedalContentHolder.GetComponent <GridLayoutGroup>().enabled = true; LoadManager.FinishLoading(); return(medals); }
public IEnumerator GetMedalsFromPHP(MedalFilterManager medalFilter) { WWWForm form = new WWWForm(); var query = medalFilter.GenerateFilterQuery(); form.AddField("sqlQuery", query); using (UnityWebRequest www = UnityWebRequest.Post(selectFilteredMedalsPHP, form)) { yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log("ERROR:: " + www.error); } else { //Debug.Log(www.downloadHandler.text); var rows = www.downloadHandler.text.Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (var row in rows) { var splitRow = row.Split(new char[] { '|' }, StringSplitOptions.None); var medal = new Medal(splitRow); Medals.Add(medal.Id, medal); } } } LoadManager.FinishLoading(); }
IEnumerator LoadImage(string imageUrl, GameObject medalObject) { //Debug.Log(imageUrl); //yield return 0; UnityWebRequest image = UnityWebRequestTexture.GetTexture(imageUrl); yield return(image.SendWebRequest()); if (image.isNetworkError || image.isHttpError) { Debug.Log("ERROR: " + image.error); } else { medalObject.GetComponent <RawImage>().texture = ((DownloadHandlerTexture)image.downloadHandler).texture; //MedalPlaceholderShadow.texture = MedalPlaceholder.texture; //print("Finished"); } LoadManager.FinishLoading(); }
// Entrance public IEnumerator Display() { while (LoadManager.IsLoading) { yield return(null); } LoadManager.StartLoading(); this.ResetGraph(); var lowRange = 0; var highRange = 0; if (CurrentGraphOption == GraphOptions.Multiplier) { if (MedalFilterManager.HighRange == -1 || MedalFilterManager.LowRange == -1) { MedalLogicManager.SetRange(MedalFilterManager); } if (!MedalFilterManager.Tiers.Any()) { MedalLogicManager.SetLatestTiers(MedalFilterManager); } lowRange = MedalFilterManager.LowRange; highRange = MedalFilterManager.HighRange; } else { // TODO Calculate the strength x multiplier and display that on the graph lowRange = MedalLogicManager.GetLowestCalculatedStrengthRange(); highRange = MedalLogicManager.GetHighestCalculatedStrengthRange(); } var tiers = MedalFilterManager.Tiers; //print(lowRange + " " + highRange); RowsY = MedalLogicManager.PlaceYRows(lowRange, highRange, StartPositionY, ParentY, yOffset, CurrentGraphOption); ColumnsX = MedalLogicManager.PlaceXColumns(tiers, StartPositionX, ParentX, xOffset); MedalContent.GetComponent <RectTransform>().offsetMax = new Vector2(ParentX.GetComponent <RectTransform>().offsetMax.x, ParentY.GetComponent <RectTransform>().offsetMax.y); this.PopulateMedals(); StartCoroutine(MedalCycleLogic.Instance.PopulateCycleMedals(MedalGameObjects)); this.PlaceGraphLines(); // Shift placement to display latest medal var latestMedal = MedalLogicManager.GetLatestMedal(); var multiplier = MedalLogicManager.GetHighestMultiplier(latestMedal); if (CurrentGraphOption == GraphOptions.CalculatedStrength) { multiplier *= latestMedal.MaxAttack > latestMedal.BaseAttack ? latestMedal.MaxAttack : latestMedal.BaseAttack; } var medalObject = MedalGameObjects[latestMedal.Tier][multiplier].GetComponent <RectTransform>(); MedalView.content.localPosition = this.CenterToItem(medalObject); LoadManager.FinishLoading(); // TODO Find a better way to stop this coroutine so we can call a new display coroutine when it's done //print("Stopping Coroutine"); //StopCoroutine(StillRunning); }
public IEnumerator GetMedal(string query) { CurrentDamoThing = 1; Transitioning = true; LoadManager.StartLoading(); WWWForm form = new WWWForm(); form.AddField("sqlQuery", query); using (UnityWebRequest www = UnityWebRequest.Post(selectFilteredMedalsPHP, form)) { yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Debug.Log("ERROR:: " + www.error); } else { //Debug.Log(www.downloadHandler.text); var row = www.downloadHandler.text.Replace("\n", ""); var splitRow = row.Split(new char[] { '|' }, StringSplitOptions.None); var medal = new Medal { Id = string.IsNullOrEmpty(splitRow[0]) ? -1 : int.Parse(splitRow[0]), Name = string.IsNullOrEmpty(splitRow[1]) ? "" : splitRow[1], ImageURL = string.IsNullOrEmpty(splitRow[2]) ? "" : splitRow[2], Star = string.IsNullOrEmpty(splitRow[3]) ? 0 : int.Parse(splitRow[3]), Class = string.IsNullOrEmpty(splitRow[4]) ? "" : splitRow[4], Type = string.IsNullOrEmpty(splitRow[5]) ? "" : splitRow[5], Attribute_PSM = string.IsNullOrEmpty(splitRow[6]) ? "" : splitRow[6], Attribute_UR = string.IsNullOrEmpty(splitRow[7]) ? "" : splitRow[7], Discriminator = string.IsNullOrEmpty(splitRow[8]) ? "" : splitRow[8], BaseAttack = string.IsNullOrWhiteSpace(splitRow[9]) ? 0 : int.Parse(splitRow[9]), MaxAttack = string.IsNullOrEmpty(splitRow[10]) ? 0 : int.Parse(splitRow[10]), BaseDefense = string.IsNullOrEmpty(splitRow[11]) ? 0 : int.Parse(splitRow[11]), MaxDefense = string.IsNullOrEmpty(splitRow[12]) ? 0 : int.Parse(splitRow[12]), TraitSlots = string.IsNullOrEmpty(splitRow[13]) ? 0 : int.Parse(splitRow[13]), BasePetPoints = string.IsNullOrEmpty(splitRow[14]) ? 0 : int.Parse(splitRow[14]), MaxPetPoints = string.IsNullOrEmpty(splitRow[15]) ? 0 : int.Parse(splitRow[15]), Ability = string.IsNullOrEmpty(splitRow[16]) ? "" : splitRow[16], AbilityDescription = string.IsNullOrEmpty(splitRow[17]) ? "" : splitRow[17], Target = string.IsNullOrEmpty(splitRow[18]) ? "" : splitRow[18], Gauge = string.IsNullOrEmpty(splitRow[19]) ? 0 : int.Parse(splitRow[19]), BaseMultiplierLow = string.IsNullOrEmpty(splitRow[20]) ? 0.0 : double.Parse(splitRow[20]), BaseMultiplierHigh = string.IsNullOrEmpty(splitRow[21]) ? 0.0 : double.Parse(splitRow[21]), MaxMultiplierLow = string.IsNullOrEmpty(splitRow[22]) ? 0.0 : double.Parse(splitRow[22]), MaxMultiplierHigh = string.IsNullOrEmpty(splitRow[23]) ? 0.0 : double.Parse(splitRow[23]), GuiltMultiplierLow = string.IsNullOrEmpty(splitRow[24]) ? 0.0 : double.Parse(splitRow[24]), GuiltMultiplierHigh = string.IsNullOrEmpty(splitRow[25]) ? 0.0 : double.Parse(splitRow[25]), SubslotMultiplier = string.IsNullOrEmpty(splitRow[26]) ? 0.0 : double.Parse(splitRow[26]), Tier = string.IsNullOrEmpty(splitRow[27]) ? 0 : int.Parse(splitRow[27]), SupernovaName = string.IsNullOrEmpty(splitRow[28]) ? "" : splitRow[28], SupernovaDescription = string.IsNullOrEmpty(splitRow[29]) ? "" : splitRow[29], SupernovaDamage = string.IsNullOrEmpty(splitRow[30]) ? "" : splitRow[30], SupernovaTarget = string.IsNullOrEmpty(splitRow[31]) ? "" : splitRow[31], Effect = string.IsNullOrEmpty(splitRow[32]) ? "" : splitRow[32], Effect_Description = string.IsNullOrEmpty(splitRow[33]) ? "" : splitRow[33] }; DamoMedal = medal; MedalDisplay = gameObject.GetComponent <MedalDisplay>(); MedalDisplay.MapVariables(DamoMedal); } } LoadManager.FinishLoading(); StartCoroutine(MedalSpotlightDisplayManager.Display(null, MedalDisplay)); Transitioning = false; //StartCoroutine(Idle()); }
// Instance method, this method can be accessed through the singleton instance public IEnumerator CycleMedals(Dictionary <GameObject, int> medals) { int count = 0; while (!stopped) { // TODO Do fades for medals foreach (var m in medals) { if (m.Key.GetComponentsInChildren <RectTransform>().First(x => x.name == "SubContent").childCount == 1) { continue; } var texture1 = m.Key.GetComponentsInChildren <CanvasGroup>().First(x => x.name == "MedalImage"); var texture2 = m.Key.GetComponentsInChildren <CanvasGroup>().First(x => x.name == "AltMedalImage"); var currMedal = m.Key.GetComponentsInChildren <RectTransform>().First(x => x.name == "SubContent").GetChild(m.Value); // Display MedalImage if (count == 1) { StartCoroutine(SwapImageCanvasGroup(texture1, texture2)); //m.Key.GetComponent<RawImage>().texture = currMedal.GetComponent<RawImage>().texture; } // Display AltMedalImage else { StartCoroutine(SwapImageCanvasGroup(texture2, texture1)); } } List <GameObject> keys = new List <GameObject>(medals.Keys); foreach (var key in keys) { var mod = key.GetComponentsInChildren <RectTransform>().First(x => x.name == "SubContent").childCount; medals[key] = (medals[key] + 1) % mod; var nextMedal = key.GetComponentsInChildren <RectTransform>().First(x => x.name == "SubContent").GetChild((medals[key] + 1) % mod); // MedalImage is displaying if (count == 0) { key.GetComponentsInChildren <RawImage>().First(x => x.name == "AltMedalImage").texture = nextMedal.GetComponent <RawImage>().texture; } // AltMedalImage is displaying else { key.GetComponentsInChildren <RawImage>().First(x => x.name == "MedalImage").texture = nextMedal.GetComponent <RawImage>().texture; } } count++; if (count % 2 == 0) { count = 0; } if (loadInitial) { loadInitial = false; LoadManager.FinishLoading(); } yield return(new WaitForSeconds(1.5f)); } }