Esempio n. 1
0
 void Update()
 {
     if (this._entity == null || !this._entity.gameObject.activeInHierarchy)
     {
         this.Disconnect();
         base.enabled = false;
     }
     if (this.killable != null && this.realMeter != null)
     {
         float maxHp = this.killable.MaxHp;
         if (this.oldMaxHp != maxHp)
         {
             this.oldMaxHp = maxHp;
             this.realMeter.SetMaxHealth(maxHp, false);
         }
         this.realMeter.SetHealth(this.killable.CurrentHp, false);
     }
     for (int i = this.healthMeters.Count - 1; i >= 0; i--)
     {
         EntityHUD.ConnectedHealthMeter connectedHealthMeter = this.healthMeters[i];
         if (connectedHealthMeter.Update())
         {
             connectedHealthMeter.Stop(false);
             this.healthMeters.RemoveAt(i);
         }
     }
 }
Esempio n. 2
0
    void DisconnectHealthMeter(EntityHUD.ConnectedHealthMeter meter)
    {
        int num = this.healthMeters.IndexOf(meter);

        if (num != -1)
        {
            this.healthMeters.RemoveAt(num);
            meter.Stop(false);
        }
    }
Esempio n. 3
0
        public void Stop()
        {
            EntityHUD entityHUD = this.owner;

            EntityHUD.ConnectedHealthMeter connectedHealthMeter = this.meter;
            this.owner = null;
            this.meter = null;
            if (entityHUD != null && connectedHealthMeter != null)
            {
                entityHUD.DisconnectHealthMeter(connectedHealthMeter);
            }
        }
Esempio n. 4
0
    public EntityHUD.HealthMeterTag ConnectHealthMeter(Entity ent, string meterId)
    {
        this.Setup();
        HealthMeterBase healthMeterForId = this._data.GetHealthMeterForId(meterId);
        Killable        entityComponent  = ent.GetEntityComponent <Killable>();

        if (healthMeterForId != null && entityComponent != null)
        {
            HealthMeterBase pooledWindow = OverlayWindow.GetPooledWindow <HealthMeterBase>(healthMeterForId);
            EntityHUD.ConnectedHealthMeter connectedHealthMeter = new EntityHUD.ConnectedHealthMeter(ent, entityComponent, pooledWindow);
            this.healthMeters.Add(connectedHealthMeter);
            if (this.ShouldHideStuff())
            {
                connectedHealthMeter.Hide();
            }
            return(new EntityHUD.HealthMeterTag(this, connectedHealthMeter));
        }
        return(null);
    }
Esempio n. 5
0
 public HealthMeterTag(EntityHUD owner, EntityHUD.ConnectedHealthMeter meter)
 {
     this.owner = owner;
     this.meter = meter;
 }