示例#1
0
        private void GenerateRandomBuffs(PlayerController player)
        {
            var count = Random.Range(_data.settings.buffCountMin, _data.settings.buffCountMax);
            var buffs = GenerateBuffs(_data.buffs, count, _data.settings.allowDuplicateBuffs);

            foreach (var buff in buffs)
            {
                BuffApplicator.AddBuff(player.Model, buff);
            }
        }
示例#2
0
    protected override void Awake()
    {
        base.Awake();

        OnCastBuffs = new List <BuffApplicator>();
        foreach (BuffConfiguration configuration in Buffs)
        {
            bool onCastBuff = (configuration.BuffCastTime == BuffConfiguration.CastTimeType.OnSkillCast);
            if (onCastBuff)
            {
                BuffApplicator applicator = ScriptableObject.CreateInstance <BuffApplicator>();
                applicator.Initialize(configuration, ParentSkill.AffinityTypes, ParentSkill.SkillOwner);
                OnCastBuffs.Add(applicator);
            }
        }
    }
示例#3
0
    /*
     * Set our Parent(Skill)
     * Get OnCast & OnHit BuffControllers from 'buffs'
     */
    protected override void Awake()
    {
        // Normal "base.Awake()"
        ParentSkill = GameGlobals.AttachCheckComponent <Skill>(this.gameObject);

        OnCastBuffs = new List <BuffApplicator>();
        OnHitBuffs  = new List <BuffApplicator>();
        foreach (BuffConfiguration configuration in Buffs)
        {
            bool           onCastBuff = (configuration.BuffCastTime == BuffConfiguration.CastTimeType.OnSkillCast);
            BuffApplicator applicator = ScriptableObject.CreateInstance <BuffApplicator>();
            applicator.Initialize(configuration, ParentSkill.AffinityTypes, ParentSkill.SkillOwner);
            if (onCastBuff)
            {
                OnCastBuffs.Add(applicator);
            }
            else
            {
                OnHitBuffs.Add(applicator);
            }
        }
        //Do not call base.Awake(), differences are in the loop
    }