/// <summary> /// Creates an new playable instance of a realm. /// </summary> /// <param name="site">The Guncho server.</param> /// <param name="realm">The realm to instantiate.</param> /// <param name="zfile">The compiled realm file.</param> /// <param name="name">The unique name of the instance.</param> /// <param name="logger">The logger.</param> public FyreVMInstance(IInstanceSite site, Realm realm, Stream zfile, string name, ILogger logger) { this.site = site; this.realm = realm; this.zfile = zfile; this.name = name; this.logger = logger; this.io = new RealmIO(this); this.vm = new Engine(zfile); vm.MaxHeapSize = Properties.Settings.Default.MaxHeapSize; vm.OutputReady += io.FyreOutputReady; vm.KeyWanted += io.FyreKeyWanted; vm.LineWanted += io.FyreLineWanted; }
public override IInstance LoadInstance(IInstanceSite site, Realm realm, string name, ILogger logger) { FileStream stream = new FileStream(realm.StoryFile, FileMode.Open, FileAccess.Read); return(new FyreVMInstance(site, realm, stream, name, logger)); }
public abstract IInstance LoadInstance(IInstanceSite site, Realm realm, string name, ILogger logger);