Ejemplo n.º 1
0
    /// <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;
        }
    }
Ejemplo n.º 2
0
    /// <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();
    }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
    /// <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);
                }
            }
        }
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
    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;
        }
    }
Ejemplo n.º 7
0
    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>();
    }
Ejemplo n.º 8
0
    /// <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 = "";
            }
        }
    }