// Use this for initialization void Start() { var dieDic = DieTypes.AttackDie; stats = gameObject.AddComponent <RPGDefaultStats>(); health = stats.GetStat <RPGVital>(RPGStatType.Health); willpower = stats.GetStat <RPGVital>(RPGStatType.Willpower); stamina = stats.GetStat <RPGVital>(RPGStatType.Stamina); dex = stats.GetStat <RPGAttribute>(RPGStatType.Dexterity); attackDie = stats.GetStat <RPGAttribute>(RPGStatType.DieType); level = stats.GetStat <RPGAttribute>(RPGStatType.Level); attack = stats.GetStat <RPGAttribute>(RPGStatType.Attack); will = stats.GetStat <RPGAttribute>(RPGStatType.Will); defense = stats.GetStat <RPGAttribute>(RPGStatType.Defense); alive = stats.GetStat <RPGAttribute>(RPGStatType.Alive); speed = stats.GetStat <RPGAttribute>(RPGStatType.Speed); evasion = stats.GetStat <RPGAttribute>(RPGStatType.Evasion); ///Modifiy base stats /// stamina.StatCurrentValue = 0; health.StatBaseValue = health.StatBaseValue; health.SetCurrentValueToMax(); attackDie.StatBaseValue = DieTypes.GetAttackDie(DieTypes.DieType.D4); dex.StatBaseValue = dex.StatBaseValue + 2; dex.UpdateLinkers(); }
void OnStatValueChange(object sender, EventArgs args) { RPGVital vital = (RPGVital)sender; if (vital != null) { Debug.Log(string.Format("Vital {0}'s OnStatValueChange event was triggered", vital.StatName)); } }
public void ModifyStat(RPGStatType statName, float value) { RPGVital stat = null; if (StatCollection.TryGetStat <RPGVital> (statName, out stat)) { stat.StatValueCurrent += value; } }
public void OnEnable() { RPGVital health; if (attachedEntity.StatCollection.TryGetStat(healthBarType, out health)) { healthVital = health; healthVital.AddValueListener(OnHealthValueChange); healthVital.AddCurrentValueListener(OnHealthCurrentValueChange); } }
// Use this for initialization void Start() { stats = gameObject.AddComponent <RPGDefaultStats>(); health = stats.GetStat <RPGVital>(RPGStatType.Health); health.OnCurrentValueChange += OnStatValueChange; DisplayStatValues(); Debug.Log(string.Format("_____________________")); HealthTest(); DisplayStatValues(); }
public bool TryGetStatPercentValue(RPGStatType statName, out float value) { RPGVital stat = null; value = 0; if (StatCollection.TryGetStat <RPGVital> (statName, out stat)) { value = stat.StatValueCurrent / stat.StatValue; return(true); } return(false); }
void DisplayStatValues() { ForEachEnum <RPGStatType>((statType) => { RPGStat stat = stats.GetStat((RPGStatType)statType); if (stat != null) { RPGVital vital = stat as RPGVital; if (vital != null) { Debug.Log(string.Format("Stat {0}'s value is {1}/{2}", stat.StatName, vital.StatCurrentValue, stat.StatValue)); } else { Debug.Log(string.Format("Stat {0}'s value is {1}", stat.StatName, stat.StatValue)); } } }); }
// Use this for initialization void Start() { var dieDic = DieTypes.AttackDie; stats = gameObject.AddComponent <RPGDefaultStats>(); socialStats = gameObject.GetComponent <SocialStats>(); health = stats.GetStat <RPGVital>(RPGStatType.Health); willpower = stats.GetStat <RPGVital>(RPGStatType.Willpower); stamina = stats.GetStat <RPGVital>(RPGStatType.Stamina); dex = stats.GetStat <RPGAttribute>(RPGStatType.Dexterity); attackDie = stats.GetStat <RPGAttribute>(RPGStatType.DieType); level = stats.GetStat <RPGAttribute>(RPGStatType.Level); attack = stats.GetStat <RPGAttribute>(RPGStatType.Attack); will = stats.GetStat <RPGAttribute>(RPGStatType.Will); defense = stats.GetStat <RPGAttribute>(RPGStatType.Defense); alive = stats.GetStat <RPGAttribute>(RPGStatType.Alive); speed = stats.GetStat <RPGAttribute>(RPGStatType.Speed); evasion = stats.GetStat <RPGAttribute>(RPGStatType.Evasion); if (gameObject.GetComponent <CurrentState>().inCombat) { SetPlayerStatusBars(); } ///Modifiy base stats /// health.StatBaseValue += 10; health.SetCurrentValueToMax(); attackDie.StatBaseValue = DieTypes.GetAttackDie(DieTypes.DieType.D4); dex.StatBaseValue = dex.StatBaseValue + 1; dex.UpdateLinkers(); Debug.Log("Player health is: " + health.StatBaseValue); Debug.Log("Extroversion: " + socialStats.GetStat(SocialStats.SocialStatType.Extroversion).StatBaseValue); ///Tests socialStats.SocialStatChange(socialStats.GetStat(SocialStats.SocialStatType.Extroversion)); Debug.Log("Extroversion after increment: " + socialStats.GetStat(SocialStats.SocialStatType.Extroversion).StatValue); }