コード例 #1
0
        public void SetSDFData(UIForiaData data, StructList <Matrix4x4> matrices)
        {
            Array.Copy(matrices.array, 0, transformData, 0, matrices.size);
            Array.Copy(data.colors.array, 0, colorData, 0, data.colors.size);
            Array.Copy(data.objectData0.array, 0, objectData, 0, data.objectData0.size);
            Array.Copy(data.clipRects.array, 0, clipRects, 0, data.clipRects.size);

            matBlock.SetMatrixArray(s_TransformDataKey, transformData);
            matBlock.SetVectorArray(s_ColorDataKey, colorData);
            matBlock.SetVectorArray(s_ObjectDataKey, objectData);
            matBlock.SetVectorArray(s_ClipRectKey, clipRects);
            matBlock.SetFloat(s_DPIScaleKey, 1f / Application.dpiScaleFactor);
            if (data.mainTexture != null)
            {
                material.SetTexture(s_MainTextureKey, data.mainTexture);
            }

            if (data.clipTexture != null)
            {
                material.SetTexture(s_ClipTextureKey, data.clipTexture);
            }

            if (data.fontData.fontAsset != null)
            {
                FontData fontData = data.fontData;
                matBlock.SetVector(s_FontDataScales, new Vector4(fontData.gradientScale, fontData.scaleRatioA, fontData.scaleRatioB, fontData.scaleRatioC));
                matBlock.SetVector(s_FontTextureSize, new Vector4(fontData.textureWidth, fontData.textureHeight, 0, 0));
                matBlock.SetTexture(s_FontTexture, fontData.fontAsset.atlas);
            }
        }
コード例 #2
0
ファイル: UIForiaData.cs プロジェクト: veboys/UIForia
 public static void Release(ref UIForiaData data)
 {
     if (data == null || !data.isActive)
     {
         return;
     }
     data.isActive = false;
     data.Clear();
     s_Pool.Add(data);
     data = null;
 }
コード例 #3
0
ファイル: UIForiaData.cs プロジェクト: veboys/UIForia
        public static UIForiaData Get()
        {
            UIForiaData retn = null;

            if (s_Pool.size > 0)
            {
                retn = s_Pool.RemoveLast();
            }
            else
            {
                retn = new UIForiaData();
            }

            retn.isActive = true;
            return(retn);
        }