/// <summary>Adds a conditional stat modifier to the system based on given info. stop conditoin defaults to null meaning it will never stop</summary> public ConditionalStatModifier AddConditionalModifier(ConditionalModifierInfoSO info) { if (info == null) { throw new InvalidOperationException("Conditional modifier Info was null"); } ConditionalStatModifier modifier = new ConditionalStatModifier(info); InsertModifierInSystem(modifier); return(modifier); }
/// <summary> /// Creates a new instance of a conditinal stat modifier using a conditional modifier info scriptable object /// </summary> public ConditionalStatModifier(ConditionalModifierInfoSO info) { name = info.name; valuePerSecond = info.Value; increase = info.Increase; modifiesCurrent = info.ModifiesCurrent; modifiesCurrentWithMax = info.ModifiesCurrentWithMax; canStack = info.CanStack; StopCondition = info.StopCondition ?? DefaultCondition; OnSecondPassedEvent = info.OnSecondsPassed; }