Exemplo n.º 1
0
    void AddGoodsToHead()
    {
        GameObject     goods   = new GameObject();
        SpriteRenderer _sprite = goods.AddComponent <SpriteRenderer>();

        ShopUI _shop = transform.Find("/goodBox").GetComponent <ShopUI>();

        CharBag.Goods[] goodslist = _shop.GetGoods();

        //如果货架上有商品,则添加道具到背包
        if (goodslist[selectgoods.slotID - 1].Name != null && goodslist[selectgoods.slotID - 1].ID != 0)
        {
            //移除道具
            _shop.BuyedGoods(selectgoods);
        }

        _sprite.sprite           = Materiral.GetMaterialIcon(selectgoods.goods.MateriralType, selectgoods.goods.ID);
        _sprite.sortingLayerName = "Character";

        //设定道具的为角色的子物件
        goods.transform.SetParent(this.transform, false);
        goods.transform.position = goodsVertor;

        //把物体移动到头上
        LeanTween.move(goods.gameObject, new Vector2(goodsVertor.x, goodsVertor.y + 0.5f), 0.5f);
    }
Exemplo n.º 2
0
    public void SetGoodsName(int MaterialType)
    {
        //创建物品列表
        for (int i = 0; i < _bagList.Count; i++)
        {
            CharBag.Goods _map = (CharBag.Goods)_bagList[i];

            //筛选物品,特殊物品不显示
            if (MaterialType != -1)
            {
                if (_map.MateriralType != MaterialType)
                {
                    continue;
                }
                if (_map.MateriralType == 2 && _map.Type == 0)
                {
                    continue;
                }
            }

            GameObject button = Instantiate(btn_menu);
            button.transform.SetParent(_fitter.transform, false);

            button.name = _map.ID.ToString();
            button.transform.Find("Text").GetComponent <Text>().text     = _map.Name;
            button.transform.Find("Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(_map.MateriralType, _map.ID);

            //显示数量
            button.transform.Find("num").gameObject.SetActive(true);
            button.transform.Find("num/Text").GetComponent <Text>().text = _map.Number.ToString();

            //显示价格
            button.transform.Find("PriceBoard").gameObject.SetActive(true);
            button.transform.Find("PriceBoard/Text").GetComponent <Text>().text = _map.Price.ToString();

            //设置参数容器中的参数
            Parameter.Box _p = new Parameter.Box();
            _p.obj = _map;

            //设置点击事件
            OnClickInScorll.Get(button.transform).parameter         = _p;
            OnClickInScorll.Get(button.transform).onHoldByParameter = ShowMateriralInfo;

            //添加背包进入筛选背包列表
            f_BagList.Add(_map);
        }

        //调整列表为置顶
        if (f_BagList.Count > 5)
        {
            setGird();
        }

        StartCoroutine(SetListToTop());
    }
Exemplo n.º 3
0
    void SetRecipeName()
    {
        for (int i = 0; i < recipeMap.ReicipeList.Count; i++)
        {
            GameObject button = Instantiate(recipeButton);
            button.transform.SetParent(_fitter.transform, false);

            Recipe.RecipeMap _map = (Recipe.RecipeMap)recipeMap.ReicipeList[i];

            button.name = _map.ID.ToString();
            button.transform.Find("Text").GetComponent <Text>().text = _map.Name;
            int _t = _map.Target[0].ToString() == "0" ? 0 : 1;
            int _i = int.Parse(_map.Target.Substring(_map.Target.IndexOf(",") + 1));

            button.transform.Find("Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(_t, _i);

            //设置点击事件
            //button.GetComponent<Button>().onClick.AddListener(OpenRecipe);
            OnClickInScorll.Get(button.transform).onClick = OpenRecipe;
        }
    }
Exemplo n.º 4
0
    void ShowMaterialIcon(CharBag.Goods goods, RectTransform rect)
    {
        //显示采集到的素材图标
        GameObject materiralicon = new GameObject();
        Image      sr            = materiralicon.AddComponent <Image>();

        sr.sprite = Materiral.GetMaterialIcon(goods.MateriralType, goods.ID);
        materiralicon.transform.position = rect.position;
        materiralicon.transform.SetParent(MateriralList.Find("ListBox"), false);
        materiralicon.transform.localScale = new Vector3(1, 1, 1);
        materiralicon.GetComponent <RectTransform>().sizeDelta = new Vector2(50, 50);

        //由路点落到list处
        RectTransform er = MateriralList.Find("ListBox").GetComponent <RectTransform>();

        LeanTween.moveLocal(materiralicon, new Vector3(er.localPosition.x, er.rect.height, 0), 1f);
        LeanTween.scale(materiralicon, new Vector3(0, 0, 0), 0.4f).setEase(LeanTweenType.easeInBack).setDestroyOnComplete(true).setOnComplete(() =>
        {
            StartCoroutine(ShowMateriralInList(goods));
        });
    }
Exemplo n.º 5
0
    //上架商品
    void ClickInBag(GameObject go, object parameter)
    {
        Parameter.Box p     = (Parameter.Box)parameter;
        CharBag.Goods goods = (CharBag.Goods)p.obj;

        //如果货架上有商品,则添加道具到背包
        if (goodslist[p.ID - 1].Name != null && goodslist[p.ID - 1].ID != 0)
        {
            CharBag.AddGoods(goodslist[p.ID - 1]);
        }

        //添加选中的商品到商品列
        goodslist[p.ID - 1] = goods;
        string path = p.ID.ToString() + "/itemIcon";

        transform.Find(path).GetComponent <SpriteRenderer>().sprite = Materiral.GetMaterialIcon(goods.MateriralType, goods.ID);

        //显示商品价格
        string priceiconpath = p.ID.ToString() + "/price/icon";
        string pricepath     = p.ID.ToString() + "/price/text";

        transform.Find(priceiconpath).gameObject.SetActive(true);
        transform.Find(pricepath).gameObject.SetActive(true);
        transform.Find(pricepath).GetComponent <TextMesh>().text = goods.Price.ToString();


        //移除背包中的商品
        CharBag.RemoveGoods(goods.UID);

        _bagInstance.CloseBagMenu(gameObject);
        ChangeRecipeUiState();

        PlayerData.ShopGoodsData.SaveShopGoods(goodslist);
        CharBag.SaveBagGoods();

        questManager.CheckQuestListWithGoods(QuestManager.QuestTypeList.PutGoods, goods, 0);

        //更新物品信息
        PlayerInfo.AddGoodsInfo(goods.MateriralType, goods.ID, PlayerInfo.GoodsInfoType.PutCount);
    }
Exemplo n.º 6
0
    //进入商店场景时显示上架的商品
    void InitShopGoods()
    {
#if _Debug
        Debug.Log("配置商店物品..");
#endif

        for (int i = 0; i < goodslist.Length; i++)
        {
            string priceiconpath = (i + 1).ToString() + "/price/icon";
            string pricepath     = (i + 1).ToString() + "/price/text";
            transform.Find(priceiconpath).gameObject.SetActive(false);
            transform.Find(pricepath).gameObject.SetActive(false);

            if (goodslist[i].Name != null && goodslist[i].ID != 0)
            {
                transform.Find(priceiconpath).gameObject.SetActive(true);
                transform.Find(pricepath).gameObject.SetActive(true);

                string path = (i + 1).ToString() + "/itemIcon";
                transform.Find(path).GetComponent <SpriteRenderer>().sprite = Materiral.GetMaterialIcon(goodslist[i].MateriralType, goodslist[i].ID);
            }
        }
    }
Exemplo n.º 7
0
    public void OpenItemInfo(CharBag.Goods good)
    {
        //名称
        goodsUIBase.nameText.text = good.Name;

        //图片icon
        goodsUIBase.goodsIMG.sprite = Materiral.GetMaterialIcon(good.MateriralType, good.ID);

        //物品类型
        if (good.MateriralType == 0)
        {
            goodsUIBase.MaterialtypeText.text = "类型:物品";
        }
        else if (good.MateriralType == 1)
        {
            goodsUIBase.MaterialtypeText.text = "类型:概念";
        }
        else
        {
            goodsUIBase.MaterialtypeText.text = "类型:未知";
        }

        //数量
        goodsUIBase.numText.text = "数量:" + good.Number.ToString();

        //品质
        goodsUIBase.qualityText.text = "品质:" + good.Quality.ToString();

        //价格
        goodsUIBase.priceText.text = "价格:" + good.Price.ToString();

        //物品效果
        if (good.MaterialEffet != 0)
        {
            Materiral.Effect _effect = Materiral.FindMaterialEffectByID(good.MaterialEffet);
            goodsUIBase.effect.text = _effect.Name;

            effect = _effect;
        }

        //物品属性
        if (good.Property != null)
        {
            for (int i = 0; i < good.Property.Length; i++)
            {
                if (good.Property[i] == 0)
                {
                    break;
                }

                Materiral.Property _p    = Materiral.GetProNameByProID(good.Property[i]);
                GameObject         p_obj = goodsUIBase.propertys[i];
                p_obj.SetActive(true);
                p_obj.transform.GetChild(0).GetComponent <Text>().text    = _p.Name;
                p_obj.transform.GetChild(1).GetComponent <Image>().sprite = Materiral.GetPropertyIcon(_p.ID);

                Propertys.Add(_p);
            }
        }

        //类型
        goodsUIBase.typeText.text = Materiral.FindTypeNameByID(good.Type).Name;

        string str = Materiral.GetDesByMaterialID(good.MateriralType, good.ID);

        //描述
        goodsUIBase.des.text = System.Text.RegularExpressions.Regex.Unescape(str);
    }
Exemplo n.º 8
0
    void SetRecipeNameInShop(object parameter)
    {
        Parameter.Box p = (Parameter.Box)parameter;
        //显示当前上架的物品
        if (p.obj != null)
        {
            CharBag.Goods currentGoods = (CharBag.Goods)p.obj;

            Image  _image  = shopGoods.transform.Find("Image").GetComponent <Image>();
            Text   _text   = shopGoods.transform.Find("Text").GetComponent <Text>();
            Button _button = shopGoods.transform.Find("Button").GetComponent <Button>();

            _text.text = "当前上架的商品:";
            _text.transform.localPosition = new Vector3(_text.transform.position.x, 50, _text.transform.position.z);
            _image.gameObject.SetActive(true);
            _image.sprite = Materiral.GetMaterialIcon(currentGoods.MateriralType, currentGoods.ID);
            EventTriggerListener.Get(_image.gameObject).parameter          = p;
            EventTriggerListener.Get(_image.gameObject).onClickByParameter = ShowMateriralInfo;

            _button.gameObject.SetActive(true);
            EventTriggerListener.Get(_button.gameObject).parameter          = p;
            EventTriggerListener.Get(_button.gameObject).onClickByParameter = p.callbackByEvent;
        }

        //创建物品列表
        for (int i = 0; i < _bagList.Count; i++)
        {
            CharBag.Goods _map = (CharBag.Goods)_bagList[i];

            //筛选物品,特殊物品不显示
            if (_map.MateriralType > 1)
            {
                continue;
            }

            GameObject button = Instantiate(btn_menu);
            button.transform.SetParent(_fitter.transform, false);

            button.name = _map.ID.ToString();
            button.transform.Find("Text").GetComponent <Text>().text     = _map.Name;
            button.transform.Find("Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(_map.MateriralType, _map.ID);

            //显示数量
            button.transform.Find("num").gameObject.SetActive(true);
            button.transform.Find("num/Text").GetComponent <Text>().text = _map.Number.ToString();

            //显示价格
            button.transform.Find("PriceBoard").gameObject.SetActive(true);
            button.transform.Find("PriceBoard/Text").GetComponent <Text>().text = _map.Price.ToString();

            //设置参数容器中的参数
            Parameter.Box _p = new Parameter.Box();
            _p.ID  = p.ID;
            _p.obj = _map;

            //设置点击事件
            OnClickInScorll.Get(button.transform).parameter          = _p;
            OnClickInScorll.Get(button.transform).onClickByParameter = p.callback;
            OnClickInScorll.Get(button.transform).onHoldByParameter  = ShowMateriralInfo;

            //添加背包进入筛选背包列表
            f_BagList.Add(_map);
        }

        //调整列表为置顶
        if (f_BagList.Count > 5)
        {
            setGird();
        }

        StartCoroutine(SetListToTop());
    }
Exemplo n.º 9
0
    //TODO:add type mode
    void SetRecipeNameFilter(object parameter)
    {
        Parameter.Box p    = (Parameter.Box)parameter;
        Recipe.Slot   slot = (Recipe.Slot)p.obj;
        Dictionary <int, RecipeUI.SlotBox> slotList = (Dictionary <int, RecipeUI.SlotBox>)p.subobj;

        for (int i = 0; i < _bagList.Count; i++)
        {
            CharBag.Goods _map  = new CharBag.Goods();
            CharBag.Goods m_map = (CharBag.Goods)_bagList[i];

            ////////筛选
            if (slot.SlotType == Recipe.SlotTypeList.Material)
            {
                //固定材料
                if (slot.MatType == 0 && slot.MatType == m_map.MateriralType)  //Item
                {
                    if (m_map.ID == slot.MatId)
                    {
                        _map = m_map;
                    }
                }
                else if (slot.MatType == 1 && slot.MatType == m_map.MateriralType)  //Mind
                {
                    if (m_map.ID == slot.MatId)
                    {
                        _map = m_map;
                    }
                }
            }
            else if (slot.SlotType == Recipe.SlotTypeList.MaterialType)
            {
                if (m_map.Type == slot.MatType)
                {
                    _map = m_map;
                }
            }

            //添加进入背包列表,并且创建按钮
            if (_map.Name != null)
            {
                //添加背包进入筛选背包列表
                f_BagList.Add(_map);

                //创建按钮
                GameObject button = Instantiate(btn_menu);
                button.transform.SetParent(_fitter.transform, false);

                button.name = _map.ID.ToString();
                button.transform.Find("Text").GetComponent <Text>().text     = _map.Name;
                button.transform.Find("Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(_map.MateriralType, _map.ID);

                //显示数量
                button.transform.Find("num").gameObject.SetActive(true);
                ;               button.transform.Find("num/Text").GetComponent <Text>().text = _map.Number.ToString();

                //设置参数容器中的参数
                Parameter.Box _p = new Parameter.Box();
                _p.ID  = p.ID;
                _p.obj = _map;

                //设置点击事件
                OnClickInScorll.Get(button.transform).parameter          = _p;
                OnClickInScorll.Get(button.transform).onClickByParameter = p.callback;
                OnClickInScorll.Get(button.transform).onHoldByParameter  = ShowMateriralInfo;


                //如果是已经的选中的则不能点击
                foreach (RecipeUI.SlotBox _slot in slotList.Values)
                {
                    if (_map.UID == _slot.slot.UID)
                    {
                        button.name = _map.ID.ToString();
                        button.transform.Find("Text").GetComponent <Text>().text = _map.Name + " <color=red>(E)</color>";
                        button.transform.GetComponent <Image>().color            = Color.gray;

                        OnClickInScorll.Get(button.transform).onClickByParameter = null;
                    }
                }
            }
        }
        //调整列表为置顶
        if (f_BagList.Count > 5)
        {
            setGird();
        }

        StartCoroutine(SetListToTop());
    }
Exemplo n.º 10
0
    public void OpenQuestBoard(int questID, float delyTime)
    {
        QuestManager.QuestBase quest = questManager.GetQuestInfoByID(questID);

        GameObject Board = Instantiate(QuestBoard);

        Board.name = quest.ID.ToString();
        Board.transform.SetParent(QuestCanvas.transform, false);

        //获取面板组件
        Image      iconImage        = Board.transform.Find("QuestBoard/icon").GetComponent <Image>();
        Text       questinfoText    = Board.transform.Find("QuestBoard/questinfo/Text").GetComponent <Text>();
        Text       CompleteinfoText = Board.transform.Find("QuestBoard/questinfo/CompleteText").GetComponent <Text>();
        Text       questnameText    = Board.transform.Find("QuestBoard/questName/questText").GetComponent <Text>();
        Slider     prograssBar      = Board.transform.Find("QuestBoard/questName/progress").GetComponent <Slider>();
        Text       prograssBarText  = Board.transform.Find("QuestBoard/questName/progress/progressText").GetComponent <Text>();
        GameObject closebutton      = Board.transform.Find("QuestBoard/Close").gameObject;
        Text       closebuttonText  = closebutton.transform.Find("Text").GetComponent <Text>();
        GameObject Mask             = Board.transform.Find("Mask").gameObject;
        GameObject questBoardBG     = closebutton.transform.parent.gameObject;
        //Award
        Text  awardGoldNum    = Board.transform.Find("QuestBoard/award/GoldNum").GetComponent <Text>();
        Text  awardExpNum     = Board.transform.Find("QuestBoard/award/ExpNum").GetComponent <Text>();
        Image AwardGoodsImage = Board.transform.Find("QuestBoard/award/Goods").GetComponent <Image>();
        Text  AwardGoodsNum   = Board.transform.Find("QuestBoard/award/GoodsNum").GetComponent <Text>();

        //更新参数
        iconImage.sprite       = Materiral.GetIconByName(quest.Bigicon);
        questinfoText.text     = TextParser.SpecialString(quest.des);
        questnameText.text     = quest.name;
        awardGoldNum.text      = "x" + quest.Award.Gold;
        awardExpNum.text       = "x" + quest.Award.Exp;
        AwardGoodsImage.sprite = Materiral.GetMaterialIcon(quest.Award.Goods[0], quest.Award.Goods[1]);
        AwardGoodsNum.text     = "x" + quest.Award.GoodsNum;

        prograssBar.value    = (float)questManager.GetQuestProgress(quest.ID) / quest.QuestComplete.Num;
        prograssBarText.text = questManager.GetQuestProgress(quest.ID) + "/" + quest.QuestComplete.Num;

        //设置按钮响应
        if (prograssBar.value >= 1)
        {
            if (PlayerInfo.GetNowscene() == quest.Award.TaskPoint)
            {
                //如果在任务地点则设置领取
                closebutton.GetComponent <Image>().color = Color.green;
                closebuttonText.text = "领取";
                EventTriggerListener.Get(closebutton).onClick = GetQuestAward;
            }
            else
            {
                //关闭按钮
                closebutton.GetComponent <Image>().color = Color.white;
                closebuttonText.text  = "关闭";
                CompleteinfoText.text = quest.completedes;
                EventTriggerListener.Get(closebutton).onClick = CloseQuestBoard;
            }
        }
        else
        {
            //关闭按钮
            closebutton.GetComponent <Image>().color = Color.white;
            closebuttonText.text = "关闭";
            EventTriggerListener.Get(closebutton).onClick = CloseQuestBoard;
        }

        questBoardBG.transform.localPosition = new Vector2(0, Screen.height / 2 + 200);
        LeanTween.moveLocalY(closebutton.transform.parent.gameObject, 300, 0.5f).setEaseOutBack().setDelay(delyTime);
    }
Exemplo n.º 11
0
    void StartCompose(GameObject go)
    {
        for (int i = 0; i < recipeSlotsList.transform.childCount; i++)
        {
            if (recipeSlotsList.transform.GetChild(i).gameObject.name == "Compose")
            {
                continue;
            }
            GameObject slot = recipeSlotsList.transform.GetChild(i).gameObject;
            slot.transform.Find("Bottom/Image").GetComponent <Image>().color = Color.white;
            slot.transform.Find("Bottom").GetComponent <Image>().enabled     = false;
            slot.transform.Find("Text").GetComponent <Text>().text           = "";
            slot.transform.Find("Count").gameObject.SetActive(false);
        }

        float actionTime = 3f;

        LeanTween.scale(btn_Compose.gameObject, new Vector3(0.1f, 0.1f, 0.1f), 0.1f).setEase(LeanTweenType.easeInBack).setOnComplete(
            () =>
        {
            btn_Compose.gameObject.SetActive(false);
        });

        ComposeMask.SetActive(true);
        Color c = recipeSlotsList.GetComponent <Image>().color;

        recipeSlotsList.GetComponent <Image>().color = new Color(c.r, c.g, c.b, 0);
        Color m = ComposeMask.GetComponent <Image>().color;

        //渐现效果
        LeanTween.value(ComposeMask.gameObject, c, new Color(m.r, m.g, m.b, 0.7f), actionTime * 0.1f).setOnUpdate(
            (Color col) =>
        {
            ComposeMask.GetComponent <Image>().color = col;
        }
            );
        LeanTween.value(recipeSlotsList.gameObject, c, new Color(c.r, c.g, c.b, 0), actionTime * 0.1f).setOnUpdate(
            (Color col) =>
        {
            recipeSlotsList.GetComponent <Image>().color = col;
        }
            );
        //上升效果
        LeanTween.moveY(recipeSlotsList.gameObject, Screen.height / 2, actionTime * 0.5f).setEase(LeanTweenType.easeOutQuad);
        //旋转效果
        LeanTween.rotateZ(recipeSlotsList.gameObject, 360 * 10, actionTime).setEase(LeanTweenType.easeInOutQuad);
        LeanTween.scale(recipeSlotsList.gameObject, new Vector3(1.3f, 1.3f, 1.3f), actionTime * 0.7f).setEase(LeanTweenType.easeOutQuad).setOnComplete(
            () =>
        {
            LeanTween.scale(recipeSlotsList.gameObject, new Vector3(0.1f, 0.1f, 0.1f), actionTime * 0.3f).setEase(LeanTweenType.easeInBack).setOnComplete(
                () =>
            {
                CharBag.Goods goods = CreateGoods();
                btn_startRecipe.gameObject.SetActive(true);
                btn_startRecipe.transform.Find("Text").GetComponent <Text>().text = "收取";
                recipeSlotsList.gameObject.SetActive(false);
                EventTriggerListener.Get(btn_startRecipe.gameObject).onClick = CloseRecipe;

                targetgoods = Instantiate(btn_recipeSlot);
                targetgoods.transform.SetParent(recipeUI.transform, false);
                targetgoods.transform.SetAsLastSibling();
                targetgoods.transform.position   = recipeSlotsList.transform.position;
                targetgoods.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
                LeanTween.scale(targetgoods, new Vector3(1.5f, 1.5f, 1.5f), 1f).setEase(LeanTweenType.easeOutBack);

                targetgoods.transform.Find("Text").GetComponent <Text>().text            = goods.Name;
                targetgoods.transform.Find("Bottom/Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(goods.MateriralType, goods.ID);

                GameObject _targetButton = targetgoods.transform.Find("Bottom/Image").gameObject;
                EventTriggerListener.Get(_targetButton).parameter          = goods;
                EventTriggerListener.Get(_targetButton).onClickByParameter = ShowMateriralInfo;
            });
        }
            );
    }
Exemplo n.º 12
0
    void InputMaterial(GameObject go, object parameter)
    {
        //如果已经放入则不能再放入
        if (InputBox.Contains(parameter))
        {
            return;
        }

        //判断状态
        if (ripeState != RecipeStat.WaitInput)
        {
            return;
        }

        //改变状态
        ChangeRecipeStat(RecipeStat.Compose);

        InputBox.Add(parameter);
        Parameter.Box pro         = (Parameter.Box)parameter;
        SlotBox       _slot       = (SlotBox)pro.obj;
        GameObject    _slotButton = _slot.button.transform.Find("Bottom/Image").gameObject;

        //合成槽效果
        _slotButton.GetComponent <Image>().color = Color.gray;
        GameObject count = _slot.button.transform.Find("Count").gameObject;

        count.SetActive(true);
        count.transform.GetChild(0).GetComponent <Text>().text = InputBox.Count.ToString();

        //飞向属性栏
        GameObject _btn = Instantiate(btn_recipeSlot);

        _btn.transform.Find("Text").GetComponent <Text>().text            = _slot.slot.Name;
        _btn.transform.Find("Bottom/Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(_slot.slot.MateriralType, _slot.slot.ID);
        _btn.transform.Find("Bottom").GetComponent <Image>().enabled      = false;
        _btn.transform.position   = _slot.button.transform.position;
        _btn.transform.localScale = _slot.button.transform.localScale;
        _btn.transform.SetParent(Plane.transform, false);

        Vector3       _movepos = new Vector3();
        Vector3       tmp      = GetPropertyPos(PropertyBox.Count + 1);
        RectTransform _box     = PropertyListGrid.GetComponent <RectTransform>();

        _movepos = new Vector3(tmp.x + _box.position.x, tmp.y + _box.position.y);

        float actionTime = 0.65f;

        LeanTween.move(_btn.gameObject, _movepos, actionTime).setEase(LeanTweenType.easeOutQuart);
        LeanTween.scale(_btn.gameObject, new Vector3(0.1f, 0.1f, 1), actionTime).setDestroyOnComplete(true);

        //属性栏UI效果
        if (_slot.slot.Property != null)
        {
            AddQualityUIEft(_slot);
            AddPropertyUIEft(_slot.slot);
            ComposeProperty();
        }
        else
        {
            AddQualityUIEft(_slot);
            ShowComposeButton();
            //改变状态
            ChangeRecipeStatByWait(RecipeStat.WaitInput, 0.5f);
            return;
        }
    }
Exemplo n.º 13
0
    void ClickInBag(GameObject go, object parameter)
    {
        Parameter.Box p     = (Parameter.Box)parameter;
        CharBag.Goods goods = (CharBag.Goods)p.obj;

    #if _Debug
        Debug.Log("ok!!" + "  Name:" + goods.Name + "  ID:" + p.ID);
    #endif

        SlotBox slotbox = new SlotBox();

        if (SlotList.ContainsKey(p.ID))
        {
            slotbox = SlotList[p.ID];
            slotbox.button.transform.Find("Text").GetComponent <Text>().text            = goods.Name;
            slotbox.button.transform.Find("Bottom/Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(goods.MateriralType, goods.ID);
            slotbox.button.transform.Find("Bottom/Image").GetComponent <Image>().color  = new Color(1, 1, 1, 1f);

            //把物品添加到合成系统的slotlist中
            slotbox.slot   = goods;
            SlotList[p.ID] = slotbox;

            //CloseBag
            _bagInstance.CloseBagMenu(gameObject);
        }
    }
Exemplo n.º 14
0
    IEnumerator ShowMateriralInList(CharBag.Goods goods)
    {
        yield return(null);

        float      listHeight = MateriralList.Find("ListBox").GetComponent <RectTransform>().rect.height;
        float      listWidth  = MateriralList.Find("ListBox").GetComponent <RectTransform>().rect.width;
        GameObject materiral  = Instantiate(bt_materiral);

        //获取materiral的颜色
        Color _color_image = materiral.GetComponent <Image>().color;
        Color _color_text  = materiral.transform.Find("Text").GetComponent <Text>().color;
        Color from         = new Color(0, 0, 0, 0);

        materiral.GetComponent <Image>().color = from;
        materiral.transform.Find("Text").GetComponent <Text>().color = from;

        //获取materiral的大小
        RectTransform rec_mat = bt_materiral.GetComponent <RectTransform>();

        //添加进入列表中
        materiral.transform.SetParent(MateriralList.Find("ListBox"), false);
        //materiral.transform.SetAsFirstSibling();

        //如果显示数目超过顶部,则对齐顶部
        if (MateriralList.Find("ListBox").transform.childCount *rec_mat.rect.height > listHeight)
        {
            GameObject materiallist = MateriralList.Find("ListBox").gameObject;
            LeanTween.moveLocalY(materiallist, MateriralList.Find("ListBox").transform.localPosition.y - rec_mat.rect.height, 0.15f);
        }


        float dis        = MateriralList.Find("ListBox").GetComponent <RectTransform>().rect.height / 2; //dis为中心点;抵消local的偏差,使用local0点为中心点
        float button_pos = -dis + (rec_mat.rect.height / 2) + (MateriralList.Find("ListBox").transform.childCount - 1) * rec_mat.rect.height;


        materiral.GetComponent <RectTransform>().localPosition = new Vector3(0, dis + button_pos);

        //由上落下的效果
        LeanTween.moveLocalY(materiral, button_pos, 0.5f).setEase(LeanTweenType.easeOutBounce);

        //渐现效果
        LeanTween.value(materiral, from, _color_image, 0.25f).setOnUpdate(
            (Color col) =>
        {
            materiral.GetComponent <Image>().color = col;
        }
            );
        LeanTween.value(materiral, from, _color_text, 0.25f).setOnUpdate(
            (Color col) =>
        {
            materiral.transform.Find("Text").GetComponent <Text>().color = col;
        }
            );

        //显示名称
        materiral.transform.Find("Text").GetComponent <Text>().text     = goods.Name;
        materiral.transform.Find("Image").GetComponent <Image>().sprite = Materiral.GetMaterialIcon(goods.MateriralType, goods.ID);

        EventTriggerListener.Get(materiral).parameter          = goods;
        EventTriggerListener.Get(materiral).onClickByParameter = ShowMateriralInfo;
    }