Пример #1
0
 public bool SelectCompetition(CompetitionNames pCompetitionName, Transform pPresenter)
 {
     CompetitionPresenter = pPresenter;
     foreach (BlossomCompetition competition in Competitions)
     {
         if (pCompetitionName.ToString() == competition.Name.ToString())
         {
             CurrentCompetition = competition;
             return(true);
         }
     }
     CurrentCompetition = null;
     return(false);
 }
        public void Open(List <string> pResults, List <string> pBlossoms, int pRank, string pTitle = "", string pPrompt = "")
        {
            BlossomCompetition currentCompetition = BlossomCompetitionManager.Instance.CurrentCompetition;
            CompetitioniTier   currentTier        = BlossomCompetitionManager.Instance.CurrentTier;

            // BlossomColor[] allColors = Resources.LoadAll<BlossomColor>("BlossomColors");


            WinnerText.text = pResults[0];

            BlossomData.BlossomGrowth growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(pBlossoms[0] + "Growth").asString);
            string color = DialogueLua.GetVariable(pBlossoms[0] + "Color").asString;
            Sprite portrait;

            if (growth == BlossomData.BlossomGrowth.Adult)
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
            }
            else
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
            }

            WinnerImage.sprite = portrait;



            SecondText.text = pResults[1];

            growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(pBlossoms[1] + "Growth").asString);
            color  = DialogueLua.GetVariable(pBlossoms[2] + "Color").asString;

            if (growth == BlossomData.BlossomGrowth.Adult)
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
            }
            else
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
            }


            ThirdText.text = pResults[2];

            growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(pBlossoms[2] + "Growth").asString);
            color  = DialogueLua.GetVariable(pBlossoms[2] + "Color").asString;

            if (growth == BlossomData.BlossomGrowth.Adult)
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
            }
            else
            {
                portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
            }


            for (int i = 3; i < pResults.Count; i++)
            {
                GameObject result = Instantiate(ResultsPrefab, Content);

                growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(pBlossoms[i] + "Growth").asString);
                color  = DialogueLua.GetVariable(pBlossoms[i] + "Color").asString;

                if (growth == BlossomData.BlossomGrowth.Adult)
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
                }
                else
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
                }

                result.GetComponentInChildren <TextMeshProUGUI>().text = (i + 1) + ": " + pResults[i];
            }

            base.Open(pTitle, pPrompt);
            CloseButton.onClick.AddListener(
                delegate()
            {
                Continue(pRank);
            }
                );
        }
        public void Open(float pMinAgility, float pMaxAgility, float pMinStrength, float pMaxStrength, float pMinIntellect, float pMaxIntellect, float pMinCharm, float pMaxCharm, CompetitionTierSelectUI prevWindow, List <CompetitioniTier> pTiers, BlossomCompetition pCompetition)
        {
            BlossomDataSaver[] spawnedBlossoms = FindObjectsOfType <BlossomDataSaver>();
            foreach (BlossomDataSaver spawnedBlossom in spawnedBlossoms)
            {
                spawnedBlossom.OnRecordPersistentData();
            }

            BlossomSelectionUI[] children = BlossomContainer.GetComponentsInChildren <BlossomSelectionUI>();
            foreach (BlossomSelectionUI child in children)
            {
                Destroy(child.gameObject);
            }



            foreach (string blossom in BlossomManager.Instance.OwnedBlossoms)
            {
                float agility   = DialogueLua.GetVariable(blossom + "AgilityValue").asFloat;
                float strength  = DialogueLua.GetVariable(blossom + "StrengthValue").asFloat;
                float intellect = DialogueLua.GetVariable(blossom + "IntellectValue").asFloat;
                float charm     = DialogueLua.GetVariable(blossom + "CharmValue").asFloat;

                bool pregnant = DialogueLua.GetVariable(blossom + "Pregnant").asBool;
                bool hungry   = DialogueLua.GetVariable(blossom + "Hungry").asBool;

                float energy   = DialogueLua.GetVariable(blossom + "Energy").asFloat;
                bool  fatigued = energy <= 0 ? true : false;

                string name = DialogueLua.GetVariable(blossom + "Name").asString;

                BlossomData.BlossomGrowth growth = (BlossomData.BlossomGrowth)System.Enum.Parse(typeof(BlossomData.BlossomGrowth), DialogueLua.GetVariable(blossom + "Growth").asString);
                string color = DialogueLua.GetVariable(blossom + "Color").asString;
                Sprite portrait;
                if (growth == BlossomData.BlossomGrowth.Adult)
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).AdultPortrait;
                    print("BlossomColors/" + color);
                }
                else
                {
                    portrait = Resources.Load <BlossomColor>("BlossomColors/" + color).BabyPortrait;
                }

                BlossomSelectionUI ui = Instantiate(BlossomUIPrefab, BlossomContainer);

                ui.SelectBtn.enabled = true;

                ui.BlossomNameText.text   = name;
                ui.BlossomPortrait.sprite = portrait;


                if (pMinAgility == -1 || pMaxAgility == -1)
                {
                    ui.AgilityAmtText.text = agility.ToString("F2") + " / N/A";
                }
                else
                {
                    ui.AgilityAmtText.text = agility.ToString("F2") + " / " + pMinAgility + "-" + pMaxAgility;
                    if (agility < pMinAgility || agility > pMaxAgility)
                    {
                        ui.SelectBtn.enabled    = false;
                        ui.AgilityAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.AgilityAmtText.color = new Color(0, 0.5f, 0);
                    }
                }


                if (pMinStrength == -1 || pMaxStrength == -1)
                {
                    ui.StrengthAmtText.text = strength.ToString("F2") + " / N/A";
                }
                else
                {
                    ui.StrengthAmtText.text = strength.ToString("F2") + " / " + pMinStrength + "-" + pMaxStrength;

                    if (strength < pMinStrength || strength > pMaxStrength)
                    {
                        ui.SelectBtn.enabled     = false;
                        ui.StrengthAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.StrengthAmtText.color = new Color(0, 0.5f, 0);
                    }
                }

                if (pMinIntellect == -1 || pMaxIntellect == -1)
                {
                    ui.IntellectAmtText.text = intellect.ToString("F2") + " / N/A";
                }
                else
                {
                    ui.IntellectAmtText.text = intellect.ToString("F2") + " / " + pMinIntellect + "-" + pMaxIntellect;

                    if (intellect < pMinIntellect || intellect > pMaxIntellect)
                    {
                        ui.SelectBtn.enabled      = false;
                        ui.IntellectAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.IntellectAmtText.color = new Color(0, 0.5f, 0);
                    }
                }


                if (pMinCharm == -1 || pMaxCharm == -1)
                {
                    ui.CharmAmtText.text = charm.ToString("F2") + " / N/A";
                }
                else
                {
                    ui.CharmAmtText.text = charm.ToString("F2") + " / " + pMinCharm + "-" + pMaxCharm;
                    if (charm < pMinCharm || charm > pMaxCharm)
                    {
                        ui.SelectBtn.enabled  = false;
                        ui.CharmAmtText.color = Color.red;
                    }
                    else
                    {
                        ui.CharmAmtText.color = new Color(0, 0.5f, 0);
                    }
                }

                if (pregnant)
                {
                    ui.SelectBtn.enabled = false;

                    ui.PregnantIcon.enabled = true;
                }
                else
                {
                    ui.PregnantIcon.enabled = false;
                }

                if (hungry)
                {
                    ui.HungryIcon.enabled = true;
                }
                else
                {
                    ui.HungryIcon.enabled = false;
                }

                if (fatigued)
                {
                    ui.FatiguedIcon.enabled = true;
                }
                else
                {
                    ui.FatiguedIcon.enabled = false;
                }

                ui.SelectBtn.onClick.AddListener(
                    delegate()
                {
                    BlossomCompetitionManager.Instance.SetBlossom(blossom);
                    ShowConfirmationWindow();
                }
                    );
            }

            BackBtn.onClick.AddListener(
                delegate()
            {
                Close();
                prevWindow.Open(pTiers, pCompetition);
            }
                );

            GetComponent <WindowToggle>().Open();
        }
