Пример #1
0
    private void Awake()
    {
        titleSreenUI.gameObject.SetActive(true);
        titleSreenUI.alpha = 0;

        gameLogoSprite.sprite2D = fmc.game.Settings.gameLogo;
        gameLogoSprite.MakePixelPerfect();
        gameLogoSprite.keepAspectRatio = UIWidget.AspectRatioSource.BasedOnWidth;
        Transform bottomAnchorTarget = gameLogoSprite.bottomAnchor.target;

        gameLogoSprite.SetAnchor(gameLogoSprite.leftAnchor.target.gameObject, 5, 5, -5, -5);
        gameLogoSprite.bottomAnchor.target   = bottomAnchorTarget;
        gameLogoSprite.bottomAnchor.absolute = -5;
        gameLogoSprite.ResetAndUpdateAnchors();


        gdprButton.onClick.Add(new EventDelegate(ShowGDPRPrompt));
        playButton.onClick.Add(new EventDelegate(OnPlayButtonPressed));
        allScreenButton.onClick.Add(new EventDelegate(OnPlayButtonPressed));

        gameUI.gameObject.SetActive(true);
        gameUI.alpha       = 0;
        tutorialLabel.text = fmc.game.Settings.tutorialMessage;

        gameOverUI.gameObject.SetActive(true);
        gameOverUI.alpha = 0;
        gameOverSecondChanceUI.gameObject.SetActive(false);
        newBestScoreLabel.gameObject.SetActive(false);

        allScreenButton.gameObject.SetActive(false);

        fmc.ads.LoadInterstitial();

        hasLost = false;
    }
Пример #2
0
    private void ImageSet(NewImageEffect effect, bool isSprite, bool isAlpha, bool isPos)
    {
        //决定操作对象
        UI2DSprite ui = bgSprite;

        if (effect.target == NewImageEffect.ImageType.Fore)
        {
            ui = GetSpriteByDepth(effect.depth);
        }
        ui.shader = Shader.Find("Unity/Transparent Colored");
        if (isSprite)
        {
            ui.sprite2D = LoadBackground(effect.state.spriteName);
            if (effect.target == NewImageEffect.ImageType.Fore)
            {
                ui.sprite2D = LoadCharacter(effect.state.spriteName);
                ui.MakePixelPerfect();
            }
        }
        if (isAlpha)
        {
            ui.alpha = effect.state.spriteAlpha;
        }
        if (isPos)
        {
            ui.transform.localPosition = string.IsNullOrEmpty(effect.defaultpos) ? effect.state.GetPosition() : SetDefaultPos(ui, effect.defaultpos);
        }
    }
Пример #3
0
 void ChangeSprite()
 {
     _NowFrame++;
     if (_NowFrame >= _Sprites.Length)
     {
         _NowFrame = 0;
         if (!_Loop && _OnePlayEffect)
         {
             if (_ObjectPooler)
             {
                 gameObject.SetActive(false);
             }
             else
             {
                 Destroy(gameObject);
             }
         }
         if (!_Loop)
         {
             _Play = false;
         }
     }
     if (_Play)
     {
         _MySprite.sprite2D = _Sprites[_NowFrame];
     }
     if (_Snap)
     {
         _MySprite.MakePixelPerfect();
     }
 }
Пример #4
0
        /* 采用了krkr的图像处理方式
         * Depth为图像的唯一编号
         * 表示了深度,数字越大越靠前
         */
        public static ImageEffect SetSpriteByDepth(int depth, Sprite sprite)
        {
            UI2DSprite ui = null;

            if (charaPanel.transform.Find("sprite" + depth) != null)
            {
                ui = charaPanel.transform.Find("sprite" + depth).GetComponent <UI2DSprite>();
            }
            else
            {
                GameObject go = Resources.Load("Prefab/Character") as GameObject;
                go = NGUITools.AddChild(charaPanel, go);
                go.transform.name = "sprite" + depth;
                ui = go.GetComponent <UI2DSprite>();
            }
            EffectBuilder builder = new EffectBuilder();
            ImageEffect   e       = builder.UI(ui)
                                    .TotalTime(0)
                                    .Init(() =>
            {
                ui.alpha    = 0;
                ui.depth    = depth;
                ui.sprite2D = sprite;
                ui.MakePixelPerfect();
            })
                                    .AnimateUpdate((aim, totaltime, nowtime) => { }).Get();

            return(e);
        }
