Exemplo n.º 1
0
 // Token: 0x06002BCE RID: 11214 RVA: 0x000A395C File Offset: 0x000A1B5C
 private void SetViewModel(global::ViewModel vm, global::ItemRepresentation rep, global::IHeldItem item)
 {
     if (!this.awoke)
     {
         this.viewModel = vm;
         this.rep       = rep;
         this.item      = item;
         return;
     }
     if (this.viewModel != vm)
     {
         bool flag = this.viewModel;
         if (flag)
         {
             if (this.viewModel.itemRep)
             {
                 try
                 {
                     this.viewModel.itemRep.UnBindViewModel(this.viewModel, this.viewModel.item);
                 }
                 catch (Exception ex)
                 {
                     Debug.LogException(ex, this.viewModel.itemRep);
                 }
             }
             this.viewModel.UnBindTransforms();
             this.viewModel.idMain = null;
         }
         this.viewModel = vm;
         if (vm)
         {
             if (!global::CameraFX.viewModelRootTransform)
             {
                 Transform transform = new GameObject("__View Model Root").transform;
                 global::CameraFX.viewModelRootTransform        = new GameObject("Eye Camera Difference").transform;
                 global::CameraFX.viewModelRootTransform.parent = transform;
             }
             vm.idMain           = this.idMain;
             vm.transform.parent = global::CameraFX.viewModelRootTransform;
             if (rep)
             {
                 rep.PrepareViewModel(vm, item);
             }
             vm.BindTransforms(global::CameraFX.viewModelRootTransform, base.transform.parent);
             if (rep)
             {
                 rep.BindViewModel(vm, item);
                 vm.itemRep = rep;
                 vm.item    = item;
             }
         }
         for (int i = this._effects.Length - 1; i >= 0; i--)
         {
             if (this._effects[i])
             {
                 this.effects[i].OnViewModelChange(vm);
             }
         }
     }
 }
 // Token: 0x060035CE RID: 13774 RVA: 0x000C4BE4 File Offset: 0x000C2DE4
 public ModViewModelAddArgs(global::ViewModel vm, global::IHeldItem item, bool isMesh, global::ItemModRepresentation modRep)
 {
     this.vm     = vm;
     this.item   = item;
     this.isMesh = isMesh;
     this.modRep = modRep;
 }
    // Token: 0x06003847 RID: 14407 RVA: 0x000C7C48 File Offset: 0x000C5E48
    public void InvokeInputItemPostFrame(object item, ref global::HumanController.InputSample sample)
    {
        global::IHeldItem heldItem = item as global::IHeldItem;

        if (heldItem != null)
        {
            heldItem.ItemPostFrame(ref sample);
        }
    }
    // Token: 0x06003848 RID: 14408 RVA: 0x000C7C6C File Offset: 0x000C5E6C
    public void InvokeInputItemPreRender()
    {
        global::IHeldItem heldItem = this.inputItem as global::IHeldItem;

        if (heldItem != null)
        {
            heldItem.PreCameraRender();
        }
    }
    // Token: 0x0600388A RID: 14474 RVA: 0x000C8C84 File Offset: 0x000C6E84
    private void RunViewModelAdd(global::ViewModel vm, global::IHeldItem item, bool doMeshes)
    {
        global::ModViewModelAddArgs modViewModelAddArgs = new global::ModViewModelAddArgs(vm, item, doMeshes);

        for (int i = 0; i < 5; i++)
        {
            this._itemMods.BindAsLocal(i, ref modViewModelAddArgs, this);
        }
    }
    // Token: 0x06003846 RID: 14406 RVA: 0x000C7C20 File Offset: 0x000C5E20
    public object InvokeInputItemPreFrame(ref global::HumanController.InputSample sample)
    {
        global::IHeldItem heldItem = this.inputItem as global::IHeldItem;

        if (heldItem != null)
        {
            heldItem.ItemPreFrame(ref sample);
        }
        return(heldItem);
    }
    // Token: 0x0600388D RID: 14477 RVA: 0x000C8CE4 File Offset: 0x000C6EE4
    internal void UnBindViewModel(global::ViewModel vm, global::IHeldItem item)
    {
        global::ModViewModelRemoveArgs modViewModelRemoveArgs = new global::ModViewModelRemoveArgs(vm, item);

        for (int i = 0; i < 5; i++)
        {
            this._itemMods.UnBindAsLocal(i, ref modViewModelRemoveArgs, this);
        }
        if (this._lastViewModel == vm)
        {
            this._lastViewModel = null;
        }
    }
Exemplo n.º 8
0
 // Token: 0x06003A9C RID: 15004 RVA: 0x000CDB78 File Offset: 0x000CBD78
 protected override void DoDeactivateItem()
 {
     if (this._activeItem != null)
     {
         global::IHeldItem heldItem = this._activeItem as global::IHeldItem;
         if (heldItem != null)
         {
             heldItem.OnDeactivate();
         }
     }
     this._activeItem = null;
     base.DoDeactivateItem();
 }
