Пример #1
0
    // 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();
    }
Пример #2
0
    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));
        }
    }
Пример #3
0
        public void ModifyStat(RPGStatType statName, float value)
        {
            RPGVital stat = null;

            if (StatCollection.TryGetStat <RPGVital> (statName, out stat))
            {
                stat.StatValueCurrent += value;
            }
        }
Пример #4
0
    public void OnEnable()
    {
        RPGVital health;

        if (attachedEntity.StatCollection.TryGetStat(healthBarType, out health))
        {
            healthVital = health;
            healthVital.AddValueListener(OnHealthValueChange);
            healthVital.AddCurrentValueListener(OnHealthCurrentValueChange);
        }
    }
Пример #5
0
    // 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();
    }
Пример #6
0
        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));
             }
         }
     });
 }
Пример #8
0
    // 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);
    }