Пример #5
0
        UI2DSprite AddSprite(Transform spritesContainer, Sprite letterSprite, int horDock, int spriteIndex)
        {
            GameObject letterObject = null;
            UI2DSprite uiSprite     = null;

            if (spriteIndex < spritesContainer.childCount)
            {
                letterObject = spritesContainer.GetChild(spriteIndex).gameObject;
                uiSprite     = letterObject.GetComponent <UI2DSprite>();
            }
            else
            {
                letterObject      = NGUITools.AddChild(spritesContainer.gameObject);
                letterObject.name = "Letter";
                uiSprite          = letterObject.AddComponent <UI2DSprite>();
            }

            uiSprite.sprite2D   = letterSprite;
            uiSprite.color      = fontColor;
            uiSprite.onPostFill = OnGradientSetColor;
            uiSprite.MakePixelPerfect();
            uiSprite.depth  = depth;
            uiSprite.shader = uiSprite.shader;
            letterObject.transform.localPosition = new Vector3(horDock + uiSprite.width / 2, spriteIndex * veticalPadding, 0);
            return(uiSprite);
        }
Пример #6
0
    static void ReplaceTo2DSprite()
    {
        // 取得所有選取對象.
        Object[] SelectedAsset = Selection.GetFiltered(typeof(Object), SelectionMode.Unfiltered);

        //遍历所有的游戏对象
        foreach (Object obj in SelectedAsset)
        {
            GameObject pGObj = (GameObject)obj;

            SpriteRenderer[] pRenderer = pGObj.GetComponentsInChildren <SpriteRenderer>();

            foreach (SpriteRenderer pRender in pRenderer)
            {
                pRender.gameObject.transform.localScale = Vector3.one;
                UI2DSprite pSprite = pRender.gameObject.AddComponent <UI2DSprite>();
                pSprite.sprite2D = pRender.sprite;
                pSprite.depth    = pRender.sortingOrder;
                pSprite.color    = pRender.color;
                pSprite.MakePixelPerfect();
            }
        }
        //刷新编辑器
        AssetDatabase.Refresh();
    }
Пример #7
0
	/// <summary>
	/// Convenience function that changes the sprite.
	/// </summary>

	protected void SetSprite (UnityEngine.Sprite sp)
	{
		if (sp != null && mSprite2D != null && mSprite2D.sprite2D != sp)
		{
			mSprite2D.sprite2D = sp;
			if (pixelSnap) mSprite2D.MakePixelPerfect();
		}
	}
Пример #8
0
    public void EvidenceInfoFresh(Evidence evi)
    {
        //提供给证据按钮的点击事件调用
        evidenceImage.sprite2D = Resources.Load <Sprite>(evi.imagePath);
        evidenceImage.MakePixelPerfect();

        introductionText.text = evi.introduction;
    }
Пример #9
0
    public static void ChangeUI2DSpriteFromFile(UI2DSprite uiSpr, string texname)
    {
        Texture2D texture2D = NGUIUtil.LoadTexture(texname);
        Rect      rect      = new Rect(0f, 0f, (float)texture2D.width, (float)texture2D.height);
        Vector2   pivot     = new Vector2(0f, 0f);

        uiSpr.sprite2D = Sprite.Create(texture2D, rect, pivot, 1f);
        uiSpr.MakePixelPerfect();
    }
Пример #10
0
 private void Start()
 {
     if (fmc.game.Settings.companyLogo)
     {
         companySprite.MakePixelPerfect();
         companySprite.keepAspectRatio = UIWidget.AspectRatioSource.BasedOnWidth;
         companySprite.SetAnchor(companySprite.leftAnchor.target.gameObject, 20, 0, -20, 0);
         companySprite.UpdateAnchors();
     }
 }
Пример #11
0
 // Update is called once per frame
 void Update()
 {
     TextureShow.sprite2D = SpriteShow.sprite;
     TextureShow.color    = SpriteShow.color;
     if (NowSprite != TextureShow.sprite2D)
     {
         TextureShow.MakePixelPerfect();
         NowSprite = TextureShow.sprite2D;
     }
 }
