protected override bool PerformEquipmentAction(EquipmentSlot slot) { CharacterBody body = slot.characterBody; if (!body) { return(false); } InteractionDriver interactionDriver = body.GetComponent <InteractionDriver>(); if (!interactionDriver) { return(false); } GameObject BestInteractableObject = interactionDriver.FindBestInteractableObject(); if (!BestInteractableObject) { return(false); } PurchaseInteraction purchaseInteraction = BestInteractableObject.GetComponent <PurchaseInteraction>(); if (!purchaseInteraction) { return(false); } float newUnlockChance = TrustyLockpicks_UnlockChance; if (ClassicItemsCompat.enabled && ClassicItemsCompat.CheckEmbryoProc(instance, body)) { newUnlockChance *= 1.3f; } //interactionDriver.interactor.interactableCooldown = 0.25f; if (AttemptUnlock(BestInteractableObject, interactionDriver, newUnlockChance)) { return(true); } else { return(false); } }
// Token: 0x06002141 RID: 8513 RVA: 0x0009C2D0 File Offset: 0x0009A4D0 private void Update() { string text = ""; string text2 = ""; bool active = false; if (this.hud && this.hud.targetBodyObject) { InteractionDriver component = this.hud.targetBodyObject.GetComponent <InteractionDriver>(); if (component) { GameObject gameObject = component.FindBestInteractableObject(); if (gameObject) { PlayerCharacterMasterController component2 = this.hud.targetMaster.GetComponent <PlayerCharacterMasterController>(); if (component2 && component2.networkUser && component2.networkUser.localUser != null) { IInteractable component3 = gameObject.GetComponent <IInteractable>(); if (component3 != null) { string text3 = (component3.GetInteractability(component.interactor) == Interactability.Available) ? component3.GetContextString(component.interactor) : null; if (text3 != null) { text2 = text3; text = string.Format(CultureInfo.InvariantCulture, "<style=cKeyBinding>{0}</style>", Glyphs.GetGlyphString(this.eventSystemLocator, "Interact")); active = true; } } } } } } this.glyphTMP.text = text; this.descriptionTMP.text = text2; this.contextDisplay.SetActive(active); }