Ejemplo n.º 1
0
    void Connect()
    {
        Entity entity = this._entity;

        if (entity != null)
        {
            entity.LocalEvents.DeathListener   += this.Died;
            entity.LocalEvents.ItemGetListener += this.GotItem;
            this.killable = entity.GetEntityComponent <Killable>();
            if (this.killable != null && this._data.HealthMeter != null)
            {
                if (this.realMeter == null)
                {
                    this.realMeter = OverlayWindow.GetPooledWindow <HealthMeterBase>(this._data.HealthMeter);
                }
                this.realMeter.SetMaxHealth(this.killable.MaxHp, true);
                this.realMeter.SetHealth(this.killable.CurrentHp, true);
                this.oldMaxHp = this.killable.MaxHp;
            }
            this.SetupVariables(entity);
            this.SetupButtons();
            entity.LocalEvents.VarSetListener += this.VariableUpdated;
        }
        this.UpdateSaveVarWindows();
    }
Ejemplo n.º 2
0
 public Button(EntityHUDData.Button button)
 {
     this.hotkey = button.hotkey;
     if (button.buttonPrefab != null)
     {
         this.button = OverlayWindow.GetPooledWindow <OverlayWindow>(button.buttonPrefab);
     }
     this.action = button.buttonAction;
     this.toggle = button.toggle;
 }
Ejemplo n.º 3
0
 void GotItem(Entity ent, Item item)
 {
     if (this.ShouldShow(item.ItemId))
     {
         if (this.currentMsgBox != null && this.currentMsgBox.IsActive)
         {
             this.currentMsgBox.Hide(true);
         }
         this.currentMsgBox = OverlayWindow.GetPooledWindow <ItemMessageBox>(this._data.GetItemBox);
         this.currentMsgBox.Show(item.ItemId);
     }
 }
Ejemplo n.º 4
0
 void SetupVariables(Entity ent)
 {
     if (this.counters == null)
     {
         this.counters = new Dictionary <string, ICounterOverlay>();
         EntityHUDData.VarConnection[] varConnects = this._data.GetVarConnects();
         for (int i = 0; i < varConnects.Length; i++)
         {
             string         varName      = varConnects[i].varName;
             CounterOverlay pooledWindow = OverlayWindow.GetPooledWindow <CounterOverlay>(varConnects[i].hudPrefab);
             pooledWindow.SetValue(ent.GetStateVariable(varName));
             this.counters.Add(varName, pooledWindow);
             this.ownedObjects.Add(pooledWindow.gameObject);
         }
         EntityHUDData.WeaponConnection[] weaponConnects = this._data.GetWeaponConnects();
         for (int j = 0; j < weaponConnects.Length; j++)
         {
             string            varName2      = weaponConnects[j].varName;
             WeaponIconOverlay pooledWindow2 = OverlayWindow.GetPooledWindow <WeaponIconOverlay>(weaponConnects[j].hudPrefab);
             pooledWindow2.SetValue(ent.GetStateVariable(varName2));
             this.counters.Add(varName2, pooledWindow2);
             if (this.controller != null)
             {
                 InputButton key;
                 if (this.controller.GetKeyForAction(weaponConnects[j].actionName, out key))
                 {
                     pooledWindow2.SetKey(key);
                     GuiClickable componentInChildren = pooledWindow2.GetComponentInChildren <GuiClickable>();
                     if (componentInChildren != null)
                     {
                         componentInChildren.onclick = delegate(object b)
                         {
                             this.controller.SignalPress(key);
                         };
                         componentInChildren.onrelease = delegate(object b)
                         {
                             this.controller.SignalRelease(key);
                         };
                     }
                 }
             }
             this.ownedObjects.Add(pooledWindow2.gameObject);
         }
     }
     else
     {
         foreach (KeyValuePair <string, ICounterOverlay> keyValuePair in this.counters)
         {
             keyValuePair.Value.SetValue(ent.GetStateVariable(keyValuePair.Key));
         }
     }
 }
Ejemplo n.º 5
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);
    }
Ejemplo n.º 6
0
 protected override bool DoShow(MenuScreen <PauseMenu> previous)
 {
     if (base.Owner._mapWindow.CanShow(base.Owner.currEnt))
     {
         MapWindow pooledWindow = OverlayWindow.GetPooledWindow <MapWindow>(base.Owner._mapWindow);
         pooledWindow.Show(base.Owner.currEnt, null, new EntityOverlayWindow.OnDoneFunc(this.ClickedBack), null);
         GuiSelectionHandler component = base.Owner.GetComponent <GuiSelectionHandler>();
         if (component != null)
         {
             component.enabled = false;
         }
         base.Owner.mapWindow = pooledWindow;
     }
     else
     {
         Debug.LogWarning("No map for " + Utility.GetCurrentSceneName());
         base.SwitchToBack();
     }
     return(false);
 }
Ejemplo n.º 7
0
 public void UpdateSaveVarWindows()     // Made public
 {
     this._saver = (this._saver ?? this._data.StandardSaver);
     if (this._saver == null)
     {
         return;
     }
     if (this.saveToggleWnds == null)
     {
         EntityHUDData.SaveVarConnection[] saveVarToggables = this._data.GetSaveVarToggables();
         if (saveVarToggables != null)
         {
             this.saveToggleWnds = new List <EntityHUD.SaveToggleOverlay>(saveVarToggables.Length);
             for (int i = 0; i < saveVarToggables.Length; i++)
             {
                 this.saveToggleWnds.Add(new EntityHUD.SaveToggleOverlay(saveVarToggables[i]));
             }
         }
     }
     for (int j = this.saveToggleWnds.Count - 1; j >= 0; j--)
     {
         EntityHUD.SaveToggleOverlay saveToggleOverlay = this.saveToggleWnds[j];
         string     value;
         IDataSaver saverAndName = this._saver.GetSaverAndName(saveToggleOverlay.conn.varPath, out value, true);
         bool       flag         = SaverOwner.LoadSaveData(value, saverAndName, false);
         if (!flag && saveToggleOverlay.wnd != null && saveToggleOverlay.wnd.IsActive)
         {
             saveToggleOverlay.wnd.gameObject.SetActive(false);
         }
         else if (flag)
         {
             if (saveToggleOverlay.wnd == null)
             {
                 saveToggleOverlay.wnd = OverlayWindow.GetPooledWindow <OverlayWindow>(saveToggleOverlay.conn.hudPrefab);
                 this.ownedObjects.Add(saveToggleOverlay.wnd.gameObject);
             }
             saveToggleOverlay.wnd.gameObject.SetActive(true);
         }
     }
     if (!string.IsNullOrEmpty(this._data.HideHUDVar))
     {
         string     key;
         IDataSaver saverAndName2 = this._saver.GetSaverAndName(this._data.HideHUDVar, out key, true);
         if (saverAndName2 != null && saverAndName2.LoadBool(key))
         {
             for (int k = this.ownedObjects.Count - 1; k >= 0; k--)
             {
                 GameObject gameObject = this.ownedObjects[k];
                 if (gameObject != null)
                 {
                     gameObject.SetActive(false);
                 }
             }
             for (int l = this.healthMeters.Count - 1; l >= 0; l--)
             {
                 this.healthMeters[l].Hide();
             }
             if (this.realMeter != null)
             {
                 this.realMeter.gameObject.SetActive(false);
             }
         }
     }
 }