void Start() { synchronizedInvoke = new DeferredSynchronizeInvoke(); loader = new CSharpCompiler.ScriptBundleLoader(synchronizedInvoke); loader.logWriter = new UnityLogTextWriter(); loader.createInstance = (Type t) => { if (typeof(Component).IsAssignableFrom(t)) { return(this.gameObject.AddComponent(t)); } else { return(System.Activator.CreateInstance(t)); } }; loader.destroyInstance = (object instance) => { if (instance is Component) { Destroy(instance as Component); } }; }
void Start() { synchronizedInvoke = new DeferredSynchronizeInvoke(); loader = new CSharpCompiler.ScriptBundleLoader(synchronizedInvoke); loader.logWriter = new UnityLogTextWriter(); loader.createInstance = (Type t) => { if (typeof(Component).IsAssignableFrom(t)) { return(this.gameObject.AddComponent(t)); } else { return(System.Activator.CreateInstance(t)); } }; loader.destroyInstance = (object instance) => { if (instance is Component) { Destroy(instance as Component); } }; loader.LoadAndWatchScriptsBundle(new[] { Application.streamingAssetsPath + "/BasicExampleScript.cs", Application.streamingAssetsPath + "/TestScript.cs" }); }
void Awake() { synchronizedInvoke = new DeferredSynchronizeInvoke(); loader = new CSharpCompiler.ScriptBundleLoader(synchronizedInvoke); loader.logWriter = new UnityLogTextWriter(); }
void Start() { synchronizedInvoke = new DeferredSynchronizeInvoke(); loader = new CSharpCompiler.ScriptBundleLoader(synchronizedInvoke); loader.logWriter = new UnityLogTextWriter(); loader.createInstance = (Type t) => { if (typeof(Component).IsAssignableFrom(t)) return this.gameObject.AddComponent(t); else return System.Activator.CreateInstance(t); }; loader.destroyInstance = (object instance) => { if (instance is Component) Destroy(instance as Component); }; }