using UnityEngine; using System.Collections; using System.IO; using System.Globalization; namespace uSrcTools { public class ConvertUtils { public static Vector3 StringToVector(string input) { Vector3 origin = Vector3.zero; string[] posStrings = input.Split(new char[]{' '}); if(posStrings.Length<3) Debug.LogError("String "+input+" is not Vector3"); try{ origin = new Vector3(floatParse(posStrings[0]),floatParse(posStrings[2]),floatParse(posStrings[1]))*SourceImportConfig.WorldScale; } catch(System.FormatException e) { Debug.LogError("StringToVector error "+e.Message); origin = Vector3.zero; } return origin; } public static Vector2 ReadVector2 (BinaryReader BR) { return new Vector2 (BR.ReadSingle(), BR.ReadSingle()); } public static Vector3 ReadVector3 (BinaryReader BR) { return new Vector3 (BR.ReadSingle(), BR.ReadSingle(), BR.ReadSingle()); } public static Vector4 ReadVector4 (BinaryReader BR) { return new Vector4 (BR.ReadSingle(), BR.ReadSingle(), BR.ReadSingle(), BR.ReadSingle()); } public static Quaternion ReadQuat (BinaryReader BR) { return new Quaternion (BR.ReadSingle(), BR.ReadSingle(), BR.ReadSingle(), BR.ReadSingle()); } public static void WriteVector3(BinaryWriter bw, Vector3 v) { bw.Write (v.x); bw.Write (v.y); bw.Write (v.z); } public static void WriteVector2(BinaryWriter bw, Vector2 v) { bw.Write (v.x); bw.Write (v.y); } public static string ReadNullTerminatedString(BinaryReader br, int offset) { br.BaseStream.Seek (offset, SeekOrigin.Begin); return ReadNullTerminatedString (br); } public static string ReadNullTerminatedString(BinaryReader br) { string str = ""; while (true) { char c=br.ReadChar(); if(c=='\0')break; str+=c; } return str; } public static string GetNullTerminatedString(char[] src, int offs) { string str = ""; for(int i=offs;i