Esempio n. 1
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);
		}
		public void CreateEngine (Cartridge cart)
		{
			if (engine != null)
				DestroyEngine ();

			var helper = new iOSPlatformHelper ();
			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);

			engine.Init (new FileStream (cart.Filename,FileMode.Open), cart);
		}