Пример #12
0
 static public int MakePixelPerfect(IntPtr l)
 {
     try {
         UI2DSprite self = (UI2DSprite)checkSelf(l);
         self.MakePixelPerfect();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
Пример #13
0
 static int MakePixelPerfect(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 1);
         UI2DSprite obj = (UI2DSprite)ToLua.CheckObject <UI2DSprite>(L, 1);
         obj.MakePixelPerfect();
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
Пример #14
0
    // ------------------------------------------------------------------
    static public UI2DSprite ChangeTo2DSprite(SpriteRenderer pRender)
    {
        pRender.gameObject.transform.localScale = Vector3.one;
        UI2DSprite pSprite = pRender.gameObject.AddComponent <UI2DSprite>();

        pSprite.sprite2D = pRender.sprite;
        pSprite.depth    = pRender.sortingOrder;
        pSprite.color    = pRender.color;
        pSprite.MakePixelPerfect();

        Destroy(pRender);

        return(pSprite);
    }
Пример #15
0
 // Update is called once per frame
 void Update()
 {
     if (transform.localScale != Vector3.one * 100)
     {
         transform.localScale = Vector3.one * 100;
     }
     if (NowSprite != TextureShow.sprite2D)
     {
         NowSprite            = TextureShow.sprite2D;
         TextureShow.sprite2D = SpriteShow.sprite;
         TextureShow.color    = SpriteShow.color;
         TextureShow.MakePixelPerfect();
     }
 }
Пример #16
0
    private IEnumerator DetectMoving(Sprite nextSprite, Sprite nextChara = null, float time = 0.2f)
    {
        //当前背景与前景一起淡出
        float t = 1;

        while (t > 0)
        {
            t = Mathf.MoveTowards(t, 0, 1 / time * Time.deltaTime);
            if (nextSprite != null)
            {
                bgSprite.alpha = t;
            }
            fgPanel.alpha = t;
            yield return(null);
        }
        //预处理
        if (nextSprite != null)
        {
            bgSprite.sprite2D = nextSprite;
        }
        fgPanel.transform.DestroyChildren();
        if (nextChara != null)
        {
            UI2DSprite sp = GetSpriteByDepth(0);
            sp.sprite2D = nextChara;
            sp.MakePixelPerfect();
            sp.transform.localPosition = SetDefaultPos(sp, "middle");
        }
        //背景的再次显示
        while (t < 1)
        {
            t = Mathf.MoveTowards(t, 1, 1 / time * Time.deltaTime);
            if (nextSprite != null)
            {
                bgSprite.alpha = t;
            }
            fgPanel.alpha = t;
            yield return(null);
        }
        //前景的再次显示
        //t = 0;
        //while (t < 1)
        //{
        //    t = Mathf.MoveTowards(t, 1, 1 / time * Time.deltaTime);
        //    fgPanel.alpha = t;
        //    yield return null;
        //}
    }
Пример #17
0
    void OnClickFacebookLoginBtn(GameObject sender)
    {
        NativeManager.Instance.FaceBookLogin(() =>
        {
            NativeManager.Instance.GetUserFirstName((userName) =>
            {
                MessageLbl.text = userName;
            });

            NativeManager.Instance.GetProfile((sprite) =>
            {
                Profile.gameObject.SetActive(true);
                Profile.sprite2D = sprite;
                Profile.MakePixelPerfect();
            });
        });
    }
Пример #18
0
    /// <summary>
    /// 渐变预处理
    /// </summary>
    /// <param name="effect"></param>
    /// <param name="callback"></param>
    private IEnumerator PreTransByDepth(NewImageEffect effect, Action callback)
    {
        //向TransList添加层数
        transList.Add(effect.depth, effect);
        UI2DSprite originSprite = GetSpriteByDepth(effect.depth);
        UI2DSprite transSprite  = GetTransByDepth(effect.depth);

        //复制本体给Trans层
        transSprite.sprite2D = originSprite.sprite2D;
        if (effect.depth != -1)
        {
            transSprite.MakePixelPerfect();
        }
        transSprite.alpha = originSprite.alpha;
        transSprite.depth = originSprite.depth + 1;
        yield return(null);

        //更换本体层内容
        originSprite.alpha = 0;
        if (effect.depth != -1)
        {
            originSprite.sprite2D = LoadCharacter(effect.state.spriteName);
            originSprite.MakePixelPerfect();
        }
        else
        {
            originSprite.sprite2D = LoadBackground(effect.state.spriteName);
        }
        if (!string.IsNullOrEmpty(effect.defaultpos))
        {
            originSprite.transform.localPosition = SetDefaultPos(originSprite, effect.defaultpos);
        }
        else
        {
            originSprite.transform.localPosition = effect.state.GetPosition();
        }
        callback();
    }
Пример #19
0
 /// <summary>
 /// 设置头像
 /// </summary>
 /// <param name="str"></param>
 private void SetAvatar(string str)
 {
     if (str == string.Empty)
     {
         avatarSprite.sprite2D = null;
     }
     else
     {
         avatarSprite.sprite2D = Resources.Load <Sprite>("Character/" + str);
         if (str.Contains("Icon"))
         {
             avatarSprite.width  = 150;
             avatarSprite.height = 150;
         }
         else
         {
             avatarSprite.MakePixelPerfect();
         }
         //顶边中心靠上
         float h = avatarSprite.height;
         avatarSprite.transform.localPosition = new Vector3(0, -h / 2 + 140);
     }
 }
    void LoadCharacterSprite(int index)
    {
        var spr = Resources.Load <Sprite>(string.Format("Character/character_{0:00}", index + 1));

        m_characterSpr.sprite2D = spr;

        //이미지 크기를 원래 크기로 맞춰주는것. 즉 snap
        m_characterSpr.MakePixelPerfect();
        m_characterSpr.transform.localPosition = m_charSprPos[index];

        m_className.text         = m_classNameList[index];
        m_charName.text          = m_charNameList[index];
        m_charIconSpr.spriteName = string.Format("select_character_{0:00}", index + 1);

        m_charSprTween.from = m_characterSpr.transform.localPosition;
        m_charSprTween.to   = m_charSprTween.from + Vector3.down * 20;
        m_charSprTween.ResetToBeginning();
        m_charSprTween.PlayForward();

        m_gemOwned.text = "보유     : [00FF00]" + PlayerDataManager.Instance.GetGem() + "[-]";

        RefreshInfo(index);
    }
Пример #21
0
 public static ImageEffect ChangeByDepth(int depth, Sprite sprite)
 {
     if (charaPanel.transform.Find("sprite" + depth) == null)
     {
         return(null);
     }
     else
     {
         EffectBuilder builder = new EffectBuilder();
         UI2DSprite    ui      = charaPanel.transform.Find("sprite" + depth).GetComponent <UI2DSprite>();
         ImageEffect   e       = builder.UI(ui)
                                 .TotalTime(0)
                                 .Init(() =>
         {
             ui.sprite2D = sprite;
             ui.MakePixelPerfect();
         })
                                 .AnimateUpdate((aim, totaltime, nowtime) => { })
                                 .Finish(() => { })
                                 .Get();
         return(e);
     }
 }
Пример #22
0
    void GetCurCharInfo()
    {
        if (m_menu[(int)eLobbyMenuType.Character].m_type == eLobbyMenuType.Character)
        {
            LobbyMenu_Character menu = m_menu[(int)eLobbyMenuType.Character].gObj.GetComponent <LobbyMenu_Character>();
            var spr = menu.GetCharSprite();
            var pos = menu.GetCharSprPosition(PlayerDataManager.Instance.GetCurHero() - 1);

            //로비의 캐릭터 이미지를 현재 선택된 것으로 변경
            m_charSpr.sprite2D = spr;
            m_charSpr.MakePixelPerfect();
            m_charSpr.transform.localPosition = pos + Vector3.up * 80f;

            //캐릭터 아이콘도 변경
            m_charIconSpr.spriteName = string.Format("select_character_{0:00}", PlayerDataManager.Instance.GetCurHero());

            //각 캐릭터의 이미지마다 Tween 포지션이 다르므로 각자의 포지션으로 변경 후 시작시켜줌.
            m_charTween.from = m_charSpr.transform.localPosition;
            m_charTween.to   = m_charTween.from + Vector3.down * 20f;
            m_charTween.ResetToBeginning();
            m_charTween.PlayForward();
        }
    }
Пример #23
0
    private void Awake()
    {
        UIEventListener.Get(GoogleLoginBtn).onClick = (sender) =>
        {
            if (!NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleLogin();
            }
        };

        UIEventListener.Get(GoogleLogoutBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleLogout();
            }
        };

        UIEventListener.Get(GoogleImageBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                MessageLbl.text = NativeManager.Instance.GetGoogleId();

                Profile.sprite2D = NativeManager.Instance.GetGoogleImage();
                Profile.MakePixelPerfect();
            }
        };

        UIEventListener.Get(GoogleShowAchievementBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleShowAchievement();
            }
        };

        UIEventListener.Get(GoogleUseAchievementBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleUseAchievement(100f, (result) =>
                {
                    MessageLbl.text = result;
                });
            }
        };

        UIEventListener.Get(GoogleShowLeaderBoardBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleShowLeaderBoard();
            }
        };

        UIEventListener.Get(GoogleUseLeaderBoardBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                NativeManager.Instance.GoogleUseLeaderBoard((long)Random.Range(1, 100000), (result) =>
                {
                    MessageLbl.text = result;
                });
            }
        };

        UIEventListener.Get(GoogleGetLeaderBoardScoreBtn).onClick = (sender) =>
        {
            if (NativeManager.Instance.IsGoogleLogin)
            {
                MessageLbl.text = "";
                NativeManager.Instance.GoogleGetLeaderBoardScore(result =>
                {
                    UnityEngine.SocialPlatforms.IScore[] scoreArray = result;
                    MessageLbl.text = scoreArray.Length.ToString() + "개 데이터 있음";
                    if (scoreArray.Length > 0)
                    {
                        for (int i = 0; i < scoreArray.Length; ++i)
                        {
                            MessageLbl.text += string.Format("User Id : {0}, Value : {1}, Rank : {2}\n\n", scoreArray[i].userID, scoreArray[i].value, scoreArray[i].rank);
                        }
                    }
                });
            }
        };

        UIEventListener.Get(FaceBookLoginBtn).onClick = (sender) =>
        {
            Debug.Log("FACEBOOK LOGIN...");

            FaceBookLogin();
        };

        UIEventListener.Get(FaceBookLogoutBtn).onClick = (sender) =>
        {
            Debug.Log("FACEBOOK LOGOUT...");

            FaceBookLogout();
        };

        UIEventListener.Get(FaceBookTestBtn).onClick = (sender) =>
        {
            MessageLbl.text = "FACEBOOK TEST BTN";

            SetScores();
        };

        UIEventListener.Get(FaceBookShowTestBtn).onClick = (sender) =>
        {
            MessageLbl.text = "FACEBOOK SHOW TEST BTN";

            QueryScores();
        };
    }
    void LoadInventoryInfo()
    {
        m_charMenu = m_charMenu.gObj.GetComponent <LobbyMenu_Character>();
        var spr = m_charMenu.GetCharSprite();
        var pos = m_charMenu.GetCharSprPosition(PlayerDataManager.Instance.GetCurHero() - 1);

        //로비의 캐릭터 이미지를 현재 선택된 것으로 변경
        m_charSpr.sprite2D = spr;
        m_charSpr.MakePixelPerfect();
        m_charSpr.transform.localPosition = pos + Vector3.up * 400f;

        m_charTween.from = m_charSpr.transform.localPosition;
        m_charTween.to   = m_charTween.from + Vector3.down * 20f;
        m_charTween.ResetToBeginning();
        m_charTween.PlayForward();


        for (int i = 0; i < PlayerDataManager.Instance.GetEquipmentsNums(); i++)
        {
            if (PlayerDataManager.Instance.IsOwnedItem(i))
            {
                string target = string.Format("Equipment/Equipment_{0:00}", i + 1);

                if (!m_itemDict.ContainsKey(target))
                {
                    GameObject equips = Resources.Load <GameObject>(target);

                    var  equip = Instantiate(equips) as GameObject;
                    Item item  = equip.GetComponent <Item>();

                    m_itemDict.Add(target, item);

                    equip.transform.SetParent(m_uiGrid.transform);
                    equip.transform.localPosition = Vector3.zero;
                    equip.transform.localScale    = Vector3.one;

                    //장착되어있던 장비들 처리.
                    if (PlayerDataManager.Instance.IsEquippedItem(item.m_class, (int)item.m_type))
                    {
                        switch (item.m_class)
                        {
                        case Item.eItemClass.Weapon:
                            m_equipItems[0].spriteName = item.m_icon.spriteName;
                            break;

                        case Item.eItemClass.Armor:
                            m_equipItems[1].spriteName = item.m_icon.spriteName;
                            break;

                        case Item.eItemClass.Acc:
                            m_equipItems[2].spriteName = item.m_icon.spriteName;
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }

        m_uiGrid.Reposition(); //다시 자식들을 정렬하게함.
    }
Пример #25
0
    public void RunEffect(NewImageEffect effect, Action callback)
    {
        //决定操作对象
        UI2DSprite ui     = bgSprite;
        bool       isback = true;

        switch (effect.target)
        {
        case NewImageEffect.ImageType.Back:
            ui = bgSprite;
            break;

        case NewImageEffect.ImageType.Fore:
            ui     = GetSpriteByDepth(effect.depth);
            isback = false;
            break;

        default:
            break;
        }
        //操作模式
        switch (effect.operate)
        {
        case NewImageEffect.OperateMode.SetSprite:
            ui.sprite2D = isback ? LoadBackground(effect.state.spriteName) : LoadCharacter(effect.state.spriteName);
            if (!isback)
            {
                ui.MakePixelPerfect();
            }
            callback();
            break;

        case NewImageEffect.OperateMode.SetAlpha:
            ui.alpha = effect.state.spriteAlpha;
            callback();
            break;

        case NewImageEffect.OperateMode.SetPos:
            if (!string.IsNullOrEmpty(effect.defaultpos))
            {
                SetDefaultPos(ui, effect.defaultpos);
            }
            else
            {
                ui.transform.localPosition = effect.state.GetPosition();
            }
            callback();
            break;

        case NewImageEffect.OperateMode.Fade:
            if (effect.target == NewImageEffect.ImageType.All)
            {
                StartCoroutine(FadeAll(effect, callback, true, true));
            }
            else if (effect.target == NewImageEffect.ImageType.AllChara)
            {
                StartCoroutine(FadeAll(effect, callback, false, false));
            }
            else if (effect.target == NewImageEffect.ImageType.AllPic)
            {
                StartCoroutine(FadeAll(effect, callback, true, false));
            }
            else
            {
                StartCoroutine(Fade(ui, effect, callback));
            }
            break;

        case NewImageEffect.OperateMode.Move:
            StartCoroutine(Move(ui, effect, callback));
            break;

        case NewImageEffect.OperateMode.Remove:
            break;
        }
    }
    private static void ProcessCurrencyLabel(GameObject prefabInstance)
    {
        MoneyIcon[] currencys = prefabInstance.GetComponentsInChildren <MoneyIcon>();
        Transform   pa        = currencys[0].transform.parent.parent;
        Transform   tempBG    = null;
        Transform   tempBtn   = null;
        Transform   tempLabel = null;
        Transform   tempList  = null;

        for (int i = 0; i < pa.childCount; i++)
        {
            Transform temp = pa.GetChild(i);
            if (temp == null)
            {
                continue;
            }
            if (temp.name.Contains("bg"))
            {
                tempBG = temp;
                continue;
            }

            if (temp.name.Contains("Return") || temp.name.Contains("btn") || temp.GetComponent <BoxCollider2D>() != null)
            {
                tempBtn = temp;
                continue;
            }

            if (temp.GetComponent <UILabel>() != null)
            {
                tempLabel = temp;
                continue;
            }

            if (temp.name.Contains("list"))
            {
                tempList = temp;
                continue;
            }
            temp.gameObject.SetActive(false);
        }

        if (tempLabel == null || tempBG == null || tempBtn == null || tempList == null)
        {
            Debug.LogErrorFormat("{0} label:{1}  BG:{2}  Btn:{3} list:{4}", prefabInstance.name, tempLabel != null, tempBG != null, tempBtn != null, tempList != null);
            if (tempLabel == null && (tempBG != null && tempBtn != null))
            {
                GameObject tempObj = new GameObject("Name");
                tempObj.transform.SetParent(tempBG.transform.parent);
                tempObj.transform.localScale    = new Vector3(1, 1, 1);
                tempObj.transform.rotation      = Quaternion.identity;
                tempObj.transform.localPosition = Vector3.zero;
                UILabel label = tempObj.AddComponent <UILabel>();

                UIFont tempFont = (UIFont)AssetDatabase.LoadAssetAtPath("Assets/ArtResources/Font/FZZZHUNHJW.prefab", typeof(UIFont));
                label.bitmapFont = tempFont;
                label.text       = "Name";
                label.GetOrAddComponent <UIFontAuto>().fontID = 28;
                tempLabel = label.transform;
            }
            else
            {
                return;
            }
            //return;
        }
        tempBG.parent.transform.localPosition = Vector3.zero;
        Debug.Log("Success: " + prefabInstance.name + " : " + currencys.Length);
        SetBG(tempBG, prefabInstance);
        ReturnBtn(tempBtn, prefabInstance, tempBG);
        SetLabel(tempLabel, tempBG);

        SetList(tempList, tempBG);

        List <Transform> tempArray = new List <Transform>();

        for (int i = 0; i < currencys[0].transform.parent.childCount; i++)
        {
            if (currencys[0].transform.parent.GetChild(i).gameObject.activeSelf == false)
            {
                continue;
            }
            tempArray.Add(currencys[0].transform.parent.GetChild(i));
        }
        tempArray.Sort((a, b) => { return(b.transform.localPosition.x.CompareTo(a.transform.localPosition.x)); });

        for (int i = tempArray.Count - 1; i >= 0; i--)
        {
            if (i == 0)
            {
                tempArray[0].transform.localPosition = new Vector3(13, 0, 0);
            }
            if (i == 1)
            {
                tempArray[1].transform.localPosition = new Vector3(-250, 0, 0);
            }
            if (i == 2)
            {
                tempArray[2].transform.localPosition = new Vector3(-513, 0, 0);
            }
        }
        //return;

        //MoneyIcon[] currencys = prefabInstance.GetComponentsInChildren<MoneyIcon>();
        if (currencys.Length > 0)
        {
            foreach (var eachCurrency in currencys)
            {
                //重新排下
                //1.背景
                Sprite     spriteBg = (Sprite)AssetDatabase.LoadAssetAtPath("Assets/ArtResources/allArtRes_optimize_/Resources/Icon/CommonCurrency/Common_Zy.png", typeof(Sprite));
                UI2DSprite bgSprite = eachCurrency.GetComponent <UI2DSprite>();
                bgSprite.sprite2D = spriteBg;
                bgSprite.type     = UIBasicSprite.Type.Sliced;
                //x z
                //y w
                bgSprite.border = new Vector4(21f, 12f, 21f, 12f);

                UIWidget bgWidget = eachCurrency.GetComponent <UIWidget>();
                bgWidget.pivot  = UIWidget.Pivot.Left;
                bgWidget.depth  = 2;
                bgSprite.width  = 245;
                bgSprite.height = 48;

                //icon
                UI2DSprite iconSprite = eachCurrency.icon.GetComponent <UI2DSprite>();
                iconSprite.type = UIBasicSprite.Type.Simple;
                iconSprite.MakePixelPerfect();

                UIWidget iconWidget = eachCurrency.icon.GetComponent <UIWidget>();
                iconWidget.pivot = UIWidget.Pivot.Center;
                iconWidget.depth = 3;
                iconSprite.transform.localPosition = new Vector3(15f, 1f);

                //labelCount
                UIFont  lFont         = (UIFont)AssetDatabase.LoadAssetAtPath("Assets/ArtResources/Font/FZZZHUNHJW.prefab", typeof(UIFont));
                UILabel labelCurrency = eachCurrency.labelCount;
                labelCurrency.bitmapFont = lFont;
                labelCurrency.alignment  = NGUIText.Alignment.Center;
                labelCurrency.GetComponent <UIWidget>().pivot = UIWidget.Pivot.Center;
                labelCurrency.GetComponent <UIWidget>().depth = 60;
                //labelCurrency.fontSize = 23;
                //labelCurrency.spacingX = 0;

                labelCurrency.overflowMethod          = UILabel.Overflow.ResizeFreely;
                labelCurrency.transform.localPosition = new Vector3(130, 0f, 0);

                labelCurrency.GetOrAddComponent <UIFontAuto>().fontID = 38;

                //btnadd icon
                //1.背景

                if (eachCurrency.buttonAdd != null)//有的没有add按钮
                {
                    UI2DSprite addIconSprite = eachCurrency.buttonAdd.GetComponent <UI2DSprite>();
                    Sprite     spriteAddIcon = (Sprite)AssetDatabase.LoadAssetAtPath("Assets/ArtResources/allArtRes_optimize_/Resources/Icon/CommonCurrency/Common_Btn_Add.png", typeof(Sprite));
                    addIconSprite.sprite2D = spriteAddIcon;
                    addIconSprite.type     = UIBasicSprite.Type.Simple;
                    addIconSprite.MakePixelPerfect();

                    UIWidget addBtnWidget = eachCurrency.buttonAdd.GetComponent <UIWidget>();
                    addBtnWidget.pivot = UIWidget.Pivot.Center;
                    addBtnWidget.depth = 3;
                    addIconSprite.transform.localPosition = new Vector3(222.6f, 0.9f, 0f);
                }
            }
        }
    }