public ViewModelStatusEffect(ILogicObject statusEffect) { this.statusEffect = statusEffect; this.protoStatusEffect = (IProtoStatusEffect)statusEffect.ProtoLogicObject; this.publicState = statusEffect.GetPublicState <StatusEffectPublicState>(); this.publicState.ClientSubscribe( _ => _.Intensity, _ => this.UpdateIntensity(), this); this.UpdateIntensity(); }
public ViewModelStatusEffect(ILogicObject statusEffect) { this.statusEffect = statusEffect; this.protoStatusEffect = (IProtoStatusEffect)statusEffect.ProtoLogicObject; this.lazyEffects = new Lazy <IReadOnlyList <StatModificationData> >(this.CreateEffectsList); this.publicState = statusEffect.GetPublicState <StatusEffectPublicState>(); this.publicState.ClientSubscribe( _ => _.Intensity, _ => this.UpdateIntensity(), this); this.UpdateIntensity(); }
public ViewModelStatusEffect(ILogicObject statusEffect) { this.protoStatusEffect = (IProtoStatusEffect)statusEffect.ProtoLogicObject; this.StatsDictionary = this.protoStatusEffect.ProtoEffects; this.publicState = statusEffect.GetPublicState <StatusEffectPublicState>(); this.publicState.ClientSubscribe( _ => _.Intensity, _ => this.UpdateIntensity(), this); this.UpdateIntensity(); this.IsFlickerScheduled = true; var controls = new List <UIElement>(); this.PopulateControls(controls); if (controls.Count > 0) { this.InfoControls = controls; } }