Exemple #1
0
        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();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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;
            }
        }