Exemple #1
0
        public ViewModelDepositCapacityStatsControl(IStaticWorldObject worldObjectDeposit)
        {
            this.worldObjectDeposit = worldObjectDeposit;
            if (worldObjectDeposit != null)
            {
                this.publicState  = worldObjectDeposit.GetPublicState <StaticObjectPublicState>();
                this.protoDeposit = (IProtoObjectDeposit)worldObjectDeposit.ProtoStaticWorldObject;

                this.ValueMax = this.protoDeposit.StructurePointsMax;

                // subscribe on updates
                this.publicState.ClientSubscribe(
                    _ => _.StructurePointsCurrent,
                    _ => this.RefreshDepletion(),
                    this);
            }
            else
            {
                // no deposit (assume depleted)
                this.ValueMax = 0;
            }

            this.RefreshDepletion();

            this.RefreshAvailableToClaim();
        }
Exemple #2
0
        public ViewModelDepositCapacityStatsControl(IStaticWorldObject worldObjectDeposit, Vector2Ushort tilePosition)
        {
            this.worldObjectDeposit = worldObjectDeposit;
            this.tilePosition       = tilePosition;
            if (worldObjectDeposit is not null)
            {
                this.publicState  = worldObjectDeposit.GetPublicState <StaticObjectPublicState>();
                this.protoDeposit = (IProtoObjectDeposit)worldObjectDeposit.ProtoStaticWorldObject;

                this.ValueMax = this.protoDeposit.StructurePointsMax;

                // subscribe on updates
                this.publicState.ClientSubscribe(
                    _ => _.StructurePointsCurrent,
                    _ => this.RefreshDepletion(),
                    this);
            }

            this.RefreshAvailableToClaim();

            this.RefreshByTimer();
        }