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(); }
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(); }