public static void StoreObject(StringWriterEx str, GameObject obj) { Component[] components = obj.GetComponents <Component>(); str.WriteLine(obj.activeSelf); str.WriteLine(components.Length); foreach (Component c in components) { str.WriteLine(c.GetType().Name); if (c is Behaviour) { str.WriteLine((c as Behaviour).enabled); } else { str.WriteLine("true"); } StoreComponent(str, c); //StoreClass<Component>(str,c); } }
public override void Save(StringWriterEx str, object obj) { Rigidbody2D r = obj as Rigidbody2D; str.WriteLine(r.isKinematic); str.WriteLine(r.gravityScale); }
public override void Save(StringWriterEx str, object obj) { Transform tr = obj as Transform; str.WriteLine(tr.position); str.WriteLine(tr.localScale); str.WriteLine(tr.rotation.eulerAngles); }
public override void Save(StringWriterEx str, object obj) { Animator a = obj as Animator; AnimatorStateInfo s = a.GetCurrentAnimatorStateInfo(0); str.WriteLine(s.nameHash); str.WriteLine(s.normalizedTime); }
public static void GenerateReportToHttpResponseAsZipArchive(IEnumerable <ReportParameters> parametersCollection, string zipFileName, Encoding encoding) { if (parametersCollection == null) { throw new ArgumentNullException("parametersCollection"); } HttpContext context = HttpContext.Current; if (context == null) { throw new InvalidOperationException("HttpContext is not present."); } HttpResponse resp = context.Response; resp.Clear(); //resp.ContentEncoding = encoding; try { ZipFile zf = new ZipFile(); foreach (ReportParameters parameters in parametersCollection) { StringWriterEx sw = new StringWriterEx(encoding); GenerateReport(parameters, sw); zf.AddFileWithContent(parameters.TargetFilePathParts, sw.ToString(), encoding); } parametersCollection = null; byte[] zipBytes = zf.SaveToBytes(); resp.BinaryWrite(zipBytes); if (context.Request.Browser.Browser == "IE") { resp.ContentType = ContentTypes.OctetStream; } else { resp.ContentType = ContentTypes.Zip; } if (string.IsNullOrEmpty(zipFileName) == false) { AddContentDispositionHeader(zipFileName); } } catch (Exception) { resp.Clear(); throw; } resp.End(); }
public static void Checkpoint() { StringWriterEx str = new StringWriterEx(); EnemyShipController[] enemies = GameObject.FindObjectsOfType <EnemyShipController>(); str.WriteLine(enemies.Length); foreach (EnemyShipController es in enemies) { //EnemyShipController es = enemy.GetComponent<EnemyShipController>(); Debug.Log("Save: storing " + es.PrefabName); str.WriteLine(es.PrefabName); //str.WriteLine(es.transform.position); //StoreClass<EnemyShipController>(str,es); ObjectSerializer.StoreObject(str, es.gameObject); } PlanetController planet = GameObject.FindGameObjectWithTag("Planet").GetComponent <PlanetController>(); ObjectSerializer.StoreObject(str, planet.gameObject); ObjectSerializer.StoreObject(str, planet.Gun.gameObject); UIController ui = GameObject.Find("UICanvas").GetComponent <UIController>(); ObjectSerializer.StoreComponent(str, ui.HpBar); ObjectSerializer.StoreComponent(str, ui.Score); ObjectSerializer.StoreComponent(str, planet.Multiplier.Indicator); EnemyGeneratorController eg = GameObject.Find("EnemyGenerator").GetComponent <EnemyGeneratorController>(); ObjectSerializer.StoreComponent(str, eg); StageController[] stages = eg.GetComponentsInChildren <StageController>(true); foreach (StageController s in stages) { ObjectSerializer.StoreObject(str, s.gameObject); } StreamWriter log = new StreamWriter("g:/unity-dev/OrbitalDefender/log.txt", false); log.WriteLine(str.ToString()); log.Close(); PlayerPrefs.SetString(CheckpointName, str.ToString()); }
public static StringBuilder AsJson <T>(T input, JsonSerializerSettings settings, bool newLineEscapingDisabled) { var serializer = JsonSerializer.Create(settings); var builder = new StringBuilder(); using var stringWriter = new StringWriterEx(builder, newLineEscapingDisabled); using var writer = new JsonTextWriter(stringWriter) { QuoteChar = QuoteChar, QuoteName = false }; serializer.Serialize(writer, input); return(builder); }
public virtual void Save(StringWriterEx str, object obj) { Type t = obj.GetType(); var fields = t.GetFields(getFieldFlags).Where(f => f.GetCustomAttributes(typeof(StoreThis), true).Length > 0).ToArray(); str.WriteLine(fields.Length); //Debug.Log(" > Class has "+fields.Length+" fields"); foreach (FieldInfo f in fields) { str.WriteLine(f.Name); str.WriteLine(StoreBase.SaveField(f, obj)); } }
public static void StoreComponent(StringWriterEx str, Component c) { GetClassSerializer(c).Save(str, c); }
public static void GenerateReportToHttpResponseAsZipArchive(IEnumerable<ReportParameters> parametersCollection, string zipFileName, Encoding encoding) { if (parametersCollection == null) throw new ArgumentNullException("parametersCollection"); HttpContext context = HttpContext.Current; if (context == null) throw new InvalidOperationException("HttpContext is not present."); HttpResponse resp = context.Response; resp.Clear(); //resp.ContentEncoding = encoding; try { ZipFile zf = new ZipFile(); foreach (ReportParameters parameters in parametersCollection) { StringWriterEx sw = new StringWriterEx(encoding); GenerateReport(parameters, sw); zf.AddFileWithContent(parameters.TargetFilePathParts, sw.ToString(), encoding); } parametersCollection = null; byte[] zipBytes = zf.SaveToBytes(); resp.BinaryWrite(zipBytes); if (context.Request.Browser.Browser == "IE") resp.ContentType = ContentTypes.OctetStream; else resp.ContentType = ContentTypes.Zip; if (string.IsNullOrEmpty(zipFileName) == false) AddContentDispositionHeader(zipFileName); } catch (Exception) { resp.Clear(); throw; } resp.End(); }