/// <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); }