Esempio n. 1
0
        // 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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
        // 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);
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
        // 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));
            }
        }