/// <summary> /// 刷新显示部分 /// </summary> public override void OnShowItemInUserInterface() { for (int ct = 0; ct < ButtonUis.Count; ct++) { DbClickBotton click = ButtonUis[ct]; UISprite sprite = click.transform.Find("icon").GetComponent <UISprite>(); if (ct >= ItemsInUserInterface.Count) { sprite.gameObject.SetActive(false); click.GetComponent <BoxCollider>().enabled = false; SetSelectSpriteVisiable(ct, false); continue; } int item = ItemsInUserInterface[ct]; if (item == 0 || !ConfigReader.ItemXmlInfoDict.ContainsKey(item)) { sprite.gameObject.SetActive(false); click.GetComponent <BoxCollider>().enabled = false; SetSelectSpriteVisiable(ct, false); continue; } click.GetComponent <BoxCollider>().enabled = true; sprite.gameObject.SetActive(true); sprite.spriteName = ConfigReader.ItemXmlInfoDict[item].sIcon; } }
/// <summary> /// 动态创建可滑动的预设 /// </summary> /// <param name="count"></param> /// <param name="head"></param> /// <param name="path"></param> protected void AutoCreateItems(int count, Transform head, string path) { for (int i = ButtonUis.Count - 1; i >= 0; i--) { GameObject.DestroyImmediate(ButtonUis.ElementAt(i).gameObject); } ButtonUis.Clear(); int index = count / 6; if (count % 6 != 0) { index += 1; } for (int i = 0; i < index * 6; i++) { ResourceItem objUnit = ResourcesManager.Instance.loadImmediate(path, ResourceType.PREFAB); GameObject obj = GameObject.Instantiate(objUnit.Asset) as GameObject; obj.name = obj.name + (i + 1).ToString(); obj.transform.parent = head; obj.transform.localScale = Vector3.one; //obj.transform.localPosition = Vector3.zero; DbClickBotton click = obj.GetComponent <DbClickBotton>(); click.AddListener(i, OnButtonClickFunc); click.AddListenerDb(i, OnButtolDbClickFunc); ButtonUis.Add(click); //click.transform.GetComponent<UIGrid>().Reposition() ; } UIGrid grid = head.GetComponentInChildren <UIGrid>(); grid.enabled = true; grid.repositionNow = true; grid.Reposition(); }
protected override void AddButtonListener(Transform head) { for (int ct = 0; ct < ComposeBtnCount; ct++) { int ctt = ct + 1; DbClickBotton click = head.Find("Button" + ctt.ToString()).GetComponent <DbClickBotton>(); click.AddListener(ct, OnButtonClickFunc); click.AddListenerDb(ct, OnButtolDbClickFunc); ButtonUis.Add(click); } }
/// <summary> /// 刷新显示部分 /// </summary> public override void OnShowItemInUserInterface() { for (int ct = 0; ct < ButtonUis.Count; ct++) { DbClickBotton click = ButtonUis[ct]; UISprite sprite = click.transform.Find("Item/icon").GetComponent <UISprite>(); UILabel price = click.transform.Find("Price/Label").GetComponent <UILabel>(); if (ct >= ItemsInUserInterface.Count) { //click.gameObject.SetActive(false); //click.GetComponent<BoxCollider>().enabled = false; DisableGameObjectSprites(click.gameObject); SetSelectSpriteVisiable(ct, false); continue; } int item = ItemsInUserInterface[ct]; if (!ConfigReader.ItemXmlInfoDict.ContainsKey(item)) { //click.gameObject.SetActive(false); //click.GetComponent<BoxCollider>().enabled = false; DisableGameObjectSprites(click.gameObject); SetSelectSpriteVisiable(ct, false); continue; } click.GetComponent <BoxCollider>().enabled = true; click.gameObject.SetActive(true); price.text = ConfigReader.ItemXmlInfoDict[item].n32CPCost.ToString(); sprite.gameObject.SetActive(true); sprite.spriteName = ConfigReader.ItemXmlInfoDict[item].sIcon; if (UIShop.isRecommendEquip && PlayerManager.Instance.LocalAccount.ObjType == ObPlayerOrPlayer.PlayerType) { Transform parentKind = click.gameObject.transform.Find("Recommend"); HeroConfigInfo info = ConfigReader.GetHeroInfo(PlayerManager.Instance.LocalPlayer.NpcGUIDType); //策划说,初级推荐装备,中级,高级都小于6个 int index = (info.HeroPreEquip.Count == 0) ? 0 : (info.HeroPreEquip.Count / 6 + 1) * 6; int index2 = (info.HeroMidEquip.Count == 0) ? 0 : (info.HeroMidEquip.Count / 6 + 1) * 6; if (info.HeroPreEquip.Contains(item) && ct < (info.HeroPreEquip.Count / 6 + 1) * 6) { parentKind.Find("Early").gameObject.SetActive(true); } else if (info.HeroMidEquip.Contains(item) && ct < (info.HeroMidEquip.Count / 6 + 1) * 6 + index) { parentKind.Find("Medium").gameObject.SetActive(true); } else if (info.HeroLatEquip.Contains(item) && ct < (info.HeroLatEquip.Count / 6 + 1) * 6 + index + index2) { parentKind.Find("Later").gameObject.SetActive(true); } } } }
void SetItemEnableByIndex(int index, bool enable) { if (index < 0 || index >= ButtonUis.Count) { return; } DbClickBotton click = ButtonUis.ElementAt(index); UISprite sprite = click.transform.Find("icon").GetComponent <UISprite>(); UILabel label = click.transform.Find("Label").GetComponent <UILabel>(); sprite.gameObject.SetActive(enable); label.gameObject.SetActive(enable); }
protected override void AddButtonListener(Transform head) { for (int ct = 0; ct < UserItemBtnCount; ct++) { int ctt = ct + 1; DbClickBotton click = head.Find("Item" + ctt.ToString()).GetComponent <DbClickBotton>(); click.AddListener(ct, OnButtonClickFunc); click.AddListenerDb(ct, OnButtolDbClickFunc); ButtonUis.Add(click); UIObjDragEvent drag = click.GetComponent <UIObjDragEvent>(); drag.ObjDragEvent += OnItemDragEvent; } }
private void DisableGameObjectSprites(GameObject obj) { UISprite[] sprites = obj.GetComponentsInChildren <UISprite>(); for (int i = 0; i < sprites.Length; i++) { sprites[i].gameObject.SetActive(false); } UILabel[] labels = obj.GetComponentsInChildren <UILabel>(); for (int i = 0; i < labels.Length; i++) { labels[i].gameObject.SetActive(false); } DbClickBotton dbClick = obj.GetComponent <DbClickBotton>(); if (dbClick != null) { dbClick.RemoveListener(OnButtonClickFunc); dbClick.RemoveListenerDb(OnButtolDbClickFunc); } obj.AddComponent <UIWidget>(); }
/// <summary> /// 刷新显示部分 /// </summary> public override void OnShowItemInUserInterface() { for (int ct = 0; ct < UserItemBtnCount; ct++) { int itemId = -1; DbClickBotton click = ButtonUis.ElementAt(ct); UISprite sprite = click.transform.Find("icon").GetComponent <UISprite>(); localPlayer.UserGameItems.TryGetValue(ct, out itemId); int count = 0; localPlayer.UserGameItemsCount.TryGetValue(ct, out count); UILabel label = click.transform.Find("Label").GetComponent <UILabel>(); if (count == 0 || !ConfigReader.ItemXmlInfoDict.ContainsKey(itemId)) { sprite.gameObject.SetActive(false); label.gameObject.SetActive(false); label.text = ""; click.GetComponent <UIObjDragEvent>().enabled = false; SetSelectSpriteVisiable(ct, false); continue; } click.GetComponent <UIObjDragEvent>().enabled = true; sprite.gameObject.SetActive(true); sprite.spriteName = ConfigReader.ItemXmlInfoDict[itemId].sIcon; if (ConfigReader.ItemXmlInfoDict[itemId].un8OverlapTimes >= 2 && count > 1) { label.gameObject.SetActive(true); label.text = count.ToString(); } else { label.gameObject.SetActive(false); label.text = ""; } } }