private void OnTooltip(GameObject obj, bool isPress) { UIItemTooltip tooltip = AchievementManager.instance.GetAchieveWindow.GetItemTooptip; tooltip.OnOffTooltip(isPress); if (isPress) { SoundManager.instance.PlayAudioClip("UI_Click"); tooltip.UpdateTooltip(m_itemIndex, obj.transform); } }
/// <summary> /// Skip SetStat if stat is 0 /// </summary> public static bool Prefix( UIItemTooltip __instance, MethodInfo __originalMethod, LocalizedTextBind statLocalization, bool secondObject, object statValue, object statCompareValue = null, UnityEngine.Sprite statIcon = null ) { float svFloat,scvFloat; string svType, scvType = ""; string svString = statValue as string ?? "null" ; string scvString = statCompareValue as string ?? "null"; string zeroPercent = Base.UI.UIUtil.PercentageStat(0f, __instance.PercentageString.Localize(null)); try { svFloat = (float)statValue; } catch (InvalidCastException) { svFloat = 12.34f; } try { scvFloat = (float)statValue; } catch (InvalidCastException) { scvFloat = 12.34f; } try { svType = statValue.GetType().ToString(); } catch (NullReferenceException) { svType = "NULL"; } try { scvType = statCompareValue.GetType().ToString(); } catch (NullReferenceException) { scvType = "NULL"; } bool svSkip = svString == "0" || svString == zeroPercent || svFloat == 0f; bool scvSkip = scvString == "0" || scvString == zeroPercent || scvFloat == 0f; #if DEBUG BasicUtil.Log($"Injected into {__instance.GetType()}.{__originalMethod.Name}()", MyMod.storedAPI); BasicUtil.Log($" {statLocalization.Localize()} [2nd: {secondObject}]", MyMod.storedAPI); BasicUtil.Log($" SV: {statValue ?? 0,4} [{svType}]", MyMod.storedAPI); BasicUtil.Log($" CV: {statCompareValue ?? 0,4} [{scvType}]", MyMod.storedAPI); BasicUtil.Log($" SVSkip: {svSkip}", MyMod.storedAPI); BasicUtil.Log($" CVSkip: {scvSkip}", MyMod.storedAPI); #endif return !(scvSkip && svSkip) || MyMod.Config.show_zeros; }
void Awake() { m_transform = transform; m_window = m_transform.FindChild("Anchor_Center/Window"); #region Button m_window.FindChild("CloseButton").GetComponent <UIEventListener>().onClick = OnClose; m_window.FindChild("HelpButton").GetComponent <UIEventListener>().onClick = OnHelp; #endregion #region Tab SelectTab selectTab = new SelectTab(OnSelectTab); m_tabGroup = new UITab[(int)ACHIEVE_TAB_TYPE.TYPE_END]; string[] tabPathArray = { "Tab_Group/Daily_Tab", "Tab_Group/Progress_Tab", "Tab_Group/Complete_Tab" }; for (int i = 0; i < tabPathArray.Length; i++) { m_tabGroup[i] = new UITab(m_window.FindChild(tabPathArray[i]).gameObject, (ACHIEVE_TAB_TYPE)i, selectTab); } #endregion #region Scroll m_scrollPanel = m_window.FindChild("ScrollWindow/ScrollView").GetComponent <UIPanel>(); m_scrollView = m_scrollPanel.GetComponent <UIScrollView>(); m_scrollGrid = m_scrollPanel.transform.FindChild("Grid"); m_scrollBar = m_window.FindChild("ScrollWindow/ScrollBar").GetComponent <UIScrollBar>(); m_emptyView = m_window.FindChild("ScrollWindow/EmptyView").gameObject; InitItem(); #endregion #region Object GameObject tooltipObj = Instantiate(AssetBundleEx.Load <GameObject>("[Prefabs]/[Gui]/UIItemTooltip")) as GameObject; tooltipObj.transform.parent = m_window; tooltipObj.transform.localPosition = Vector3.zero; tooltipObj.transform.localScale = Vector3.one; m_uiItemTooltip = tooltipObj.GetComponent <UIItemTooltip>(); #endregion }