Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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));
        }