annotate Assets/Application/Scripts/ConvertObject.cs @ 2:ca28bf83fc89

Add ConvertObject
author Kazuma
date Mon, 07 Nov 2016 02:05:00 +0900
parents
children 2878be4487ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
1 using UnityEngine;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
2 using System.Collections;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
3 using System;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
4 using System.Runtime.Serialization.Formatters.Binary;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
5 using System.IO;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
6 public class ConvertObject : MonoBehaviour {
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
7
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
8 public static byte[] Convert (object target) {
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
9 BinaryFormatter bf = new BinaryFormatter();
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
10 using (var ms = new MemoryStream())
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
11 {
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
12 bf.Serialize(ms, target);
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
13 return ms.ToArray();
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
14 }
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
15 }
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
16
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
17 public static object UnConvert(byte[] target) {
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
18 using (var memStream = new MemoryStream())
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
19 {
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
20 var binForm = new BinaryFormatter();
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
21 memStream.Write(target, 0, target.Length);
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
22 memStream.Seek(0, SeekOrigin.Begin);
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
23 return binForm.Deserialize(memStream) as object;
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
24 }
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
25 }
ca28bf83fc89 Add ConvertObject
Kazuma
parents:
diff changeset
26 }