private void UnBindModAsLocal(ref ItemRepresentation.ItemModPair pair, ref ModViewModelRemoveArgs a) { if ((int)pair.bindState == 3) { a.modRep = pair.representation; pair.dataBlock.UnBindAsLocal(ref a); pair.bindState = ItemRepresentation.BindState.None; } }
internal void UnBindViewModel(ViewModel vm, IHeldItem item) { ModViewModelRemoveArgs modViewModelRemoveArg = new ModViewModelRemoveArgs(vm, item); for (int i = 0; i < 5; i++) { this._itemMods.UnBindAsLocal(i, ref modViewModelRemoveArg, this); } if (this._lastViewModel == vm) { this._lastViewModel = null; } }
public void UnBindAsLocal(int slotNumber, ref ModViewModelRemoveArgs args, ItemRepresentation itemRep) { switch (slotNumber) { case 0: { itemRep.UnBindModAsLocal(ref this.a, ref args); break; } case 1: { itemRep.UnBindModAsLocal(ref this.b, ref args); break; } case 2: { itemRep.UnBindModAsLocal(ref this.c, ref args); break; } case 3: { itemRep.UnBindModAsLocal(ref this.d, ref args); break; } case 4: { itemRep.UnBindModAsLocal(ref this.e, ref args); break; } default: { throw new IndexOutOfRangeException(); } } }
protected override void UninstallFromViewModel(ref ModViewModelRemoveArgs a) { if (this.attachObjectVM != null) { WeaponModRep weaponModRep = (WeaponModRep)a.modRep; GameObject gameObject = weaponModRep.attached; ViewModelAttachment component = gameObject.GetComponent <ViewModelAttachment>(); if (component) { component.viewModel = null; } Socket socketByName = this.GetSocketByName(a.vm, this.attachSocketName); if (socketByName.attachParent == null) { Transform transforms = socketByName.parent; } if (gameObject) { weaponModRep.SetAttached(null, true); UnityEngine.Object.Destroy(gameObject.gameObject); } } }
protected virtual void UninstallFromViewModel(ref ModViewModelRemoveArgs a) { }
internal void UnBindAsLocal(ref ModViewModelRemoveArgs a) { this.UninstallFromViewModel(ref a); }