/// <summary> /// Creates an instance of Engine for the current platform /// </summary> /// <returns></returns> public static Engine CreateEngine() { // Chooses one of the standard platform helpers. IPlatformHelper platform = null; #if WINDOWS_PHONE platform = new WinPhonePlatformHelper(); #elif __ANDROID__ platform = new AndroidPlatformHelper(null); #elif __IOS__ platform = new iOSPlatformHelper(); #else platform = new DefaultPlatformHelper() #endif // Creates a new Engine for the platform. return new Engine(platform); }
/// <summary> /// Creates the engine and sets all event handlers. /// </summary> /// <returns>The engine.</returns> /// <param name="cart">Cart.</param> public void CreateEngine (Cartridge cart) { var helper = new AndroidPlatformHelper(ApplicationContext); helper.Ctrl = this; engine = new Engine (helper); // Set all events for engine engine.AttributeChanged += OnAttributeChanged; engine.InventoryChanged += OnInventoryChanged; engine.ZoneStateChanged += OnZoneStateChanged; engine.CartridgeCompleted += OnCartridgeComplete; engine.InputRequested += OnGetInput; engine.LogMessageRequested += OnLogMessage; engine.PlayAlertRequested += OnPlayAlert; engine.PlayMediaRequested += OnPlayMedia; engine.SaveRequested += OnSaveCartridge; engine.ShowMessageBoxRequested += OnShowMessageBox; engine.ShowScreenRequested += OnShowScreen; engine.ShowStatusTextRequested += OnShowStatusText; engine.StopSoundsRequested += OnStopSound; // If there is a old logFile, close it if (logFile != null) { logFile.Flush (); logFile.Close (); } // Open logFile first time logFile = new StreamWriter(cart.LogFilename, true, System.Text.Encoding.UTF8); logFile.AutoFlush = true; // Open GPX file for the first time // if (!String.IsNullOrEmpty(cartridge.GpxFilename)) { // // Create new Gpx object // gpxFile = new GpxClass (); // // if (File.Exists (cartridge.SaveFilename)) { // // Get existing data // gpxFile.FromFile (cartridge.SaveFilename); // if (gpxFile.trk == null) // gpxFile.trk = new trkTypeCollection (); // } else { // // Create new Gpx file // gpxFile.metadata = new metadataType () { // author=new personType(){name=WindowsIdentity.GetCurrent().Name}, // link=new linkTypeCollection().AddLink(new linkType(){ href="www.BlueToque.ca", text="Blue Toque Software" }) // }; // gpxFile.trk = new trkTypeCollection (); // } // Create new track segment // gpxFile.trk.trksgt = new trksegTypeCollection (); // gpxFile.trk.trksgt // } engine.Init (new FileStream (cart.Filename,FileMode.Open), cart); }