Exemplo n.º 9
0
    // Token: 0x06002BC5 RID: 11205 RVA: 0x000A2C70 File Offset: 0x000A0E70
    protected void Awake()
    {
        this.camera            = base.camera;
        this.adaptiveNearPlane = base.GetComponent <global::AdaptiveNearPlane>();
        int num = 0;

        if (this._effects != null && this._effects.Length != 0)
        {
            for (int i = 0; i < this._effects.Length; i++)
            {
                if (this._effects[i] && this._effects[i] is global::ICameraFX)
                {
                    this._effects[num++] = this._effects[i];
                }
                else
                {
                    Debug.LogWarning("effect at index " + i + " is missing, null or not a ICameraFX", this);
                }
            }
        }
        Array.Resize <MonoBehaviour>(ref this._effects, num);
        Array.Resize <global::ICameraFX>(ref this.effects, num);
        if (num == 0)
        {
            Debug.LogWarning("There are no effects", this);
        }
        else
        {
            for (int j = 0; j < num; j++)
            {
                this.effects[j] = (global::ICameraFX)this._effects[j];
            }
        }
        this.awoke = true;
        if (this.viewModel)
        {
            global::ViewModel vm = this.viewModel;
            this.viewModel = null;
            global::ItemRepresentation itemRepresentation = this.rep;
            this.rep = null;
            global::IHeldItem heldItem = this.item;
            this.item = null;
            this.SetViewModel(vm, itemRepresentation, heldItem);
        }
        base.Awake();
    }
Exemplo n.º 10
0
    // Token: 0x06003A9B RID: 15003 RVA: 0x000CDB1C File Offset: 0x000CBD1C
    protected override void DoSetActiveItem(global::InventoryItem item)
    {
        global::InventoryItem activeItem = this._activeItem;

        this._activeItem = item;
        if (activeItem != null)
        {
            global::IHeldItem heldItem = activeItem.iface as global::IHeldItem;
            if (heldItem != null)
            {
                heldItem.OnDeactivate();
            }
        }
        if (this._activeItem != null)
        {
            global::IHeldItem heldItem2 = this._activeItem as global::IHeldItem;
            if (heldItem2 != null)
            {
                heldItem2.OnActivate();
            }
        }
    }
    // Token: 0x060039C0 RID: 14784 RVA: 0x000CB758 File Offset: 0x000C9958
    public override global::InventoryItem.MergeResult TryCombine(global::IInventoryItem otherItem)
    {
        global::IHeldItem heldItem = otherItem as global::IHeldItem;

        if (heldItem == null)
        {
            return(global::InventoryItem.MergeResult.Failed);
        }
        if (heldItem.freeModSlots <= 0)
        {
            return(global::InventoryItem.MergeResult.Failed);
        }
        if (!(otherItem.datablock is global::BulletWeaponDataBlock))
        {
            return(base.TryCombine(otherItem));
        }
        global::IHeldItem heldItem2 = otherItem as global::IHeldItem;

        if (heldItem2.FindMod(this.datablock) != -1)
        {
            return(global::InventoryItem.MergeResult.Failed);
        }
        return(global::InventoryItem.MergeResult.Combined);
    }
 // Token: 0x060035D0 RID: 13776 RVA: 0x000C4C10 File Offset: 0x000C2E10
 public ModViewModelRemoveArgs(global::ViewModel vm, global::IHeldItem item, global::ItemModRepresentation modRep)
 {
     this.vm     = vm;
     this.item   = item;
     this.modRep = modRep;
 }
 // Token: 0x060035D1 RID: 13777 RVA: 0x000C4C28 File Offset: 0x000C2E28
 public ModViewModelRemoveArgs(global::ViewModel vm, global::IHeldItem item)
 {
     this = new global::ModViewModelRemoveArgs(vm, item, null);
 }
 // Token: 0x060035CF RID: 13775 RVA: 0x000C4C04 File Offset: 0x000C2E04
 public ModViewModelAddArgs(global::ViewModel vm, global::IHeldItem item, bool isMesh)
 {
     this = new global::ModViewModelAddArgs(vm, item, isMesh, null);
 }
 // Token: 0x0600388C RID: 14476 RVA: 0x000C8CD0 File Offset: 0x000C6ED0
 internal void BindViewModel(global::ViewModel vm, global::IHeldItem item)
 {
     this.RunViewModelAdd(vm, item, false);
     this._lastViewModel = vm;
 }
 // Token: 0x0600388B RID: 14475 RVA: 0x000C8CBC File Offset: 0x000C6EBC
 internal void PrepareViewModel(global::ViewModel vm, global::IHeldItem item)
 {
     this.RunViewModelAdd(vm, item, true);
     this._lastViewModel = vm;
 }
Exemplo n.º 17
0
    // Token: 0x06002BD0 RID: 11216 RVA: 0x000A3B30 File Offset: 0x000A1D30
    public static void ReplaceViewModel(global::ViewModel vm, global::ItemRepresentation rep, global::IHeldItem item, bool butDontDestroyOld)
    {
        global::CameraFX mainCameraFX = global::CameraFX.mainCameraFX;

        if (mainCameraFX && mainCameraFX.viewModel != vm)
        {
            global::ViewModel viewModel = mainCameraFX.viewModel;
            mainCameraFX.SetViewModel(vm, rep, item);
            if (!butDontDestroyOld && viewModel)
            {
                Object.Destroy(viewModel.gameObject);
            }
        }
    }