/** * <summary>Performs all calculations necessary to display the element.</summary> * <param name = "_slot">Ignored by this subclass</param> * <param name = "languageNumber">The index number of the language to display text in</param> * <param name = "isActive">If True, then the element will be drawn as though highlighted</param> */ public override void PreDisplay(int _slot, int languageNumber, bool isActive) { isDefaultIcon = false; if (Application.isPlaying && KickStarter.stateHandler.gameState == GameState.Normal && KickStarter.settingsManager.interactionMethod == AC_InteractionMethod.ChooseInteractionThenHotspot && KickStarter.settingsManager.allowDefaultinteractions) { if (KickStarter.runtimeInventory.SelectedItem == null && KickStarter.playerInteraction.GetActiveHotspot() != null && KickStarter.playerInteraction.GetActiveHotspot().GetFirstUseIcon() == iconID) { isActive = true; isDefaultIcon = true; } } if (uiButton != null) { UpdateUISelectable(uiButton, uiSelectableHideStyle); if (displayType != AC_DisplayType.IconOnly && uiText != null) { uiText.text = label; } if (displayType == AC_DisplayType.IconOnly && uiImage != null && icon != null && icon.isAnimated) { uiImage.sprite = icon.GetAnimatedSprite(isActive); } if (KickStarter.settingsManager.SelectInteractionMethod() == SelectInteractions.CyclingMenuAndClickingHotspot && iconID == KickStarter.playerInteraction.GetActiveUseButtonIconID()) { // Select through script, not by mouse-over uiButton.Select(); } } }
public override void PreDisplay(int _slot, int languageNumber, bool isActive) { isDefaultIcon = false; if (fixedIcon) { if (Application.isPlaying && KickStarter.stateHandler.IsInGameplay() && KickStarter.settingsManager.interactionMethod == AC_InteractionMethod.ChooseInteractionThenHotspot) { if (KickStarter.settingsManager.allowDefaultinteractions && KickStarter.playerInteraction.GetActiveHotspot() != null && KickStarter.playerInteraction.GetActiveHotspot().GetFirstUseIcon() == iconID) { isActive = true; isDefaultIcon = true; } else if (KickStarter.settingsManager.allowDefaultInventoryInteractions && KickStarter.settingsManager.inventoryInteractions == InventoryInteractions.Multiple && KickStarter.settingsManager.CanSelectItems(false) && KickStarter.playerInteraction.GetActiveHotspot() == null && KickStarter.runtimeInventory.hoverItem != null && KickStarter.runtimeInventory.hoverItem.GetFirstStandardIcon() == iconID ) { isActive = true; isDefaultIcon = true; } } if (uiButton != null) { UpdateUISelectable(uiButton, uiSelectableHideStyle); if (displayType != AC_DisplayType.IconOnly && uiText != null) { uiText.text = labels[0]; } if (displayType == AC_DisplayType.IconOnly && uiImage != null && icon != null && icon.isAnimated) { uiImage.sprite = icon.GetAnimatedSprite(isActive); } if (KickStarter.settingsManager.SelectInteractionMethod() == SelectInteractions.CyclingMenuAndClickingHotspot && iconID == KickStarter.playerInteraction.GetActiveUseButtonIconID()) { // Select through script, not by mouse-over uiButton.Select(); } } } else { if (uiSlots != null && uiSlots.Length > _slot) { LimitUISlotVisibility(uiSlots, numSlots, uiSelectableHideStyle); CursorIcon cursorIcon = GetIconAtSlot(_slot); if (cursorIcon != null) { if (displayType == AC_DisplayType.IconOnly || displayType == AC_DisplayType.IconAndText) { uiSlots[_slot].SetImageAsSprite(cursorIcon.GetAnimatedSprite(isActive)); } if (displayType == AC_DisplayType.TextOnly || displayType == AC_DisplayType.IconAndText) { uiSlots[_slot].SetText(labels[_slot]); } } } } }