Beispiel #1
0
        /// <summary>
        /// 全屏时,w,h无效
        /// </summary>
        public HeroPhoto(ref RawImage image, int resId, PhotoType type, int w = 2048, int h = 2048, bool bFullScreen = false)
        {
            if (Application.isEditor)
            {
                image.material.shader = Shader.Find(image.material.shader.name);
            }
            Debug.Log("打开玩家展示:" + resId);
            m_bFullScreen = bFullScreen;
            if (bFullScreen)
            {
                RectTransform rect = image.GetComponent <RectTransform>();
                rect.anchorMax        = Vector2.one;
                rect.anchorMin        = Vector2.zero;
                rect.anchoredPosition = Vector2.zero;
                rect.sizeDelta        = Vector2.zero;
            }

            m_resId      = resId;
            m_photoImage = image;
            m_type       = type;
            m_w          = w;
            m_h          = h;

            UIHeroShowEffectCsv showEffectCsv = CsvManager.Inst.GetCsv <UIHeroShowEffectCsv>((int)eAllCSV.eAC_UIHeroShowEffect);

            m_showEffectData = showEffectCsv.GetData((int)m_resId);

            OnCreateEnv();

            if (type == PhotoType.uieffect)
            {
                OnCreateEnterPhoto("born");
            }
            else
            {
                // 先加载预加载再创建
                if (m_showEffectData == null)
                {
                    return;
                }
                LoadPre(m_showEffectData, () =>
                {
                    if (m_photoObject == null)
                    {
                        return;
                    }
                    OnCreateUI();
                    OnEnter();
                });
            }
            HeroPhotoMgr.Inst.Add(this);
        }