void OnClickRune(RuneItem rune) { if (is_sellmode == true) { int selected_node = m_selected_runes.FindIndex(r => r.Rune.RuneIdx == rune.Rune.RuneIdx); if (selected_node < 0) { rune.SetSelected(true); m_LabelTotalSellPrice.text = (int.Parse(m_LabelTotalSellPrice.text) + rune.Rune.Info.GradeInfo.SalePrice).ToString(); m_selected_runes.Add(rune); } else { m_selected_runes[selected_node].SetSelected(false); m_LabelTotalSellPrice.text = (int.Parse(m_LabelTotalSellPrice.text) - rune.Rune.Info.GradeInfo.SalePrice).ToString(); m_selected_runes.RemoveAt(selected_node); } } else { if (m_ToggleUpgrade.value == true) { if (rune.Rune.Info.Grade >= 6) { Tooltip.Instance.ShowMessageKey("RuneMaxGrade"); return; } int selected_node = m_selected_runes.FindIndex(r => r.Rune.RuneIdx == rune.Rune.RuneIdx); if (selected_node < 0) { if (rune.m_SpriteBlock.gameObject.activeSelf == true) { Tooltip.Instance.ShowMessageKey("RuneUpgradeTip"); return; } if (m_UpgradeRune.Rune == null) { m_UpgradeRune.RefreshUpgradeRune(rune.Rune, true); int upgrade_cost = rune.Rune.Info.GradeInfo.UpgradeCost; var event_info = EventHottimeManager.Instance.GetInfoByID("rune_upgrade_discount"); if (event_info != null) { upgrade_cost = (int)(upgrade_cost * event_info.Percent); } m_UpgradePriceLabel.text = upgrade_cost.ToString(); m_Runes.ForEach(item => item.SetBlockSprite(item.Rune.Info.Grade != rune.Rune.Info.Grade)); } foreach (RuneItem item in m_UpgradeMaterials) { if (item.Rune == null) { item.Init(rune.Rune, false, OnDeselectMaterial); rune.SetSelected(true); m_selected_runes.Add(rune); return; } } Tooltip.Instance.ShowMessageKey("RuneUpgradeFull"); } else { OnDeselectMaterial(rune); } } else { InitPopupRune(rune.Rune); } ReloadBlockCheckRunes(); } }