IOS
using UnityEngine; using System.Collections; public class BaseClass : ScriptableObject { public string Name; public int Age; }
using UnityEngine; using System.Collections; using UnityEditor; public class BuildBundles { [MenuItem("Menu/BuildScript")] static void Build () { BaseClass bClass = ScriptableObject.CreateInstance<BaseClass> (); bClass.Name = "LadyGaga"; bClass.Age = 18; AssetDatabase.CreateAsset (bClass, "Assets/BaseClass.asset"); Object obj = AssetDatabase.LoadAssetAtPath ("Assets/BaseClass.asset", typeof(BaseClass)); BuildPipeline.BuildAssetBundle (obj, null, "Assets/BaseClass.assetbundle", BuildAssetBundleOptions.CollectDependencies | BuildAssetBundleOptions.CompleteAssets, BuildTarget.iPhone); } }
using UnityEngine; using System.Collections; using System.IO; public class LoadBundle : MonoBehaviour { string Name; int Age; bool isClick; void OnGUI () { if (GUI.Button (new Rect (0, 0, 100, 50), "Down")) { StartCoroutine (DowmBundle ()); } if (GUI.Button (new Rect (0, 55, 100, 50), "Load")) { StartCoroutine (LoadScript ()); } if (isClick == true) { GUI.TextArea (new Rect (0, 110, 100, 100), Name + Age); } } IEnumerator DowmBundle () { //string url = Application.streamingAssetsPath + "/BaseClass.assetbundle"; //string url = "fill://" + Application.persistentDataPath + "/BaseClass.assetbundle"; string url = "file://" + Application.dataPath + "/Raw/BaseClass.assetbundle"; WWW www = new WWW (url); yield return www; // BaseClass bClass = www.assetBundle.mainAsset as BaseClass; // Name = bClass.Name; // Age = bClass.Age; // Debug.Log (Name); // Debug.Log (Age); // isClick = true; byte[] downBytes = www.bytes; File.WriteAllBytes (Application.persistentDataPath + "/BaseClass.assetBundle", downBytes); } IEnumerator LoadScript () { string url = "file://" + Application.persistentDataPath + "/BaseClass.assetBundle"; WWW www = new WWW (url); yield return www; BaseClass bClass = www.assetBundle.mainAsset as BaseClass; Name = bClass.Name; Age = bClass.Age; Debug.Log (Name); Debug.Log (Age); isClick = true; } }