private void SetExperience(float experience) { m_CurrentExperience = experience; int level; int expForNextLevel; float levelProgress; HeroUtility.CalculateHeroLevel(m_CurrentExperience, out level, out expForNextLevel, out levelProgress); classText.text = Hero.GetClassProgress(level); levelProgressFill.localScale = new Vector3(levelProgress, levelProgressFill.localScale.y, levelProgressFill.localScale.z); }
public static HeroInstance GenerateHero(int level, HeroType heroType) { HeroInstance newHero = new HeroInstance(); newHero.DisplayName = NameDatabase.GetHeroName(); newHero.Experience = HeroUtility.GetTotalExperienceRequiredForLevel(level); newHero.HeroType = heroType; for (int i = 0; i < Random.Range(0, 4); i++) { newHero.Traits.Add(DataFetcher.HeroTraits.traits.GetRandom()); } return(newHero); }
public static HeroInstance GenerateHero(QuestSourceFaction faction, int level, bool addToRoster) { HeroInstance newHero = new HeroInstance(); newHero.DisplayName = NameDatabase.GetHeroName(); //newHero.Nickname = UnityEngine.Random.Range(0, 4) == 0 ? NameDatabase.GetCompoundName() : ""; newHero.Class = EnumUtility.GetRandomEnumValue <HeroClasses>(); newHero.Experience = HeroUtility.GetTotalExperienceRequiredForLevel(level); newHero.EquipmentLevel = UnityEngine.Random.Range(1, 10); newHero.HeroState = HeroStates.IDLE; Dictionary <QuestTypes, float> tempQuestValues = new Dictionary <QuestTypes, float>(); float tempQuestValuesTotal = 0; foreach (QuestTypes questType in Enum.GetValues(typeof(QuestTypes))) { tempQuestValues.Add(questType, UnityEngine.Random.Range(0f, 10f)); tempQuestValuesTotal = tempQuestValues[questType]; } foreach (QuestTypes questType in Enum.GetValues(typeof(QuestTypes))) { newHero.QuestTypePreferences[questType] = (tempQuestValues[questType] / tempQuestValuesTotal).Map(0, 1, 0.6f, 1.25f); } float offset = 0.25f; newHero.QuestPrefRewardGold = UnityEngine.Random.Range(0f, 1f); newHero.QuestPrefRewardItem = 1 - newHero.QuestPrefRewardGold; newHero.QuestPrefRewardGold += offset; newHero.QuestPrefRewardItem += offset; if (addToRoster) { HeroManager.AddHero(newHero, faction); } return(newHero); }
private void CalculateLevels() { HeroUtility.CalculateHeroLevel(m_Experience, out m_Level, out m_ExperienceForNextLevel, out m_LevelProgress); }