コード例 #1
0
    public virtual void ApplyStatusEffects(Weapon weapon)
    {
        foreach (AggregateStatusEffectMetaData data in weapon.statusEffectMetaData)
        {
            if (data.statusEffect.activateOnEquip == false)
            {
                InflictedStatusEffect currentStatusEffect = this.gameObject.GetComponent(Type.GetType(data.statusEffect.statusEffectName)) as InflictedStatusEffect;

                if (currentStatusEffect == null)
                {
                    currentStatusEffect       = this.gameObject.AddComponent(Type.GetType(data.statusEffect.statusEffectName)) as InflictedStatusEffect;
                    currentStatusEffect.level = data.aggregateLevel;
                }
                else
                {
                    currentStatusEffect.level = data.aggregateLevel;
                    currentStatusEffect.AttemptStatusEffectRefresh(this);
                }
            }
        }
    }
コード例 #2
0
ファイル: Player.cs プロジェクト: jslawski/ReturnToFulchrine
    public override void ApplyStatusEffects(Weapon weapon)
    {
        foreach (AggregateStatusEffectMetaData data in weapon.statusEffectMetaData)
        {
            if (data.statusEffect.activateOnEquip == false)
            {
                InflictedStatusEffect currentStatusEffect = this.gameObject.GetComponent(Type.GetType(data.statusEffect.statusEffectName)) as InflictedStatusEffect;

                if (currentStatusEffect == null)
                {
                    currentStatusEffect       = this.gameObject.AddComponent(Type.GetType(data.statusEffect.statusEffectName)) as InflictedStatusEffect;
                    currentStatusEffect.level = data.aggregateLevel;
                    this.currentCharacter.activeInflictedStatusEffects.Add(currentStatusEffect);
                    currentStatusEffect.onInflicedStatusEffectEnded += this.currentCharacter.RemoveInflictedStatusEffect;
                }
                else
                {
                    currentStatusEffect.level = data.aggregateLevel;
                    currentStatusEffect.AttemptStatusEffectRefresh(this);
                }
            }
        }
    }
コード例 #3
0
 public void RemoveInflictedStatusEffect(InflictedStatusEffect statusEffect)
 {
     statusEffect.onInflicedStatusEffectEnded -= this.RemoveInflictedStatusEffect;
     this.activeInflictedStatusEffects.Remove(statusEffect);
 }