public float GetTrueLearningSpeed(Stat.StatName pStat) { Stat stat = GetStat(pStat); float val = stat.LearningSpeed; foreach (Trait trait in Data.Traits) { foreach (StatInfluence influence in trait.StatInfluences) { if (influence.InfluenceType == Trait.StatInfluenceType.LearningSpeed) { if (influence.PercentageChange > 0) { float percentage = stat.LearningSpeed * influence.PercentageChange; val = Mathf.Clamp(val + percentage, 0, 1000); } if (influence.ValueChange > 0) { val = Mathf.Clamp(val + influence.ValueChange, 0, 1000); } } } } return(val); }
public float GetStatValue(Stat.StatName pStat) { Stat stat = GetStat(pStat); float val = stat.Value; return(val); }
void ChangeStat(Stat.StatName pStat, float pAmount) { switch (pStat) { case Stat.StatName.Agility: Data.Agility.Value = Mathf.Clamp(Data.Agility.Value + pAmount, 0, GetTruePotential(Stat.StatName.Agility)); break; case Stat.StatName.Charm: Data.Charm.Value = Mathf.Clamp(Data.Charm.Value + pAmount, 0, GetTruePotential(Stat.StatName.Charm)); break; case Stat.StatName.Intellect: Data.Intellect.Value = Mathf.Clamp(Data.Intellect.Value + pAmount, 0, GetTruePotential(Stat.StatName.Intellect)); break; case Stat.StatName.Strength: Data.Strength.Value = Mathf.Clamp(Data.Strength.Value + pAmount, 0, GetTruePotential(Stat.StatName.Strength)); break; default: break; } GetComponent <BlossomDataSaver>().OnRecordPersistentData(); }
public float getMaxStat(Stat.StatName pStat, CompetitioniTier pTier) { float max = 0; switch (pStat) { case Stat.StatName.Null: break; case Stat.StatName.Strength: max += pTier.MaxStrength; break; case Stat.StatName.Agility: max += pTier.MaxAgility; break; case Stat.StatName.Intellect: max += pTier.MaxIntellect; break; case Stat.StatName.Charm: max += pTier.MaxCharm; break; default: break; } return(max); }
public float getMinStat(Stat.StatName pStat, CompetitioniTier pTier) { float min = 0; switch (pStat) { case Stat.StatName.Null: break; case Stat.StatName.Strength: min += pTier.MinStrength; break; case Stat.StatName.Agility: min += pTier.MinAgility; break; case Stat.StatName.Intellect: min += pTier.MinIntellect; break; case Stat.StatName.Charm: min += pTier.MinCharm; break; default: break; } return(min); }
Stat GetStat(Stat.StatName pStat) { if (pStat == Stat.StatName.Agility) { return(Data.Agility); } else if (pStat == Stat.StatName.Intellect) { return(Data.Intellect); } else if (pStat == Stat.StatName.Strength) { return(Data.Strength); } else if (pStat == Stat.StatName.Charm) { return(Data.Charm); } return(Data.Agility); }
public void Open(Stat.StatName pStat, TrainingProp pProp) { TitleText.text = pStat.ToString() + " Training: Select a Blossom"; BlossomDataSaver[] spawnedBlossoms = FindObjectsOfType <BlossomDataSaver>(); foreach (BlossomDataSaver spawnedBlossom in spawnedBlossoms) { spawnedBlossom.OnRecordPersistentData(); } BlossomSelectionUI[] children = BlossomContainer.GetComponentsInChildren <BlossomSelectionUI>(); foreach (BlossomSelectionUI child in children) { Destroy(child.gameObject); } ChosenProp = pProp; foreach (string blossom in BlossomManager.Instance.OwnedBlossoms) { BlossomController selectedBlossom = BlossomManager.Instance.GetSpawnedBlossom(blossom).GetComponent <BlossomController>(); float agility = DialogueLua.GetVariable(blossom + "AgilityValue").asFloat; float agilityPotential = selectedBlossom.GetTruePotential(Stat.StatName.Agility); float strength = DialogueLua.GetVariable(blossom + "StrengthValue").asFloat; float strengthPotential = selectedBlossom.GetTruePotential(Stat.StatName.Strength); float intellect = DialogueLua.GetVariable(blossom + "IntellectValue").asFloat; float intellectPotential = selectedBlossom.GetTruePotential(Stat.StatName.Intellect); float charm = DialogueLua.GetVariable(blossom + "CharmValue").asFloat; float charmPotential = selectedBlossom.GetTruePotential(Stat.StatName.Charm); 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; switch (pStat) { case Stat.StatName.Null: Debug.LogError("No Stat Specified for this prop"); return; case Stat.StatName.Agility: if (agility >= agilityPotential) { ui.SelectBtn.enabled = false; ui.AgilityAmtText.color = Color.red; } else { ui.AgilityAmtText.color = Color.blue; } break; case Stat.StatName.Strength: if (strength >= strengthPotential) { ui.SelectBtn.enabled = false; ui.StrengthAmtText.color = Color.red; } else { ui.StrengthAmtText.color = Color.blue; } break; case Stat.StatName.Charm: if (charm >= charmPotential) { ui.SelectBtn.enabled = false; ui.CharmAmtText.color = Color.red; } else { ui.CharmAmtText.color = Color.blue; } break; case Stat.StatName.Intellect: if (intellect >= intellectPotential) { ui.SelectBtn.enabled = false; ui.CharmAmtText.color = Color.red; } else { ui.IntellectAmtText.color = Color.blue; } break; } ui.AgilityAmtText.text = agility.ToString("F2") + " / " + agilityPotential.ToString("F2"); ui.StrengthAmtText.text = strength.ToString("F2") + " / " + strengthPotential.ToString("F2"); ui.IntellectAmtText.text = intellect.ToString("F2") + " / " + intellectPotential.ToString("F2"); ui.CharmAmtText.text = charm.ToString("F2") + " / " + charmPotential.ToString("F2"); if (pregnant) { ui.SelectBtn.enabled = false; ui.PregnantIcon.enabled = true; } else { ui.PregnantIcon.enabled = false; } if (hungry) { ui.SelectBtn.enabled = false; ui.HungryIcon.enabled = true; } else { ui.HungryIcon.enabled = false; } if (fatigued) { ui.SelectBtn.enabled = false; ui.FatiguedIcon.enabled = true; } else { ui.FatiguedIcon.enabled = false; } ui.SelectBtn.onClick.AddListener( delegate() { ChosenBlossom = blossom; ShowConfirmationWindow(); } ); } GetComponent <WindowToggle>().Open(); }