// Token: 0x06001AE6 RID: 6886 RVA: 0x0008BAFC File Offset: 0x00089CFC
 public void DeltaUpdate(GameActorInfoDelta delta)
 {
     foreach (KeyValuePair <GameActorInfoDelta.Keys, object> keyValuePair in delta.Changes)
     {
         GameActorInfoDelta.Keys key = keyValuePair.Key;
         if (key != GameActorInfoDelta.Keys.ArmorPoints)
         {
             if (key != GameActorInfoDelta.Keys.Health)
             {
                 if (key == GameActorInfoDelta.Keys.PlayerState)
                 {
                     this.Player.PlayerState = (PlayerStates)((byte)keyValuePair.Value);
                 }
             }
             else
             {
                 this.Health.Value = (int)((short)keyValuePair.Value);
             }
         }
         else
         {
             this.ArmorPoints.Value = (int)((byte)keyValuePair.Value);
         }
     }
     delta.Apply(this.Player);
     this.OnDeltaUpdate(delta);
 }
Esempio n. 2
0
    // Token: 0x0600185F RID: 6239 RVA: 0x00082A24 File Offset: 0x00080C24
    private void OnDeltaUpdate(GameActorInfoDelta update)
    {
        foreach (GameActorInfoDelta.Keys keys in update.Changes.Keys)
        {
            GameActorInfoDelta.Keys keys2 = keys;
            switch (keys2)
            {
            case GameActorInfoDelta.Keys.CurrentWeaponSlot:
                this.WeaponSimulator.UpdateWeaponSlot((int)this.State.Player.CurrentWeaponSlot, true);
                break;

            default:
                if (keys2 == GameActorInfoDelta.Keys.Weapons)
                {
                    this.WeaponSimulator.UpdateWeapons((int)this.State.Player.CurrentWeaponSlot, this.State.Player.Weapons);
                    this.WeaponSimulator.UpdateWeaponSlot((int)this.State.Player.CurrentWeaponSlot, !this.IsLocal);
                    if (this.IsLocal && !Singleton <WeaponController> .Instance.CheckWeapons(GameState.Current.PlayerData.Player.Weapons))
                    {
                        GameState.Current.Player.InitializeWeapons();
                    }
                }
                break;

            case GameActorInfoDelta.Keys.Gear:
                if (!this.IsLocal)
                {
                    this.Avatar.Loadout.UpdateGearSlots(this.State.Player.Gear);
                }
                break;

            case GameActorInfoDelta.Keys.Health:
                this.Avatar.Decorator.HudInformation.SetHealthBarValue((float)this.State.Player.Health / 100f);
                break;
            }
        }
    }