123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using UnityEngine;
- namespace FacilityFlag
- {
- public static class Util
- {
- public static bool ToBoolean(BinaryReader br)
- {
- return br.ReadBoolean();
- }
- public static byte ToByte(BinaryReader br)
- {
- return br.ReadByte();
- }
- public static short ToInt16(BinaryReader br)
- {
- return br.ReadInt16();
- }
- public static int ToInt32(BinaryReader br)
- {
- return br.ReadInt32();
- }
- public static long ToInt64(BinaryReader br)
- {
- return br.ReadInt64();
- }
- public static char ToChar(BinaryReader br)
- {
- return br.ReadChar();
- }
- public static decimal ToDecimal(BinaryReader br)
- {
- return br.ReadDecimal();
- }
- public static double ToDouble(BinaryReader br)
- {
- return br.ReadDouble();
- }
- public static float ToSingle(BinaryReader br)
- {
- return br.ReadSingle();
- }
- public static string ToString(BinaryReader br)
- {
- return br.ReadString();
- }
- public static ushort ToUInt16(BinaryReader br)
- {
- return br.ReadUInt16();
- }
- public static uint ToUInt32(BinaryReader br)
- {
- return br.ReadUInt32();
- }
- public static ulong ToUInt64(BinaryReader br)
- {
- return br.ReadUInt64();
- }
- public static SimpleExperienceSystem ToSimpleExp(BinaryReader br)
- {
- SimpleExperienceSystem simpleExperienceSystem = new SimpleExperienceSystem();
- simpleExperienceSystem.Deserialize(br, 0);
- return simpleExperienceSystem;
- }
- public static byte[] GetBytes(string value)
- {
- byte[] bytes = Encoding.UTF8.GetBytes(value);
- int value2 = bytes.Length;
- byte[] array = Util.CreatePrefix(value2);
- return Util.AppendBuffer(new Array[]
- {
- array,
- bytes
- });
- }
- public static byte[] GetBytes(float value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(ulong value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(uint value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(ushort value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(long value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(double value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(short value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(char value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(bool value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(int value)
- {
- return BitConverter.GetBytes(value);
- }
- public static byte[] GetBytes(SimpleExperienceSystem simpleExp)
- {
- byte[] result;
- try
- {
- using (MemoryStream memoryStream = new MemoryStream())
- {
- using (BinaryWriter binaryWriter = new BinaryWriter(memoryStream))
- {
- simpleExp.Serialize(binaryWriter);
- }
- byte[] array = memoryStream.ToArray();
- result = array;
- }
- }
- catch
- {
- result = new byte[0];
- }
- return result;
- }
- public static byte[] CreatePrefix(int value)
- {
- List<byte> prefixBytes = new List<byte>();
- byte b = 0;
- Action f = null;
- f = delegate
- {
- b = (byte)(value & 127);
- value >>= 7;
- b |= ((value <= 0) ? 0 : 128);
- prefixBytes.Add(b);
- if ((b & 128) > 0)
- {
- f();
- }
- };
- f();
- return prefixBytes.ToArray();
- }
- public static int GetPrefix(byte[] buffer, long readStartPos)
- {
- Func<int, int> f = null;
- byte b = 0;
- f = delegate(int callCount)
- {
- b = buffer[(int)(checked((IntPtr)(unchecked(readStartPos + (long)callCount))))];
- int num = (int)(b & 127);
- num <<= callCount * 7;
- if ((b & 128) == 128)
- {
- num += f(callCount + 1);
- }
- return num;
- };
- return f(0);
- }
- public static int GetPrefix(Stream stream, long readStartPos, bool isEnableSeek = false)
- {
- long position = stream.Position;
- Func<int, int> f = null;
- byte b = 0;
- f = delegate(int callCount)
- {
- b = (byte)stream.ReadByte();
- int num = (int)(b & 127);
- num <<= callCount * 7;
- if ((b & 128) == 128)
- {
- num += f(callCount + 1);
- }
- return num;
- };
- int result = f(0);
- if (!isEnableSeek)
- {
- stream.Seek(position, SeekOrigin.Begin);
- }
- return result;
- }
- public static byte[] AppendBuffer(params Array[] bufferArray)
- {
- try
- {
- long num = 0L;
- for (int i = 0; i < bufferArray.Length; i++)
- {
- num += ((byte[])bufferArray[i]).LongLength;
- }
- byte[] array = new byte[num];
- int num2 = 0;
- for (int j = 0; j < bufferArray.Length; j++)
- {
- Buffer.BlockCopy(bufferArray[j], 0, array, num2, bufferArray[j].Length);
- num2 += bufferArray[j].Length;
- }
- return array;
- }
- catch (Exception message)
- {
- Debug.LogError(message);
- }
- return null;
- }
- }
- }
|