public static void Append(this StringBuilder builder, FixedString4096 fixedString)
 {
     foreach (var c in fixedString)
     {
         builder.Append((char)c.value);
     }
 }
Exemple #2
0
        public unsafe bool WriteFixedString4096(FixedString4096 str)
        {
            int   length = (int)*((ushort *)&str) + 2;
            byte *data   = ((byte *)&str);

            return(WriteBytes(data, length));
        }
Exemple #3
0
        public unsafe bool WritePackedFixedString4096Delta(FixedString4096 str, FixedString4096 baseline, NetworkCompressionModel model)
        {
            ushort length = *((ushort *)&str);
            byte * data   = ((byte *)&str) + 2;

            return(WritePackedFixedStringDelta(data, length, ((byte *)&baseline) + 2, *((ushort *)&baseline), model));
        }
Exemple #4
0
        /**
         * Deserialize a string view into the string buffer
         */
        JsonKeyHandle DeserializeToStringBuffer(SerializedStringView stringView)
        {
            FixedString4096 fs = default;

            fs.Append(stringView.ToString());
            m_StringBuffer.Add(fs);
            return(new JsonKeyHandle(ref this, JsonValueType.String, m_StringBuffer.Length - 1));
        }
        public unsafe void PushValueField(FixedString128 key, FixedString4096 value)
        {
            AddCommaIfRequired();
            ValidateInObject();
            FixedString128 str = $"\"{key}\": \"{value}\"";

            m_Buffer.Append(str.GetUnsafePtr(), str.Length);
        }
Exemple #6
0
        public unsafe FixedString4096 ReadPackedFixedString4096Delta(FixedString4096 baseline, NetworkCompressionModel model)
        {
            FixedString4096 str;
            byte *          data = ((byte *)&str) + 2;

            *(ushort *)&str = ReadPackedFixedStringDelta(data, str.Capacity, ((byte *)&baseline) + 2, *((ushort *)&baseline), model);
            return(str);
        }
Exemple #7
0
 TinyJsonObject(FixedString4096 value)
 {
     this        = default;
     Type        = JsonValueType.String;
     m_StringVal = new UnsafeList <FixedString4096>(1, Allocator.Persistent)
     {
         value
     };
 }
        public unsafe int PushValueToArray(FixedString4096 value)
        {
            AddCommaIfRequired();
            ValidateInArray();
            int             index = m_Stack.Peek();
            FixedString4096 str   = $"\"{value}\"";

            m_Buffer.Append(str.GetUnsafePtr(), str.Length);
            m_Stack.IncrementTop();
            return(index);
        }
    public static FixedString4096 NativeArrayToString <T>(NativeArray <T> arr) where T : unmanaged
    {
        var str = new FixedString4096();

        foreach (var val in arr)
        {
            str.Append(val.ToString());
            str.Append("\n");
        }

        return(str);
    }
Exemple #10
0
        public void ReadWriteFixedString4096()
        {
            var dataStream = new DataStreamWriter(300 * 4, Allocator.Temp);

            var src = new FixedString4096("This is a string");

            dataStream.WriteFixedString4096(src);

            //Assert.AreEqual(src.LengthInBytes+2, dataStream.Length);

            var reader = new DataStreamReader(dataStream.AsNativeArray());
            var dst    = reader.ReadFixedString4096();

            Assert.AreEqual(src, dst);
        }
Exemple #11
0
        public void ReadWritePackedFixedString4096Delta()
        {
            var dataStream       = new DataStreamWriter(300 * 4, Allocator.Temp);
            var compressionModel = new NetworkCompressionModel(Allocator.Temp);

            var src      = new FixedString4096("This is a string");
            var baseline = new FixedString4096("This is another string");

            dataStream.WritePackedFixedString4096Delta(src, baseline, compressionModel);
            dataStream.Flush();

            //Assert.LessOrEqual(dataStream.Length, src.LengthInBytes+2);

            var reader = new DataStreamReader(dataStream.AsNativeArray());
            var dst    = reader.ReadPackedFixedString4096Delta(baseline, compressionModel);

            Assert.AreEqual(src, dst);
        }
Exemple #12
0
        public static unsafe FixedString4096 FormatGeneric(string format, object[] args)
        {
            FixedString128 *fargs   = stackalloc FixedString128[8];
            FixedString512  fformat = format;

            if (args != null)
            {
                for (int i = 0; i < args.Length; ++i)
                {
                    fargs[i] = MessageObjectToString(args[i]);
                }
            }

            FixedString4096 result = default;

            result.AppendFormat(fformat, fargs[0], fargs[1], fargs[2], fargs[3], fargs[4], fargs[5], fargs[6], fargs[7]);
            return(result);
        }
 public EcsTestDataHuge(FixedString4096 inValue)
 {
     value4 = value3 = value2 = value1 = value0 = inValue;
 }
Exemple #14
0
 // We just write everything to Console
 internal static void LogOutputString(FixedString4096 message)
 {
     // NB -- need ToString() here because UnityEngine.Debug API requires an object of a type it understands
     UnityEngine.Debug.Log(message.ToString());
 }
Exemple #15
0
 public static void LogReleaseAlways(FixedString4096 log)
 {
     LogOutputString(log);
 }
Exemple #16
0
 public static void Text(FixedString4096 text, float4x4 transform, Color color) => Unmanaged.Instance.Data.Font.Value.Draw(text, transform, color);
Exemple #17
0
 public unsafe void Draw(FixedString4096 text, Matrix4x4 transform, Color color) => Draw(text.GetUnsafePtr(), text.Length, transform, color);