예제 #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));
        }
예제 #2
0
        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);
        }