Exemplo n.º 1
0
        public static int Display(int luaObjID, int[] icids, float scale, Vector3 targetPos, float offsetX, bool hasScale)
        {
            if (icids == null)
            {
                return(-1);
            }
            int index = 0;

            Example.PackItem item;
            for (int i = 0, count = icids.Length; i < count; i++)
            {
                if (pack_data.TryGetValue(icids[i], out item))
                {
                    items[index] = item;
                    index++;
                }
            }
            Vector3 initPos = new Vector3(targetPos.x, targetPos.y + m_fYOffset, targetPos.z + m_fZOffset);

            display_size.x = scale;
            display_size.y = scale;

            GPUBillboardBuffer_S.Instance().DisplayNumber(luaObjID, camObjID, items, index, display_size, initPos, Color.white, hasScale, offsetX);

            return(0);
        }
Exemplo n.º 2
0
 public static void Init(string fileName, uint maxSize, int _standardItem)
 {
     standardItem = _standardItem;
     GPUBillboardBuffer_S.InitInstance(maxSize);
     LoadComparison(fileName + "_comparison.zl", fileName);
     LoadTexture(fileName);
 }
Exemplo n.º 3
0
        public static void SetLayer(string layerName)
        {
            GPUBillboardBuffer_S gbs = GPUBillboardBuffer_S.Instance();

            if (gbs)
            {
                gbs.SetLayer(layerName);
            }
        }
Exemplo n.º 4
0
        public static void SetConfig(float[] configs)
        {
            GPUBillboardBuffer_S gbs = GPUBillboardBuffer_S.Instance();

            if (gbs)
            {
                gbs.SetConfigs(configs);
            }
        }
Exemplo n.º 5
0
 public static void InitInstance(uint maxSize)
 {
     if (instance == null)
     {
         mGameObject = new GameObject("GPUBillboardBuffer_S");
         Object.DontDestroyOnLoad(mGameObject);
         instance = mGameObject.AddComponent <GPUBillboardBuffer_S>();
         instance.Init(maxSize);
     }
 }
Exemplo n.º 6
0
        private static void EndLoadTex(UnityEngine.Object asset, object param)
        {
            if (asset == null)
            {
                return;
            }
            Texture tex = (Texture)asset;

            GPUBillboardBuffer_S.Instance().SetTexture(tex);
        }
Exemplo n.º 7
0
        private static void EndLoadData(byte[] data, object param)
        {
            if (data == null)
            {
                return;
            }

            Dictionary <string, List <string> > comparison = (Dictionary <string, List <string> >)param;

            System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
            packInfo = TexturePacker.Deserialize(ms);

            Dictionary <string, int> dic = new Dictionary <string, int>();

            for (int i = 0, count = packInfo.Names.Count; i < count; i++)
            {
                dic.Add(packInfo.Names[i], i);
            }

            packInfo.Names.Clear();

            Dictionary <string, List <string> > .Enumerator e = comparison.GetEnumerator();
            while (e.MoveNext())
            {
                if (e.Current.Value != null && e.Current.Value.Count > 0)
                {
                    int key = int.Parse(e.Current.Key);
                    int v;
                    if (dic.TryGetValue(e.Current.Value[0], out v))
                    {
                        pack_data.Add(key, packInfo.Items[v]);
                    }
                }
            }

            packInfo.Items.Clear();
            packInfo = null;

            Example.PackItem item;
            if (pack_data.TryGetValue(standardItem, out item))
            {
                GPUBillboardBuffer_S.SetStandardWH(item.Width, item.Height);
            }
            else
            {
                Debug.LogError("gpu display text standard item id is invalid->" + standardItem);
            }
        }
Exemplo n.º 8
0
        private IEnumerator DoLoadScene(string scene)
        {
            if (!alive)
            {
                yield break;
            }
            yield return(new WaitForEndOfFrame());

            //begin load scene clear
            GPUBillboardBuffer_S.Instance().OnLeaveStage();

            AsyncOperation asy = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(scene);

            yield return(asy);

            Time.timeScale = 1;
        }