Пример #4
0
        public void Open(List <CompetitioniTier> pTiers, BlossomCompetition pCompetition)
        {
            print("pls open");

            CompetitionTierUI[] children = TierContainer.GetComponentsInChildren <CompetitionTierUI>();
            foreach (CompetitionTierUI child in children)
            {
                Destroy(child.gameObject);
            }

            List <Stat.StatName> stats = new List <Stat.StatName>();

            if (pCompetition.Stat1 != Stat.StatName.Null)
            {
                stats.Add(pCompetition.Stat1);
            }
            if (pCompetition.Stat2 != Stat.StatName.Null)
            {
                stats.Add(pCompetition.Stat2);
            }
            if (pCompetition.Stat3 != Stat.StatName.Null)
            {
                stats.Add(pCompetition.Stat3);
            }
            if (pCompetition.Stat4 != Stat.StatName.Null)
            {
                stats.Add(pCompetition.Stat4);
            }
            if (stats.Count <= 0)
            {
                Debug.LogError("Competition Stats not set");
                return;
            }

            foreach (CompetitioniTier tier in pTiers)
            {
                CompetitionTierUI tierUI = Instantiate(TierUIPrefab, TierContainer);
                tierUI.Tier          = tier;
                tierUI.TierText.text = tier.Name;
                float minStat = 0;

                float minAgility   = -1;
                float maxAgility   = -1;
                float minStrength  = -1;
                float maxStrength  = -1;
                float minIntellect = -1;
                float maxIntellect = -1;
                float minCharm     = -1;
                float maxCharm     = -1;

                foreach (Stat.StatName stat in stats)
                {
                    minStat += getMinStat(stat, tier);
                    switch (stat)
                    {
                    case Stat.StatName.Null:
                        break;

                    case Stat.StatName.Strength:
                        minStrength = getMinStat(stat, tier);
                        break;

                    case Stat.StatName.Agility:
                        minAgility = getMinStat(stat, tier);
                        break;

                    case Stat.StatName.Intellect:
                        minIntellect = getMinStat(stat, tier);
                        break;

                    case Stat.StatName.Charm:
                        minCharm = getMinStat(stat, tier);
                        break;

                    default:
                        break;
                    }
                }
                minStat = minStat / stats.Count;

                float maxStat = 0;
                foreach (Stat.StatName stat in stats)
                {
                    maxStat += getMaxStat(stat, tier);
                    switch (stat)
                    {
                    case Stat.StatName.Null:
                        break;

                    case Stat.StatName.Strength:
                        maxStrength = getMaxStat(stat, tier);
                        break;

                    case Stat.StatName.Agility:
                        maxAgility = getMaxStat(stat, tier);
                        break;

                    case Stat.StatName.Intellect:
                        maxIntellect = getMaxStat(stat, tier);
                        break;

                    case Stat.StatName.Charm:
                        maxCharm = getMaxStat(stat, tier);
                        break;

                    default:
                        break;
                    }
                }
                maxStat = maxStat / stats.Count;

                tierUI.TierStatText.text = "Stat range:\n" + minStat.ToString("F0") + " - " + maxStat.ToString("F0");
                tierUI.SelectButton.onClick.AddListener(
                    delegate()
                {
                    BlossomCompetitionManager.Instance.CurrentTier = tier;
                    GetComponent <WindowToggle>().Close();
                    FindObjectOfType <CompetitionBlossomPickerUI>().Open(minAgility, maxAgility, minStrength, maxStrength, minIntellect, maxIntellect, minCharm, maxCharm, this, pTiers, pCompetition);
                }

                    );
            }

            GetComponent <WindowToggle>().Open();
        }